Mit der Zeit hat das Magento-Kernteam immer mehr Standard-Sprachpakete hinzugefügt
app/locale
Mappe. Gibt es einen Canon-Weg, um Ihre eigenen Übersetzungsdateien so zu verwalten, dass sie zukünftige System-Upgrades nicht beeinträchtigen? dh ich möchte einige Labels in Magento ändern, also bearbeite ich
app/locale/en_US/Mage_Sales.csv
direkt. Wenn wir Magento aktualisieren, werden meine Änderungen gelöscht. Reicht das Gebietsschema für dieses Thema aus? (Handelt es sich um modulspezifische Dateien oder nur translate.csv
). Oder ist es besser, die Übersetzungsmodelle neu zu schreiben, um Dateien von einem anderen Speicherort zu laden? Oder etwas anderes?
quelle
Neben dem
translate.csv
und dem nicht portablen Inline-Übersetzer gibt es noch einen anderen Weg. So mach ich es.Jedes Modul unterstützt mehr als eine Übersetzungsdatei.
Wenn Sie dies hinzufügen in
config.xml
:beide Dateien
[Namespace]_[Module].csv
und[Namespace]_[Module]_version2.csv
werden zur Übersetzung geladen.und sie werden in der Reihenfolge verarbeitet, in der sie deklariert sind.
Wenn Sie also zum Beispiel etwas in der
Mage_Sales.csv
Datei hinzufügen / ändern müssen, bearbeiten Sie die Datei nicht, sondern erstellen Sie ein Modul, das der Liste der Übersetzungsdateien eine weitere Datei hinzufügt.Etwas wie das:
app/code/local/Easylife/Sales/etc/config.xml
und stellen Sie sicher, dass Sie das Modul abhängig machen
Mage_Sales
.Sie können auch ein "One Size Fits All" -Modul zum Verwalten der Übersetzung erstellen. Fügen Sie einfach eine alternative Übersetzungsdatei für jedes benötigte Modul hinzu und stellen Sie sicher, dass dieses neue Modul von allen Modulen abhängt.
quelle
app/locale/**/Easylife_Sales.csv
dieser Datei suchen ? Ich gehe davon aus, dass es auch Unterordner zulässt, solange Sie das Verzeichnis-Trennzeichen für Ihr Dateisystem kennen?CSV-Dateien in
app/locale
sollten als Kerndateien betrachtet und nicht geändert werden. Ich finde, dass der beste Weg, eine benutzerdefinierte Übersetzung hinzuzufügen, darin besteht, sie in einzufügenapp/design/frontend/{package}/{theme}/locale/{locale}/translate.csv
Bitte beachten Sie, dass Sie anstelle von auch Modulnamen in
translate.csv
Dateien verwenden können . Auf diese Weise können Sie auch Übersetzungen verwenden, die auf bestimmte Themen zugeschnitten sind."Mage_Adminhtml::Sales","Sales"
"Sales","Sales"
quelle
app/locale/
ist. Wie kann ich es anweisen, esapp/design/frontend/{package}/{theme}/locale/
stattdessen von zu laden ? Siehe meine Frage hier: stackoverflow.com/questions/26554195/…Sie können das design- / themenspezifische "translate.csv" bearbeiten / erstellen. So überschreiben Sie eine Übersetzung aus einer "Modul-Übersetzungsdatei". Zum Beispiel "Mage_Catalog.csv":
Die Regel lautet also "Modul-Namespace :: zu übersetzende Zeichenfolge", "übersetzte Zeichenfolge". Ich denke, es ist die letzte Regel des Magento-Übersetzungs-Workflows.
quelle
Bei SemExpert machen wir genau das. Wir haben unser eigenes es_AR-Übersetzungspaket (mit CSV-Dateien und E-Mail-Vorlagen), und alle Anpassungen werden entweder über translate.csv oder über die Inline-Übersetzungsfunktion (in sehr seltenen Fällen für Endbenutzer) vorgenommen.
Wir riskieren (vorerst) nicht, Übersetzungsdateien aufgrund eines Magento-Upgrades zu verlieren, da es sehr unwahrscheinlich ist, dass es_AR von Anfang an unterstützt wird, aber wir leiden darunter, dass Magento kleine Änderungen an ihren Zeichenfolgen vornimmt (wie das Hinzufügen eines '.' Bei das Ende eines Satzes), die englische Zeichenfolgen erscheinen lassen, wenn Sie sie am wenigsten erwarten.
Ich habe begonnen, ein kleines Modul zur Überwachung von Übersetzungszeichenfolgen zu entwickeln, das wir verwenden, wenn eine neue Mage-Version veröffentlicht wird. Sie finden es hier: https://github.com/barbazul/SemExpert_TranslationDoctor
quelle