Magento, traduire les messages d'erreur de validation
J'ai réussi à créé de nouvelles règles pour le prototype de validation, maintenant, j'ai besoin de traduire les messages d'erreur (Localisation: Chaîne de caractères en Javascript). Cependant, je ne peux traduire tous les messages, mon nouveau personnalisées ne semblent pas être traduisible. Comment puis-je changer cela?
Êtes-vous en utilisant $this->__(sometext)? Sont vos messages traduits dans les fichiers CSV?
en fait, je n'en ai pas parce que l'étiquette est dans un undynamic fichier JS. Comme tous les autres étiquettes. alors il essaye de se jeter à travers le traducteur js
X-Ref: Magento :: Traduire du texte à partir de fichiers javascript
en fait, je n'en ai pas parce que l'étiquette est dans un undynamic fichier JS. Comme tous les autres étiquettes. alors il essaye de se jeter à travers le traducteur js
X-Ref: Magento :: Traduire du texte à partir de fichiers javascript
OriginalL'auteur Moak | 2009-09-20
Vous devez vous connecter pour publier un commentaire.
Peut-être vous avez besoin d'un
jstranslator.xml
fichier à l'intérieur deetc
dossier:Avec la structure suivante et significations:
<jstranslator>
- [d'un] XML nœud racine.<some-message-name>
- [zéro ou plus] nœud racine éléments d'enfant avec un unique nom de l'élément XML dans tous lesjstranslator.xml
fichiers (sinon dernier dans l'ordre de chargement basé sur le module d'inscription victoires).translate="message"
- (facultatif) un indice que l'enfant ou les élément(s) qui est en cours de traduction est nommé "message
", mais c'est hardencoded pour le js de la traduction des fichiers XML (Magento CE 1.9, recherche pour "*/message
") et cet attribut ne doit pas être utilisé.module="mymodule"
- (facultatif) nom du module, si on les laisse sortir la valeur est "core
". Il sera utilisé pour instancier les données-helper plus tard (à partir de ce module) qui est responsable de charger les traductions (par exemple à partir des fichiers CSV).<message>
- [zéro ou un, par parent] message à traduire. le texte de la valeur de ce noeud éléments de valeur est ajoutée à la javascript Traducteur les données de l'objet.Tous
jstranslator.xml
fichiers de activé modules sont traités.Puis mettre votre traduction en ligne dans les
Something_Mymodule.csv
fichier:Ensuite dans vos scripts js vous pouvez utiliser vos propres traductions via le Traducteur:
D'Autres Références
OriginalL'auteur Victor Rodriguez
De traduire un code javascript personnalisé des messages d'erreur vous devez également ajouter le fichier suivant:
trouver une fonction _getTranslateData()
et vous verrez un tas de messages déjà là.
suffit d'ajouter votre message quelque part dans le tableau comme ceci:
Ne pas oublier une virgule (,).
Et puis mettre la traduction dans certains traduire de fichier.
Dans le fichier où vous utilisez ce message (je l'utilise dans opcheckout.js fichier), vous devez renvoyer le texte en
Translator.translate('This is my validation message')
.Je n'ai pas compris si, pourtant, il est important de traduire fichier. Vous pouvez essayer de
Mage_Core.csv
.J'en avais besoin dans
Mage_Checkout.csv
et il fonctionne.De toute façon, pour ceux qui sont intéressés de plus, j'ai remarqué que ces messages javascript sont imprimées dans l'en-tête de chaque page html et certains worrie qu'il mess avec le SEO. De toute façon c'est imprimé dans le fichier
\app\design\frontend\bmled\default\template\page\html\head.phtml
avec le code.Vérifier pour plus de détails ici:
Oh, et si vous n'aimez pas cette solution, mabey ce sera la suite de mieux. Vérifier ici:
J'espère que cette aide, j'espère juste que cela fonctionne partout, jusqu'à présent, je l'ai testé sur Onepage Checkout.
no-no
. Vous devez faire quelque chose commeTranslator.add('This is my validation message','<?php echo Mage::helper('yourmodule')->__('This is my validation message')?>');
à la place.OriginalL'auteur jazkat
Vous pouvez modifier
app/local/ur_language/Mage_Core.csv
fichier, en ajoutant de la chaîne d'origine dans la première Colonne de la traduction dans la seconde. Tous les javascript traductions sont stockées dans ce fichier.OriginalL'auteur Marcos Penhos
Ce qui m'a aidé (Magento EE 1.6) -
J'ai ajouté une nouvelle traduction de l'objet:
si elle est définie VarienForm l'utilise en js validation
jstranslator.xml
que c'est plus facile avec l'encodage.OriginalL'auteur Zippp
Nous avons eu exactement le même problème avec l'un de nos projets magento. Nous avons constaté que la fonction de
app/design/frontend/default/default/template/page/htmlhead.phtml
avait été commentée:Après la mise en, il n'a toujours pas de travail, parce que les traductions n'avait pas été insérée dans la traduire de fichier. Découvrez ces deux choses, et il devrait commencer à travailler.
OriginalL'auteur Odif Yltsaeb
Développer ce système, vous devez ajouter la traduction des chaînes de Mage/Core/Helper/Js.php.
Oh oui, elle le fait. Au point où j'ai répondu, c'était la seule réponse appropriée. Le top-rated, réponse plus complète est venu un an après la mienne. Merci pour le downvote pour l'affichage de l'aide que m'a fallu des heures pour comprendre. >_>
J'aimerai fortement décourager l'édition de fichiers de base, c'est pourquoi -1
J'ai pensé qu'il est évident que vous ne modifiez pas les fichiers dans/app / code/core/ mais plutôt une copie dans app/code/local.
OriginalL'auteur demonkoryu