Texte in eigenen Themes übersetzen

Bei der Realisierung eines neuen Themes für Magento müssen häufig die vorhandenen statischen Texte angepasst oder neue statische Texte eingefügt werden.

Die allereinfachste Möglichkeit, die Texte einfach hart in die Templates zu schreiben, verbietet sich fast von selbst, da hierdurch jede Flexibilität verloren geht. Falls später eine Sprache hinzukommt beginnt das große Suchen…

Die Vorraussetzung für eine automatische Übersetzung durch Magento ist die korrekte Auszeichnung der zu übersetzenden Strings. Üblicherweise werden die Strings im Template in Englisch definiert, da somit ein Übersetzer nur Englisch und die Zielsprache kennen muss und nicht etwa auch Deutsch. Die Auszeichnung erfolgt mit <?php echo $this->__('Translate me!'); ?>.

Übsetzungen des Themes definieren

Übsetzungen des Themes definieren

Danach kann der String bereits mit Magentos Inline-Translation übersetzt werden. Dabei werden die Übersetzungen jedoch in der Datenbank gespeichert, was die Verwaltung mit einem VCS (z. B. SVN) und das Deployment oder die Aktualisierung eines Live-Systems erschwert. Eleganter und übersichtlicher ist die Übersetzung mittels einer CSV-Datei. Dazu muss unter „Gestaltung“, „Themes“ bei „Übersetzungen“ der Name des Themes für die Übersetzungen eingetragen werden (siehe Screenshot). Anschließend wird unter design/frontend/default/mein_theme/locale/de_DE/ die Datei translate.csv angelegt. In dieser Datei werden nun der Quell- und der Zielstring kommagetrennt notiert: "Translate me!","Übersetz' mich!". Will man nun die Strings in eine neue Sprache übersetzen, muss ein neuer Ordner im locale-Ordner mit einer neuen translate.csv erstellt werden. Die CSV-Datei kann zur Übersetzung auch problemlos an ein Übersetzungsbüro oder ähnliches weitergegeben werden.

Sozusagen als Dreingabe ist auch das Verwenden von Platzhaltern möglich: <?php echo $this->__('We sell %s monkeys', $this->getMonkeyCount()); ?> lässt sich mir "We sell %s monkeys","Wir verkaufen %s Affen" übersetzen. Die Anzahl der Affen wird dann dynamisch in den übersetzten Text eingefügt. Wichtig ist nur, das echo vor dem markierten String nicht zu vergessen 😉

Hinterlasse einen Kommentar

1 Kommentar auf "Texte in eigenen Themes übersetzen"

Benachrichtige mich zu:
avatar

Sortiert nach:   neuste | älteste | beste Bewertung
Loaden
Gast
7 Jahre 10 Monate her

Da du auch Magento User bist ist dieser kleine Bugfix für die translate.csv sicher sinnvoll für dich.
http://www.monkey-business.biz/1900/magento-1-5-x-translate-csv-ubersetzungen-prioritats-bugfix/

wpDiscuz
Weitere Beiträge zum Thema
FLOW3 könnte die PHP-Welt auf den Kopf stellen
Javascript in Magento 2, the way to do it
Ant für Eclipse 3.6 Helios
Flagbit auf Platz 20 der Fast 50 und Platz 379 der Fast 500