26. November 2019, Benjamin Rosenberger

Magento2 und die lieben √úbersetzungen

Magento2 und die lieben √úbersetzungen

Kein Shop ist wie der Andere ‚Äď andere L√§nder, andere Sprachen und selbst in der gleichen Sprache gibt es Unterschiede (man denke an Kasse vs. Kassa). Somit ist es unabdingbar in Magento2 √úbersetzungen zu pflegen und zu verwenden.

Die Magento2 Dev-Docs bieten zur √úbersetzung eine ausf√ľhrliche Beschreibung, wie man sprachabh√§ngige Texte im Shop anzeigen kann. (siehe https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/translations/xlate.html)

Grunds√§tzlich gibt es wie auch schon in Version 1 von Magento folgende Hierarchie von √úbersetzungen. Im Bild ist sehr deutlichzu erkennen, wo man als Entwicklerin oder Entwickler die entsprechenden √úbersetzungen pflegen kann.

Datenbank?

Doch was ist mit den Datenbank√ľbersetzungen in Magento2? Diese konnten in Magento1 leicht √ľber eine Oberfl√§che im Admininterface gepflegt werden und somit ohne Dateien zu √§ndern im laufenden Betrieb ausgetauscht bzw. ausgebessert werden.

Die guten alten Zeiten sind mit Magento2 vorbei, wo direkt am Server Dateien ausgebessert werden und somit steht unausweichlich ein Deploy der aktuellen Module an mit zuvor ge√§nderten √úbersetzungstexten. Oder man geht den umst√§ndlichen letzten Weg und tr√§gt direkt √ľber ein Datenbank-Tool seiner Wahl die √úbersetzung ein. Was kann f√ľr eine Shop-Betreiberin oder einen Shop-Betreiber blo√ü schiefgehen?

Einfach Zugriff auf die gesamte Datenbank gew√§hren, richtige Store-Id eintragen, einen korrekten CRC-String generieren und sich nat√ľrlich nicht bei dem ausgebesserten √úbersetzungstext verschreiben.
Da habe ich mir gedacht ‚Äď warum einfach, wenn es auch komplizierter funktioniert? Und so begab ich mich auf die Suche nach einer aktuellen Umsetzung einer View und stie√ü auf kein vern√ľnftiges Ergebnis.

Es schien mir fast so, dass Datenbank√ľbersetzungen nur noch ein √úberbleibsel aus vergangenen Tagen waren. Viele Probleme wurden durch √úbersetzungen in der Datenbank verursacht. Es war un√ľbersichtlich, wo welche √úbersetzung greift ‚Äď bei mir in der Entwicklung hat er ja auch den richtigen Text. Daher kann ich gut verstehen, warum dieses Feature nicht mehr aktiv verfolgt wird.

Und doch gibt es die Möglichkeit!

Trotzdem gibt es Zeiten in denen schnell ein Text im Live-Shop ausgetauscht werden soll. Am Besten ohne dass eine Entwicklerin oder ein Entwickler eingreifen muss.

Gesagt, getan, hier die View zur Datenbank: https://github.com/e-conomix/magento2-dbtranslations. Einfach √ľber composer installieren und √úbersetzungen im Backend eintragen.

So leicht dies auch nun m√∂glich ist ‚Äď es sollte nur eine √úbergangsl√∂sung sein! Wie vom Standard vorgesehen geh√∂rt jeder √úbersetzungstext in eine f√ľr ihn vorgesehene Datei (Modul, Language-Pack oder Theme), da uns sonst die Geister aus vergangenen Tagen wieder einholen.