[EDIT]
Dies ist veraltet. Die Übersetzung erfolgt nicht mehr wie unten beschrieben.
[/ EDIT]
In Magento 1 wurden die in Javascript benötigten übersetzbaren Texte in die jstranslate.xml
Datei im etc
Ordner eines Moduls eingefügt und automatisch dem Objekt des Übersetzers hinzugefügt.
Wie kann ich übersetzbare Texte hinzufügen, die in Javascript in Magento 2 verwendet werden sollen?
Ich habe herausgefunden, wie man Textübersetzungen in Magento 2 verwendet, aber ich weiß nicht, wie man neue hinzufügt.
Hier ist ein Beispiel für deren Verwendung:
alert($.mage.__('Text to translate here'));
javascript
localisation
magento2
Marius
quelle
quelle
Antworten:
OK. Ich habe eine Lösung gefunden, aber sie scheint mir hässlich zu sein.
Im Layout-Handle der Seite, die ich brauche, füge ich Folgendes hinzu:
dann erstellen Sie die Vorlage
translate.phtml
in[Namespace]/[Module]/view/[frontend|adminhtml]/templates
mit diesem Inhalt:Ich hoffe wirklich, dass es einen anderen Weg gibt, dies zu tun.
quelle
Der Standard-Quellcode für die Übersetzungen im Frontend scheint /app/code/Magento/Translation/view/base/templates/translate.phtml zu sein
Verweisen auf diesen Block /app/code/Magento/Translation/Block/Js.php
Dies hat dies als Datenprovider /app/code/Magento/Translation/Model/Js/DataProvider.php
Sie können also die Abhängigkeit zu einem eigenen Datenprovider ändern oder diesen abfangen, um eigene Übersetzungen hinzuzufügen, oder einen eigenen Block dieses Typs mit einem eigenen Datenprovider hinzufügen.
quelle
translate.phtml
da nichts damit zu tun hatgetTranslatedJson
. Es ist nur eine 'verwaiste' HTML-Datei. Es könnte leicht mit einer\Magento\Framework\View\Element\Template
Blockklasse in Verbindung gebracht werden. Der Effekt wäre der gleiche.$.mage.translate.add
. Wir haben eine hässliche Problemumgehung geschrieben, die unsere Übersetzungs-CSV eines ganzen Sprachpakets dieser Funktion zuführt.