Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Um Übersetzungen zu definieren, können Sie für die verschiedenen Sprachen nach dem ISO_639-1 Standard im Ordner languages verschiedene (language).xml Dateien anlegen. Diese werden während einer Installation zunächst ausgelesen und in die Tabelle Übersetzungen importiert. 

...

myplugin/languages/de.xml
Codeblock
languagephp
<?xml version="1.0" encoding="UTF-8"?>
<body>
  <group>
    <text id="Meine Überschrift">Meine Überschrift mit dem Identifikator "Meine Überschrift"</text>
    <text id="Mein Text mit HTML"><![CDATA[Mein Text mit einem <br /><strong>HTML-Umbruch</strong>]]></text>
  </group>
</body>
Codeblock
languagephp
themeRDark
title
myplugin/languages/en.xml
Codeblock
languagephp
<?xml version="1.0" encoding="UTF-8"?>
<body>
  <group>
    <text id="Meine Überschrift">My headline with the identificator "Meine Überschrift"</text>
    <text id="Mein Text mit HTML"><![CDATA[My text with a <br /><strong>HTML line break</strong>]]></text>
  </group>
</body>

...

Nachdem Sie einen Text in den language.xml-Dateien definiert haben und dieser in die Datenbank geladen wurde, können Sie diese in den Views verwenden.

myview.hbs
Codeblock
languagephp
themeRDark
titlemyview.hbs
<div>
  <h2>{{i18n "featureappName:packageNamespace/mypluginpackageName" "Meine Überschrift"}}</h2>
  <p>
    {{{i18n "featureappName:packageNamespace/mypluginpackageName" "Mein Text mit HTML"}}}
  </p>
</div>

...

Wenn sie Meldungen, wie zum Beispiel Validierungsfehler, übersetzen möchten, fügen Sie Ihrer (language).xml folgende Einträge hinzu:

de.xml
Codeblock
languagephp
themeRDark
titlede.xml
<text id="x-brandbox-invalid-something">Fehler something trat auf.</text>
<text id="x-brandbox-info-something">Zur Info: something is happening...</text>
<text id="x-brandbox-success-something">Something wurde erfolgreich ausgeführt.</text>
<text id="x-brandbox-my-very-own-header">Auch mein eigener Header kann übersetzt werden.</text>

...

Die Tabelle Übersetzungen wird innerhalb der Administrationsoberfläche unter "Administration" > "Übersetzungen" > "Übersetzungen" aufgerufen. Hier werden alle Übersetzungen gelistet, bearbeitet, weitere Übersetzungen hinzugefügt sowie entfernt. Eine Übersetzung beinhaltet folgende Felder:

Allgemein

Feld

App


Package

Gibt die

App

Package-Zugehörigkeit der Übersetzung an.

Schlüsselwort

Gibt das zu übersetzende Schlüsselwort an.

Zu

Kollation

Gibt die zugehörige Kollation der Übersetzung an

Übersetzung

Anzuzeigender Übersetzungstext.

Zu überwachen

Gibt den Status einer Übersetzung an. Diese weißt darauf hin, dass entweder nicht alle aktiven Kollationen gepflegt wurden oder Übersetzungsschlüssel ungültig sind

.
Übersetzung
Anzuzeigender Übersetzungstext

.

Informationen

Feld


ID

Eindeutiger Bezeichner der Übersetzung.

Erstellt

Erstellungsdatum der Übersetzung.

Aktualisiert

Letztes Änderungsdatum der Übersetzung.

Übersetzungslogik

Übersetzungen werden Anhand der "I18n\TranslationManager::__"-Methode abgerufen. Diese holt zunächst die verwendete Kollation des eingeloggten Nutzers. Anhand der Einstellungen der Kollation, des zu übersetzenden Schlüsselworts und der betroffenen App wird zunächst innerhalb des Caches überprüft, on diese bereits geladen wurde. Ist dies nicht der Fall, wird die angefragte Übersetzung aus der Datenbank geladen und anschließend gecached.  

...

Lädt eine Übersetzung anhand gegebener Parameter und gibt diese zurück.

Beschreibung

I18n\TranslationManager::__
Codeblock
title
languagephp
themeRDark
I18n\TranslationManager::__(string $package = '', string $identifier = '', array $args = []): string

I18n\TranslationManager::__() gibt den zugehörigen Übersetzungsstring zurück.

Parameter 

Parameter


package

Der zu übersetzende Package-Kontext (= Package-Feld der Übersetzungstabelle)

identifier

Das zu übersetzende Schlüsselwort (= Schlüsselwort-Feld der Übersetzungstabelle)

args

Optionen

I18n\TranslationManager::__byGlobalKey

Lädt eine Übersetzung anhand gegebener Parameter und gibt diese zurück.

Beschreibung

I18n\TranslationManager::__byGlobalKey
Codeblock
languagephp
I18n\TranslationManager::__byGlobalKey(string $globalKey, string $package = ''$iso6391): string

I18n\TranslationManager::__byGlobalKey() gibt den zugehörigen Übersetzungsstring zurück.

Parameter 

Parameter

globalKey

Der globale Schlüssel

iso6391

ISO6391 Sprachcode

I18n\TranslationManager::__byLanguage

Lädt eine Übersetzung anhand gegebener Parameter und gibt diese zurück.

Beschreibung

I18n\TranslationManager::__byLanguage
Codeblock
languagephp
I18n\TranslationManager::__byLanguage(string $package, string $id$identifier, =string ''$locale, array $args = []): string

I18n\TranslationManager::__byLanguage() gibt den zugehörigen Übersetzungsstring zurück.

Parameter 

Parameter

package

Der zu übersetzende

App

Package-Kontext (=

App

Package-Feld der Übersetzungstabelle)

id

identifier

Das zu übersetzende Schlüsselwort (= Schlüsselwort-Feld der Übersetzungstabelle)

locale

Der Locale Schlüssel (Bspw. ‘de_DE’)

args

Optionen

I18n\TranslationManager::getFromXml

Lädt eine Übersetzung anhand gegebener Parameter und gibt diese zurück.

Beschreibung

I18n\TranslationManager::getFromXml
Codeblock
languagephp
I18n\TranslationManager::getFromXml(string $package = '', string $identifier = '', string $language = ''): string

I18n\TranslationManager::getFromXml() gibt den zugehörigen Übersetzungsstring aus dem entsprechenden XML-Übersetzungsfile zurück.

Parameter 

Parameter

package

Der zu übersetzende Package-Kontext (= Package-Feld der Übersetzungstabelle)

identifier

Das zu übersetzende Schlüsselwort (= Schlüsselwort-Feld der Übersetzungstabelle)

language

Sprache (Bspw. 'de' für deutsch)

Import und Export von Übersetzungen

Mit Brandbox können Übersetzungen im XML-Format sowohl exportiert als auch importiert werden. Nachfolgend wird beschrieben, wie diese Funktionen genutzt werden können.

Export von Übersetzungen

Die Übersichtsseite für Übersetzungen enthält in der Toolbar eine Schaltfläche für den Export. Mithilfe des Schnellfilters lassen sich die zu exportierenden Datensätze gezielt auswählen. Die Exportfunktion erstellt anschließend eine Datei im normierten XML-Format, die die gefilterten Übersetzungsdatensätze enthält.

Import von Übersetzungen

Der Standardimport ermöglicht das Einspielen von Übersetzungsdatensätzen im normierten XML-Format. Dabei werden neue Datensätze zu den bestehenden Übersetzungen hinzugefügt, während bestehende Datensätze bei Änderungen überschrieben werden.

Die Importfunktion ist erreichbar unter:
Base → Import → Import direkt durchführen