Magento übersetzung
Habe ich erfolgreich erstellt neue Regeln für die Prototypen-Validierung, jetzt muss ich übersetzen der Fehlermeldungen (Ort: String in Javascript). Allerdings kann ich nur übersetzen, alle Nachrichten, meine neue benutzerdefinierte diejenigen die anscheinend nicht übersetzbar. Wie kann ich das ändern?
- Verwenden Sie $this->__(sometext)? Sind Ihre übersetzten Nachrichten in die entsprechenden CSV-Dateien?
- in der Tat, ich glaube nicht, weil das Etikett ist in einem undynamic JS-Datei. Wie alle anderen Etiketten. dann es versucht zu werfen, Sie durch die übersetzer js
- X-Ref: Magento :: text Übersetzen von javascript-Dateien
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht brauchen Sie eine
jstranslator.xml
Datei inetc
Ordner:Folgende Struktur und Bedeutung:
<jstranslator>
- [ein] XML root-Knoten.<some-message-name>
- [null oder mehr] root-Knoten untergeordneten Elemente mit einem eindeutigen XML-element-Namen über allejstranslator.xml
Dateien (sonst Letzte in der Ladereihenfolge basiert auf Modul-listing-wins).translate="message"
- (optional) ein Hinweis, dass das Kind-element(en), die übersetzt ist mit "message
", dies ist jedoch hardencoded für die js-übersetzung von XML-Dateien (Magento CE 1.9, suchen Sie nach "*/message
") und dieses Attribut muss nicht verwendet werden.module="mymodule"
- (optional) name des Moduls, wenn sich der Wert "core
". Es wird verwendet, um zu instanziieren, die Daten-helper später (aus diesem Modul), die dann dafür verantwortlich, zum laden der übersetzungen (z.B. aus der CSV-Dateien).<message>
- [null oder eins pro parent] - Nachricht zu übersetzen. der text Wert dieser Elemente Knoten-Wert ist, übernommen zu werden, Hinzugefügt, um die javascript - Übersetzer - Objekt-Daten.Alle
jstranslator.xml
Dateien von aktiviert - Modulen verarbeitet werden.Dann stellen Sie Ihre übersetzung Zeile in der
Something_Mymodule.csv
Datei:Dann in deiner js-Skripten können Sie eigene übersetzungen über die Übersetzer:
Weitere Referenzen
Übersetzen benutzerdefinierte javascript-Fehlermeldungen, die Sie brauchen, auch, um Sie in die folgende Datei:
finden Sie eine Funktion _getTranslateData()
und Sie werden sehen, eine Reihe von Nachrichten, die bereits dort.
fügen Sie einfach Ihre Nachricht irgendwo im array wie dieses:
Vergessen Sie nicht, ein Komma (,).
Und setzen Sie dann die übersetzung in einige translate-Datei.
In der Datei, wo Sie diese Nachricht (ich benutze es in opcheckout.js - Datei), die Sie benötigen, um Zeilenumbruch in
Translator.translate('This is my validation message')
.Ich hab noch nicht herausgefunden, wenn es wichtig ist, die translate-Datei ist. Sie können versuchen
Mage_Core.csv
.Brauchte ich es in
Mage_Checkout.csv
und es funktioniert dort.Jedenfalls für diejenigen, die daran interessiert sind, mehr, bemerkte ich, dass diese javascript-Meldungen gedruckt werden, die im header jeder html-Seite und einige worrie, dass es Verwirrungen mit der SEO. Wie auch immer, das wird in Datei gedruckt
\app\design\frontend\bmled\default\template\page\html\head.phtml
mit dem code.Überprüfen Sie hier mehr:
Oh, und wenn Sie nicht mögen diese Lösung, mabey diese suite wird Sie besser. Prüfen Sie hier:
Ich hoffe das hilft, ich hoffe nur, das funktioniert überall, so weit ich es getestet auf Onepage-Checkout nur.
no-no
. Du sollst etwas tun, wieTranslator.add('This is my validation message','<?php echo Mage::helper('yourmodule')->__('This is my validation message')?>');
statt.Können Sie Bearbeiten
app/local/ur_language/Mage_Core.csv
- Datei, hinzufügen von original-string in der ersten Spalte das übersetzt man in die zweite. Alle javascript-übersetzungen werden in dieser Datei gespeichert.Was half mir (Magento EE 1.6) -
Ich fügte hinzu, neue übersetzungs-Objekt:
wenn es definiert ist VarienForm verwendet es in js Validierung
jstranslator.xml
wie es einfacher mit der Codierung.Hatten wir genau das gleiche problem mit einem unserer magento-Projekte. Wir haben festgestellt, dass die Funktion in
app/design/frontend/default/default/template/page/htmlhead.phtml
hatte auskommentiert:Nachdem man diese in der es immer noch nicht funktioniert, weil die übersetzungen nicht gewesen eingefügt in die Datei übersetzen. Schauen Sie sich diese zwei Dinge, und es sollte anfangen zu arbeiten.
Zu erweitern, müssen Sie die strings zu übersetzen, um Mage/Core/Helper/Js.php.