Fehlende Übersetzung im Production Mode
von Magento 2

Dieses Problem ist ab Version 2.2.x behoben.

Wenn ein Magento 2 Shop fertig ist und deployed werden soll, dann setzt man ihn in den production mode.

php bin/magento deploy:mode:set production

Übersetzungschaos im Checkout

Falls man nun einen mehrsprachigen Shop konfiguriert hat, gibt es bis einschließlich Magento 2.2 einen Bug, durch den alle dynamisch geladenen Elemente die falschen Übersetzungen haben. Der zugrundeliegende Bug wurde bereits im Magento Bugtracker erfasst. Gut zu sehen ist dieser Effekt beim Checkout:

magento-translation-bug

Hier ist ein Shop in deutsch (de_DE) und englisch (en_US) aufgesetzt. Beim Wechseln in den production mode werden die statischen Dateien neu erzeugt, allerdings für alle Sprachen in einem Prozess. Das Problem ist, dass dabei alle js-translation.json Dateien gleich generiert werden. In diesen Dateien werden die Übersetzungen für alle per AJAX nachgeladen Elemente gespeichert.

Bugfix: Korrekte Übersetzungen

Um nun eine einheitliche Übersetzung für seinen Shop zu bekommen, muss man in der Konsole zuerst alle js-translation.json Dateien löschen und danach die statischen Dateien für die einzelnen Sprachen einzeln neu erzeugen. Dafür in das Magento Installationsverzeichnis wechseln und (als der Magento System-User) folgende Befehle ausführen:

1. find pub/static -name js-translation.json | xargs rm
2. php bin/magento setup:static-content:deploy en_US
3. php bin/magento setup:static-content:deploy de_DE

Danach sind die Übersetzungen wieder wie sie sein sollen:

magento-translation-bugfix

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte dich auch interessieren