Übersetzungen in Magento 1 und Magento 2

Der Magento-Core-Entwickler Anton Makarenko hat einen sehr guten Text über den aktuellen Übersetzungs-Mechanismus in Magento 1 und die Änderungen in Magento 2 gepostet.

Übersetzungen in Magento 1

Einerseits erklärt Anton, wie in Magento 1

  • Template-Inhalte
  • Texte in anderen Klassen
  • Inhalte aus XML-Dateien

übersetzt werden, wie und wo die Übersetzungen in CSV-Dateien abgelegt werden und in welcher Reihenfolge die Werte ausgelesen werden.

Somit eignet sich der Text für alle, die lernen wollen, wie Übersetzungen funktionieren.

Übersetzungen in Magento 2

Im zweiten Teil führt Anton aus, welche Schwachstellen identifiziert wurden und wie man gedenkt, sie in Magento 2 zu beheben. Dazu gibt es seit der Entwicklungsversion Magento 2.0.0.0-dev46 einen neuen Übersetzungsmechanismus.

Makarenko bespricht die Details der Implementierung und die daraus entstehenden Vorteile.

Der aktuelle Status:

  • Es gibt nur noch eine Übersetzungsfunktion __() und nicht mehr unterschiedliche Befehle.
  • Es gibt keine unterschiedlichen Modul-Kontexte für die Übersetzung mehr.
  • Es wird in Magento 2 ein Tool mitgeliefert, dass den Code durchläuft und (fast) alle übersetzbaren Strings in CSV-Dateien packt.
  • Die Übersetzungsdateien werden einer bestimmten Konvention in den Modulen bzw. den Themes abgelegt. Dadurch muss man im Konfigurations-XML nicht mehr definieren, wo sich Übersetzungs-Dateien befinden.
  • Bei Kollisionen (gleichen Strings) gewinnt die zuletzt deklarierte Übersetzung. Auch das kann Probleme bereiten, aber ich denke, im Gegensatz zur aktuellen Handhabung ist es ein Gewinn.

Aktuelle Probleme und mögliche Verbesserungen

Zuletzt räumt Anton ein, dass der aktuelle Status noch nicht perfekt ist. Er listet Probleme und mögliche Verbesserungen auf. Und an der Stelle kommen wir, die Community, ins Spiel. 😉

An die EntwicklerInnen da draußen: bitte nehmt euch die Zeit und lest den Text durch. Vielleicht habt ihr Lösungsansätze für die offenen Punkte. Teilt sie Magento mit. Dann könnt Magento 2 noch ein Stückchen besser machen.