Ich habe das Sprachpaket app/i18n/magento2translations/language_nl_nl/
mit der Datei nl_NL.csv installiert. Es funktioniert perfekt.
Außerdem habe ich app/design/frontend/COMPANY/PROJECT/i18n/nl_NL.csv
mit meinen benutzerdefinierten Übersetzungen eine benutzerdefinierte Themendatei hinzugefügt , die jedoch nicht funktioniert (Modus: Entwickler, statischer Inhalt und Caches wurden bereinigt).
Wenn ich benutzerdefinierte Übersetzungen in das Sprachpaket nl_NL.csv verschiebe , funktionieren benutzerdefinierte Übersetzungen einwandfrei .
Ich denke, das Sprachpaket hat mehr Priorität als ein benutzerdefiniertes Thema, das i18n übersetzt .
Wie wird Override im Sprachpaket richtig übersetzt?
magento2
language-package
goral
quelle
quelle
rm -rf pub/static/*
,rm -rf var/cache/*
aus m2 Stammordner.Antworten:
[UPDATE] Seit Magento 2.2 ist die Ladereihenfolge für die Übersetzung wie folgt:
Das bedeutet im Grunde, dass das Übersetzungspaket die Themenübersetzung außer Kraft setzt. Eine so schnelle und einfache Lösung würde mit der Inline-Übersetzung überwunden, die auch in M1 möglich war. Aber wir haben jetzt M2, das noch mehr Flexibilität an Bord hat, und es gibt eine Möglichkeit, vorhandene Übersetzungspakete durch benutzerdefinierte zu erweitern. Sie müssen lediglich ein weiteres Übersetzungspaket erstellen. Erstellen Sie also ein Modul
Erstellen Sie dafür eine register.php mit folgendem Inhalt:
So definieren wir, dass dieses Modul ein Übersetzungspaket ist. Im letzten Schritt erstellen Sie eine Metadatei language.xml mit folgendem Inhalt:
Auf diese Weise geben Sie das übergeordnete Übersetzungspaket an, das Sie erweitern möchten. Geben Sie auch die Reihenfolge an, falls Sie bereits eine Vererbung des Übersetzungspakets im Projekt haben. Hier ist ein Link auf Beispiel von magento selbst .
Eine Sache noch. Stellen Sie sicher, dass Ihr
<vendor> . '_' . <code>
(aus language.xml ) mit dem Modulnamen von übereinstimmtregistration.php
.project_nl_nl
in meinem Beispiel.quelle
nl_NL.csv
in diesem Modul?Ich hatte das gleiche Problem und fand die Lösung. \ Magento \ Framework \ Translate lädt zuerst Themenübersetzungen und dann Packübersetzungen. Sie sollten ein Plugin für diese Klasse in der Methode loadData erstellen und die Ladereihenfolge korrigieren.
quelle
Ich weiß nicht, ob es daran liegt, dass jetzt 2019 ist oder ob Sergeys Antwort von Anfang an einen Fehler hatte, aber die tatsächliche Ladereihenfolge in Dateianbieter / magento / framework / Translate.php lautet wie folgt:
Was später geladen wird, überschreibt die vorherigen Übersetzungen.
Obwohl die Antwort von Daniel Sloof funktioniert, können Sie dem Thema einfach Ihre Übersetzung hinzufügen, die eine höhere Priorität als ein Sprachpaket hat.
quelle
Wenn sauberer statischer Inhalt, zwischengespeichert und in das lokale Speicherthema übersetzt wird, funktioniert CSV, jedoch nicht für einige Wörter. Lang Pack wird also von benutzerdefinierten Themenübersetzungen überschrieben, jedoch nicht für alle Phrasen.
quelle
Ich habe eine andere Übersetzung im Paket de_de in Modul, Thema und einem anderen Paket (Anbieter / {Name} / Sprache-de_de). Ich habe gesehen, dass die Übersetzung immer vom Thema kam. Löschen Sie Pub / Static und Cache (mit Cache in Chrome). Was sind die Prioritäten für die tatsächliche Lastübersetzung?
quelle