Bedienungsanleitung

Standard-Übersetzungsexport

  1. Navigieren Sie zu TechDivision >> Util >> Translation Generator – Export.

  2. Wählen Sie die gewünschten Einstellungen des Übersetzungsexports

  3. Klicken Sie auf Export Translations

Es werden nun aufgrund der gewählten Einstellungen die Übersetzungstexte gesucht und in einer CSV-Datei bereitgestellt

Die CSV-Datei wird nach dem Export-Vorgang automatisch im Browser heruntergeladen.

Die Datei wird ebenfalls in die Export-History aufgenommen

Die erstellte Export-Datei kann bearbeitet werden und sofort wieder für den korrekten Store (Locale) importiert werden, da sie bereits das korrekte Format für den Import aufweist.

In welchen Situationen sollte die Option Clear translation index aktiviert werden, um den Index zu bereinigen:

  • Falls Unsicherheit besteht, ob alles in einen Translation Export Beachtung findet

  • Kein Deploy Bereinigungsautomatismus für die Übersetzungsindizes vorhanden ist

    • Übersetzungspakete/Codeänderungen werden deployed, aber der Index wird nicht durch einen Automatismus bereinigt (Inhalte werden evtl. nicht gefunden). In diesem Fall kann/soll der Index bereinigt werden.

  • Veraltete Übersetzungsindizes bereinigen

    • Die Übersetzungsindizes sind aufgrund von Sprachpaket-Installationen nicht mehr aktuell.

In welchen Situationen sollte die Option Clear translation index nicht aktiviert werden:

  • Um sicherzugehen, dass alle Übersetzungsformate erkannt werden

  • Bei AWS-Umgebungen

  • Bei einem projektspezifischen automatisierten Deploy Prozess

Export modul-bezogener Übersetzungen

  1. Konfigurieren Sie den Export vgl. Standard-Übersetzungsexport

  2. Geben Sie in den Export-Einstellungen bei Translation Module Filter das gewünschte Modul an.

    Als Beispiel wären TechDivision_TranslationGenerator oder techdivision/translation-generator gültig

  3. Ein deutschsprachiger Export mit den Optionen

    • Export Mode ⇒ LESS

    • Export Area ⇒ Frontend & Backend

    liefert folgendes Ergebnis:

Label_key,de_DE
Backend,
Frontend & Backend,
Text,
Download,
TechDivision,
Translation Generator,
Export,
Import,

Übersetzung von CMS-Blöcken / -Seiten

  1. Content >> Blocks / Pages öffnen.

  2. PageBuilder öffnen und ein Element hinzufügen oder bearbeiten.

  3. Im Element auf Insert Widget klicken:

    Widget
    Widget
    1. Das Widget TechDivision TranslationGenerator wählen.

    2. Eines Translation Key einfügen.

      Widget
    3. Das Widget speichern.

  4. Den PageBuilder schließen und Block / Page speichern.

  5. Beim Export ist der Translation Key enthalten.

Falls Translation Key in exportiertem Locale nicht vorhanden ist, dann muss geprüft werden, dass der CMS-Block / -Seite für die gewünschte Store View aktiviert ist

Protokollierung des Übersetzungsexports

  1. Navigieren Sie zu TechDivision >> Util >> Translation Generator.

  2. Aktivieren Sie Export-Protokollierung.

  3. Leeren Sie den Konfiguration-Cache.

  4. Führen Sie den Export vgl. Standard-Übersetzungsexport durch.

  5. Die Informationen bzgl. Dateidurchlauf und Stringerkennung werden in der Datei translation-generator.log protokolliert

Standard-Übersetzungsimport

  1. Identifizieren Sie die zu übersetzenden Texte

    Text-Nicht-Übersetzt

    Proceed to Checkout

  2. Navigieren Sie zu TechDivision >> Util >> Translation Generator – Import.

  3. Wählen Sie die gewünschten Einstellungen des Übersetzungsimports

  4. Laden Sie z.B. zuvor exportierte Sprachdateien hoch.

    z.B.
    Label_key,de_DE
    Proceed to Checkout,GO TO CHECKOUT
  5. Klicken Sie auf den Button Check Data

    Es wird eine Validierung durchgeführt, ob die Datei im Import verarbeitet werden kann.

    Import-Validierung
  6. Klicken Sie anschließend auf den Button Import im validen Prüfungsergebnis.

    Es werden nun die Übersetzungstexte in die Datenbank importiert.

    Die Daten werden ebenfalls in die Import-History aufgenommen.

    Aus diesen Texten werden die Frontend-Übersetzungen (JavaScript-Übersetzungen) generiert.

  7. Nach einem erfolgreichen Import werden die Übersetzungs-Zwischenspeicher geleert

    Import erfolgreich

    und die Übersetzungen sind im Frontend, wie im Backend, verfügbar.

    Text-Übersetzt

Nutzung und Bereinigung der Übersetzungs-Indizes

Das Modul Translation Generator benutzt aus Performancegründen Indizes für die Erkennung und den Export von Texten.

Die Übersetzungsindizes können aufgrund von Sprachpakets-Installationen nicht mehr aktuell sein.

Bereinigung bei Übersetzungsexport

  1. Konfigurieren Sie den Export vgl. Standard-Übersetzungsexport

  2. Aktivieren Sie die Option Clear translation index

  3. Klicken Sie auf Export translations

    Bevor der Export stattfindet, werden Indizes gelöscht und neu generiert. Dies hat zur Folge, dass der Export etwas länger dauert.

    Nach dem Export ist der Index aktuell und alle weiteren Export können diesen nutzen und sind somit wieder komplett und performanter.

Bereinigung mit CLI-Kommando

Für die manuelle Bereinigung der Übersetzungs-Indizes wurde ein CLI-Kommando implementiert, welches unabhängig von Browser-Clients ist.

Kommando: bin/magento translation:export:index <options>
bin/magento translation:export:index backend frontend both
Ergebnis Ausgabe
Generate translation export index for backend, frontend, both
Index generated for area: both 3/3 [============================] 100% 21 secs%

Nach Ausführung des Kommandos sind die Indizes des Translation Generators wieder aktuell.

Bereinigung mit TechDivision Pacemaker Process-Pipelines

Um die Bereinigung automatisiert zu steuern, wurden Pipeline-Definitionen implementiert, welche mit TechDivision Pacemaker nutzbar sind. Als Beispiel folgt eine manuelle Anlage von Pipelines:

  1. Anlage der Pipeline im Pacemaker-Backend

    Pacemaker-Pipeline-Anlage
  2. Status-Anzeige der Pipeline im Pacemaker-Backend

    Pacemaker-Pipeline-Status
  3. Über die Pacemaker-Heartbeat-Konfiguration werden die Schritte der Pipeline abgearbeitet.

  4. Nach der Abarbeitung sind die Indizes des Translation Generators wieder aktuell.

Process-Pipelines können zeitlich gesteuert werden. Ebenso können die Pipelines bzw. die Steps durch Bedingungen (code-technisch) erweitert werden.

Neuerzeugung Frontend-Übersetzungen

Das Modul Translation Generator benutzt aus Kompatibilitätsgründen eigene sprachbezogene Dictionaries für Frontend-Übersetzungen (Javascript).

Diese Übersetzungsverzeichnisse können aufgrund von Sprachpakets-Installationen oder anderer diverser Cachings ggf. nicht mehr aktuell sein.

Dafür gibt es aber einige Möglichkeiten diese manuell zu bereinigen und zu erneuern

Für die manuelle Bereinigung der Übersetzungsverzeichnisse wurde ein CLI-Kommando implementiert, welches unabhängig von Browser-Clients ist.

Kommando: bin/magento translation:js-dictionary:rebuild <options>
bin/magento translation:js-dictionary:rebuild de_DE en_US
Ergebnis Ausgabe
Rebuild Magento/luma | en_US 2/2 [============================] 100% 1 sec
Rebuild js dictionaries successfully.
Kommando: bin/magento cache:flush <options>
bin/magento cache:flush translate

Nach Ausführung des Kommandos und Leeren des Übersetzungs-Zwischenspeichers sind die Frontend-Übersetzungen wieder aktuell.

Normalerweise ist eine manuelle Bereinigung nicht notwendig, da bei jedem Übersetzungsimport die Frontend-Übersetzungsverzeichnisse neu aufgebaut werden.

AWS Kompatibilität und Deployment

Seit Version 4.3.0 / 5.2.0

Das Modul Translation Generator benutzt aus Performancegründen Indizes für die Erkennung und den Export von Texten. Die Indizes entsprechen den erkannten Übersetzungsschlüssel der Magento-Applikation. Allgemeine Informationen zur Nutzung der Übersetzungsindizes werden hier beschreiben.

In AWS-Umgebungen kann die Erzeugung des Übersetzungsindex leider durch IOPS limitiert sein. Es ist also nicht möglich einen Übersetzungsexport in AWS-Umgebungen durchzuführen, da der Übersetzungsindex benötigt wird.

Hierfür gibt es nun die Kompatibilitätsfunktion die Indizes während eines Deployment-Prozesses zu generieren. Der Deploymentprozess, als das Erzeugen des Installationsartefakts, darf NICHT auf der gleichen AWS Instanz durchgeführt werden, da es wie beschrieben zu Problemen bzgl. der IOPS-Limitierung kommen kann.

Mit dem Kommando

bin/magento translation:export:index --filesystem

werden die Indizes für die Magento-Applikation erzeugt und als CSV im Verzeichnis var/td_translations/translation_index bereitgestellt. Diese können anschließend einfach auf das Zielsystem in das gleiche Verzeichnis kopiert werden.

Anschließend wird mit dem Standard-Magento-Befehl

bin/magento setup:upgrade`

ein "Recurring-Data-Script" ausgeführt, welches die Indexdateien erkennt und in die Datenbank einspielt. Somit sind nach einem Deployment die Übersetzungsindizes aktuell und müssen bei einem Übersetzungsexport nicht mehr bereinigt werden.

Ausschluss von Dateien beim Export

Bei einem Übersetzungsexport werden bei nicht vorhandenem Index alle Dateien der Magento-Instanz nach übersetzbaren Strings durchsucht. Dies kann über eine globale Konfiguration angepasst werden, sodass Dateien nach eingestellten Mustern ignoriert werden und die darin enthaltenen String nicht in der Export-Datei aufgeführt werden.

Seit Version 5.7.0