Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 10 Nächste Version anzeigen »

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 "feature/myplugin" "Meine Überschrift"}}</h2>
  <p>
    {{{i18n "feature/myplugin" "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
<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

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
Gibt die App-Zugehörigkeit der Übersetzung an.
Schlüsselwort
Gibt das zu übersetzende Schlüsselwort an.
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.  

I18n\TranslationManager::__

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

Beschreibung

I18n\TranslationManager::__
I18n\TranslationManager::__(string $package = '', string $id = '', array $args = []): string

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

Parameter 

Parameter
package
Der zu übersetzende App-Kontext (= App-Feld der Übersetzungstabelle)
id
Das zu übersetzende Schlüsselwort (= Schlüsselwort-Feld der Übersetzungstabelle)
args
Optionen
  • Keine Stichwörter