J'ai créé avec succès de nouvelles règles pour la validation du prototype, maintenant, je dois traduire les messages d'erreur (emplacement: chaîne en JavaScript). Cependant, je ne peux traduire que tous les messages, mes nouveaux personnalisés ne semblent pas être traduits. Comment puis-je changer cela? P>
6 Réponses :
Nous avions exactement le même problème avec l'un de nos projets de magentas. Nous avons constaté que la fonction dans après avoir mis cela dans Cela n'a toujours pas fonctionné, car les traductions n'avaient pas été insérées dans la traduction du fichier. Vérifiez ces deux choses et il devrait commencer à fonctionner. P> p> app / conception / frontend / par défaut / par défaut / de modèle / page / htmlhead.phtml code> avait été commentée:
Pour développer ce problème, vous devez ajouter les chaînes de traduction à Mage / Core / Helper / js.php. P>
Cela ne fournit pas de réponse à la question. Critiquer ou demander des éclaircissements d'un auteur, laissez un commentaire sous leur poste.
Oh oui, ça fait. Au point où j'ai répondu cela, c'était la seule réponse appropriée. La réponse supérieure et plus complète est arrivée un an après le mien. Merci pour le Downvote d'avoir posté de l'aide qui m'a pris des heures pour comprendre. > _>
Je pensais qu'il était évident que vous ne modifiez pas les fichiers dans l'application / code / noyau / mais plutôt une copie dans l'application / code / local.
Vous pouvez modifier app / local / ur_language / mage_core.csv code> fichier, ajout de la chaîne d'origine dans la première colonne la traduite dans la seconde. Toutes les traductions JavaScript sont stockées dans ce fichier. P>
Pour traduire des messages d'erreur JavaScript personnalisés Vous devez également les ajouter au fichier suivant: trouver une fonction Ajoutez simplement votre message quelque part dans le tableau comme ceci: p> n'oublie pas une virgule puis mettez la traduction dans certains fichiers de traduction. p> dans le fichier où vous utilisez ce message (je l'utilise dans opcheckout.js strong> fichier) Vous devez envelopper le texte dans Je n'ai pas encore compris s'il est important qui traduisent le fichier qui est. Vous pouvez essayer J'en ai besoin dans J'espère que cela aide, je J'espère que cela fonctionne partout, jusqu'à présent, je l'ai testé sur Onepage Checkout uniquement. P> P> traducteur.Translate ('C'est ma validation message ') code>. p>
mage_core.csv code>. P>
mage_checkout.csv code> et il fonctionne là-bas. P> << P > Quoi qu'il en soit, pour ceux qui sont intéressés par plus, j'ai remarqué que ces messages JavaScript sont imprimés dans l'en-tête de chaque page HTML et de certaines inquiétantes qu'il gâchit avec le référencement. En tout cas, cela est imprimé dans le fichier
\ app \ concept \ frontend \ bmled \ moule \ modèle \ page \ html \ head.phtml code> avec le code. p>
Modification du fichier Magneto Core est un NON-NO CODE>. Vous ferez quelque chose comme
translator.add ('c'est mon message de validation', ' PHP ECHO MAGE :: ALPER ("YourModule') -> __ (" C'est mon message de validation ")?> ') ; code> à la place.
Peut-être que vous avez besoin d'un fichier avec la structure et les significations suivantes: P > Tous puis placez votre ligne de traduction dans le puis dans vos scripts JS, vous pouvez utiliser vos propres traductions via le traducteur fort>: p> < Pré> xxx pré> jstranslator.xml code> fichier intérieur
etc code> dossier:
jstranslator.xml code> (sinon dernier ordre de chargement basé sur la liste des module gagne).
traduction = "message" code> - (facultatif) Un indice que l'élément (s) enfant (s) traduit (s) traduit est nommé "
message code>", mais cela est durcied pour Les fichiers XML de traduction JS (Magento CE 1.9, recherchent "
* / message code>") et cet attribut n'a pas besoin d'être utilisé. LI>
module = "myModule" code> - (facultatif) Nom du module, s'il limite la valeur est "
noyau code>". Il sera utilisé pour instancier l'assistant de données plus tard sur (à partir de ce module), qui est alors repéré pour charger les traductions (par exemple à partir des fichiers CSV). LI>
ul> li>
jstranslator.xml code> fichiers des modules activés em> sont traités. p>
quelque chose_mymodule .csv code> Fichier: P>
Références supplémentaires h2>
Qu'est-ce qui m'a aidé (magento ee 1.6) -
J'ai ajouté un nouvel objet de traduction: s'il est défini Varienform utilise-le dans JS Validation P> P>
Vous ne codez pas correctement les données en tant que chaînes JavaScript. Les traductions de la base de données remplacent toutes les autres traductions, cela peut être utilisé pour injecter du code dans le frontage de votre application via la couche de stockage même. Imaginaire -1 Pour cela, vous devriez préférer jstranslator.xml code> car il est plus facile avec le codage.
Utilisez-vous ceci -> __ (topext)? Vos messages traduits sont-ils dans les fichiers CSV correspondants?
En fait, je n'ai pas parce que l'étiquette est dans un fichier JS non actualisé. Comme toutes les autres étiquettes. alors il trys de les jeter à travers le traducteur JS
X-Ref: Magento :: Traduire le texte des fichiers JavaScript