Artikel
von Patrick Froch
Heute geht es um die Übersetzung von Begriffen und Meldungen in Symfony. Zunächst muss in den Einstellungen die Fallback-Sprache eingestellt werden. Dies geschieht in der Datei app/config/config.yml. Bei dem von mir angelegten Projekt, steht dort als Fallback "%locale%", im Handbuch steht als Beispiel en. Ich habe den Vorgabewert belassen. Bei mir sieht es jetzt so aus: Als nächstes muss man die Übersetzungen eintragen. Ich habe diese direkt in meinem Bundle hinterlegt (src/<NAMESPACE>/<BUNDLENAME>/Resources/public/translations). Dort habe ich eine Datei mit dem Namen messages.de.xliff erstellt und folgendes Gerüst eingefügt: Will man nun weitere Übersetzungen hinzufügen, wird einfach dieser Block kopiert: In diesem Fall für den Begriff 'Delete', die Id wird einfach hochgezählt. Zusammen sieht es dann so aus: Dem Translator muss nun noch diese neue Quelle bekannt gegeben werden:
Bei mir hat die zweite Zeile so wie sie im Handbuch steht nicht funktioniert. Ich musste 'de_DE' in 'de' ändern! Warum dies so ist, entzieht sich im Augenblick noch meiner Kenntnis.
Nun kann mit $this->get('translator')->trans() auf die Übersetzungen zugegriffen werden. Will man also z.B. 'Edit' mit 'Bearbeiten' übersetzen, geht dies so: In $translated steht nun 'Bearbeiten'. Um einen Begriff direkt im Template zu übersetzen, kann man so vorgehen: Ausgegeben wird dann:
Bearbeiten
Dies soll als Grundlage erst einmal reichen. Wenn mir weitere Feinheiten auffallen, werde ich sie in einem weiteren Artikel beschreiben.

Zurück

Kommentare

Aufgrund der unklaren Rechtslage durch die DSGV habe ich mich entschlossen, die Kommentare bis auf Weiteres zu deaktivieren.