Magento, Validierungsfehlermeldungen übersetzen

8

Ich habe erfolgreich neue Regeln für die Prototyp-Validierung erstellt, jetzt muss ich die Fehlermeldungen übersetzen (Location: String in Javascript). Ich kann jedoch nur alle Nachrichten übersetzen, meine neuen benutzerdefinierten scheinen nicht übersetzbar zu sein. Wie ändere ich das?

    
Moak 20.09.2009, 04:29
quelle

6 Antworten

7

Vielleicht brauchen Sie eine jstranslator.xml Datei im etc Ordner:

%Vor%

Mit folgender Struktur und Bedeutung:

  • <jstranslator> - [one] XML-Wurzelknoten.
    • <some-message-name> - [null oder mehr] Wurzelknoten-Kindelemente mit einem eindeutigen XML-Elementnamen für alle jstranslator.xml -Dateien (ansonsten in der Ladereihenfolge basierend auf Modullistengewinnen).
      • Attribute:
      • translate="message" - (optional) ein Hinweis, dass die untergeordneten Elemente, die gerade übersetzt werden, den Namen " message " haben, dies jedoch für die js-Übersetzungs-XML-Dateien fest codiert ist (Magento CE 1.9, Suche nach " */message ") ) und dieses Attribut muss nicht verwendet werden.
      • module="mymodule" - (optional) Name des Moduls, wenn weggelassen, ist der Wert " core ". Es wird verwendet, um später den Datenhelfer zu instanziieren (von diesem Modul), der dann dazu dient, die Übersetzungen zu laden (z. B. aus den CSV-Dateien).
    • <message> - [null oder eins pro Elternteil] zu übersetzende Nachricht. Der Textwert dieses Elementes node-value wird den JavaScript Translator -Objektdaten hinzugefügt.

Alle jstranslator.xml Dateien von aktivierten Modulen werden verarbeitet.

Dann setze deine Übersetzungszeile in die Datei Something_Mymodule.csv :

%Vor%

Dann können Sie in Ihren js-Skripten Ihre eigenen Übersetzungen über den Translator verwenden:

%Vor%

Weitere Referenzen

Victor Rodriguez 05.09.2012 17:20
quelle
6

Um benutzerdefinierte Javascript-Fehlermeldungen zu übersetzen, müssen Sie sie auch der folgenden Datei hinzufügen:

%Vor%

finde eine Funktion _getTranslateData () und Sie werden eine Reihe von Nachrichten bereits dort sehen.

fügen Sie Ihre Nachricht einfach so in das Array ein:

%Vor%

Vergessen Sie nicht ein Komma (,) .

Und dann setze die Übersetzung in eine Übersetzungsdatei.

In der Datei, in der Sie diese Nachricht verwenden (ich verwende sie in der Datei opcheckout.js ), müssen Sie den Text in Translator.translate('This is my validation message') umbrechen.

Ich habe noch nicht herausgefunden, ob es wichtig ist, welche Datei das ist. Sie können Mage_Core.csv versuchen.

Ich brauchte es in Mage_Checkout.csv und es funktioniert dort.

Wie auch immer, für diejenigen, die an mehr interessiert sind, habe ich bemerkt, dass diese Javascript-Nachrichten in den Kopfzeilen jeder HTML-Seite gedruckt werden und einige Sorgen, die es mit der SEO zu tun haben. Jedenfalls ist dies in Datei gedruckt \app\design\frontend\bmled\default\template\page\html\head.phtml mit dem Code.

%Vor%

Hier finden Sie weitere Informationen:

Oh, und wenn Sie diese Lösung nicht mögen, matey das wird Ihnen besser passen. Hier klicken:

Ich hoffe, das hilft, ich hoffe nur, das funktioniert überall, bisher habe ich es nur auf OnePage Checkout getestet.

    
jazkat 01.10.2010 13:07
quelle
1

Sie können app/local/ur_language/Mage_Core.csv file bearbeiten, indem Sie in der ersten Spalte die ursprüngliche Zeichenfolge und in der zweiten die übersetzte Zeichenfolge hinzufügen. Alle Javascript-Übersetzungen sind in dieser Datei gespeichert.

    
Marcos Penhos 09.02.2010 00:17
quelle
1

Was mir geholfen hat (Magento EE 1.6) - Ich habe ein neues Übersetzungsobjekt hinzugefügt:

%Vor%

Wenn es definiert ist, verwendet VarienForm es in der js-Validierung

    
Zippp 05.02.2013 09:04
quelle
0

Wir hatten 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 auskommentiert wurde:

%Vor%

Nach dem Einfügen funktionierte es immer noch nicht, weil keine Übersetzungen in die Übersetzungsdatei eingefügt worden waren. Sieh dir diese zwei Dinge an und es sollte anfangen zu arbeiten.

    
Odif Yltsaeb 02.10.2009 06:41
quelle
-2

Um dies zu erweitern, müssen Sie die Übersetzungszeichenfolgen zu Mage / Core / Helper / Js.php hinzufügen.

    
demonkoryu 27.11.2009 13:14
quelle