Magento2 – Übersetzungspaket erstellen

Wie im vorherigen Betrag über die Nutzung von Sprachpaketen in Magento2 angekündigt, zeige ich nun, wie man ein Sprachpaket erstellt und in Magento2 installiert.

Ich habe im Zuge meines Projektauftrags das italienische Sprachpaket installationsbreit gemacht.

Sprachpaket selbst zusammenstellen

Als Grundlage für das Sprachpaket habe ich die von der Community zusammengetragenen Übersetzungen auf Crowdin.com genutzt.

Lädt man dort über die URL https://crowdin.com/download/project/magento-2/it.zip die Übersetzungen herunter und entzipt in ein Verzeichnis, findet man die Übersetzungen verteilt in die Magento2 Module Struktur vor.

Für unser Vorhaben brauchen wir jedoch alle Übersetzungen in einer einzigen Datei. Auf einer Linux Konsole schafft man das mit diesem kleinen Script :

Nun haben wir alle Übersetzungen in der Datei it_IT.csv und können die restlichen Verzeichnisse und Dateien analog der Magento2-Dokumentation erstellen:

composer.json

registration.php

language.xml

Diese Daten lade ich in diesem Fall in mein Github-Repository.

Das Repository wird in composer.json des Projekt bekannt gemacht:

Danach kann man das Sprachpaket via composer installieren:

Et voilà.

Viele Wege führen nach Rom

Einen anderen Weg die Sprachdateien von Crowdin zu installieren beschreibt das Wiki von Vanderboon.

Dort findet man nun auch einen Link auf fertig gepackte Sprachdateien. Damit kann man sich oben genannten Schritt sparen.

Sprachpakete erweitern

Um zukünftig per composer updaten zu können und dennoch individuelle Übersetzungen nutzen zu können, sollte man ein eigenes kleines Übersetzungspaket anlegen:
In

../[magento_root]/app/i18n/[namespace]/[package]

legt ihr dazu wieder die Dateistruktur wie oben an. Eure translation.xml sollte dann folgendermaßen aussehen:

Damit erweitert ihr das zuerst installierte Sprachpaket um eure eigenen Übersetzungen, die ihr dann in der Datei it_IT.xml abspeichert.

Weitere Infos zu den Übersetzungen in Magento2 findet man in der Entwickler-Dokumentation.