Les traductions de Magento 2 ne fonctionnent pas


10

J'essaie de traduire du texte dans la page de paiement:

"Le code postal fourni ne semble pas valide."

Cependant, lorsque j'ajoute et redéploie ce qui suit frontend/..theme../Magento_Checkout/i18n/en_US.csv, la traduction n'est pas là:

"Le code postal fourni semble invalide.", "Test".

J'ai également vidé le cache. Qu'est-ce que je fais mal?


vérifier ma réponse mise à jour. J'espère maintenant travailler pour vous.
Suresh Chikani

Réponses:


15

Créer un répertoire app/i18n/Vendorname/en_US

Commande d'émission:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoCela va collecter toutes les phrases traduisibles dans le fichier csv et les placer dans le chemin spécifié. Apportez des modifications au fichier csv selon vos besoins et lorsque la commande d'émission prête:

bin/magento i18n:pack app/i18n/Vendorname/en_US/en_US.csv -d en_US

Cela déploiera les traductions de votre fichier.

videz le cache, etc. et vous devriez voir vos modifications.


Cela semble prometteur. Il dit que le paquet de langue a été enregistré avec succès mais la traduction n'est toujours pas là.
Cake

Lorsque je refais la commande collect-phrases, la traduction revient à ce qu'elle était. Pourquoi ne sauve-t-il pas?
Gâteau

C'est un comportement normal, lorsque vous vous souvenez de phrases, il remplace vos modifications car Magento a récupéré toutes les phrases par défaut. Le processus consiste à collecter des phrases, à apporter vos modifications et à les déployer.Une fois déployé, vous pouvez aller dans le module concerné, disons que vous avez apporté des modifications pour Ajouter au panier pour ajouter au sac, vous pouvez aller dans le fournisseur / module-catalogue / i18n / en_US. csv et recherchez votre changement. Je viens de retester cela et cela fonctionne comme il se doit. Assurez-vous de modifier la deuxième instance de traduction et de vider correctement le cache. Vous pouvez également essayer de déployer à nouveau du contenu statique.
Devtype

Merci beaucoup, cela fonctionne en effet. Cependant, certaines traductions ne parviennent pas. La traduction «Exemple:» et les «champs obligatoires» ne sont pas traduits. Comment venir?
Cake

Trouvé le problème. J'ai dû configurer php bin / magento: mise à niveau. Après cela, mon site a été foiré, mais le thème a été corrigé. Je ne sais pas pourquoi cela a fonctionné. Merci
Cake

4

Vous ne pouvez modifier que le texte écrit en traduction

Comme : $this->__("Sample Taxt");

Texte suggéré non écrit dans la traduction, vous ne pouvez donc pas le modifier avec la traduction.

Si vous voulez le changer, vous pouvez le trouver dans le fichier JS qui se trouve:

vendor/magento/module-checkout/view/frontend/web/js/model/shipping-rates-validator.js

Remarque: vous devez remplacer le fichier JS dans votre thème.

Supprimer pub / statique / *

Exécuter la commande:

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Supprimer le cache du navigateur.


J'ai essayé cela et cela n'a pas fonctionné pour une raison quelconque.
Cake

J'ai copié ce fichier, changé la traduction et l'ai mis dans app / design / frontend / <vendor> / <theme> / Magento_Checkout / web / js / model, redéployé et nettoyé le cache. Mais pas de changement ..
Gâteau

vérifier ma réponse mise à jour. J'espère maintenant travailler pour vous.
Suresh Chikani

Cela a bien fonctionné. Cependant, la solution fournie par Devtype convient davantage à mes besoins dans ce cas. Merci pour l'aide! :)
Cake

1

J'ai eu le même problème sur mon site Web Magento 2, j'ai essayé toutes sortes de suggestions pour le résoudre, mais la seule chose qui a fonctionné pour moi était -

  1. aller à /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. Trouvez-le js-translation.jsonet supprimez-le (faites-en une copie au cas où!)

  3. Retournez dans votre dossier racine magento et exécutez php bin/magento setup:static-content:deploy pl_PL

  4. Ensuite, exécutez php bin/magento cache:flush

C'est ça. Si vous revenez au /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>dossier, notez qu'ils js-translation.jsonont été générés à nouveau.

Ce problème se produit car lorsque vous exécutez un déploiement statique, magento génère un fichier js-translation.json avec toutes vos traductions insérées dans ce fichier et l'appelle à chaque fois que la page est chargée. Ainsi, lorsqu'il est déjà généré et généralement vide, il ne peut pas le remplacer par de nouvelles informations. En le supprimant et en le régénérant, le problème sera résolu.

J'espère que cela va aider quelqu'un.


Salut @Pinky_P, dans mon cas, js-translation.json est mis à jour avec ma traduction attendue. Mais il ne s'affiche pas en frontend. Pourriez-vous s'il vous plaît m'aider à résoudre ce problème.
Ramya

0

UstJuste un rappel ...

Magento stocke certaines données de traduction dans le stockage du navigateur.

Vous devrez peut-être nettoyer les éléments de stockage du navigateur en plus des caches internes de Magento.

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.