Je sais que ce problème a été traité à plusieurs reprises dans ce forum
Localisation Magento2 Javascript
Magento 2 - problème de traduction dans les modèles JS
Magento2 traduisant le texte du modèle Javascript (KO)
J'ai installé le pack de langue italienne sur mon projet Magento 2.1.9 et la plupart des chaînes sont correctement traduites.
J'ai ajouté un nouveau dictionnaire de traduction dans mon thème.
vendor/<Vendor>/<Theme>/i18n/it_IT.csv
Ici, j'ai modifié certaines traductions et ajouté les nouvelles chaînes de mon thème à traduire. Pour les chaînes incluses dans les fichiers phtml, tout fonctionne bien.
J'ai ajouté quelques chaînes personnalisées dans les modèles de désactivation de la caisse. Par exemple dans
<My-theme>/Magento_Checkout/web/template/authentication.html
J'ai ajouté
<span data-bind="i18n: 'Do you already have an account?'"></span>
Puis dans mon thème it_IT.csv:
"Do you already have an account?","Hai già un account?"
Bien sûr, j'ai vidé le cache, pub / static / , var / view_preprocessed / , var / generation, etc. et j'ai exécuté toutes les commandes.
Les cordes sont toujours en anglais.
Je dois vraiment créer un nouveau paquet de langue pour traduire quelques chaînes lors du paiement? Quelle est la raison?
EDIT Les traductions en ligne fonctionnent pour toutes les chaînes. Cela peut être un moyen de le réparer temporairement mais pas la solution définitive.
la source
Réponses:
Vous devez étendre un package de langue, la création d'un fichier de traduction dans le thème ne suffit pas.
Ce module d'extension doit contenir:
composer.json
language.xml
registration.php
Et bien sûr, fichier avec traductions dans la langue souhaitée.
la source
Une solution alternative (celle que nous avons finalement adoptée) consiste à inclure des fichiers de traduction dans un module plutôt que dans le thème.
Curieusement, les modules csv peuvent facilement traduire les chaînes js.
Créez un nouveau module avec:
composer.json
etc / module.xml
et ici nous ajouterons tout notre fichier de langue:
i18n / it_IT
i18n / en_US
..
Nous avons choisi ce système car le projet sur lequel nous travaillons a plusieurs langues et nous ne voulions pas inclure trop de packages linguistiques.
Notez que cela ne fonctionnera que pour les nouvelles chaînes car Magento donne la priorité aux traductions des modules linguistiques. Mais c'est une autre histoire.
la source