Internationalisierung
Die language.xml
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
<?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>
myplugin/languages/en.xml
<?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>
Im Template
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
<div>
<h2>{{i18n "appName:packageNamespace/packageName" "Meine Überschrift"}}</h2>
<p>
{{{i18n "appName:packageNamespace/packageName" "Mein Text mit HTML"}}}
</p>
</div>
Header x-brandbox
Wenn sie Meldungen, wie zum Beispiel Validierungsfehler, übersetzen möchten, fügen Sie Ihrer (language).xml
folgende Einträge hinzu:
de.xml
Die Tabelle Übersetzungen
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 | |
---|---|
Package | Gibt die Package-Zugehörigkeit der Übersetzung an. |
Schlüsselwort | Gibt das zu übersetzende Schlüsselwort an. |
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. |
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.
I18n\TranslationManager::__
Lädt eine Übersetzung anhand gegebener Parameter und gibt diese zurück.
Beschreibung
I18n\TranslationManager::__
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
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
I18n\TranslationManager::__byLanguage() 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) |
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
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“