Artikel
von
© Copyright bei Patrick Froch und easy Solutions IT. Dieses Werk ist lizenziert unter Creative Commons BY-NC-SA.
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

Kommentar von Sonia |

Hallo, Patrick! Wenn du neugierig auf alternative Tools für die Übersetzung von XLIFF-Dateien bist, empfehle ich dich diese webbasierte Übersetzungsplattform https://poeditor.com/

Grüße
Sonia

Einen Kommentar schreiben

Bitte addieren Sie 7 und 7.