Une question similaire a déjà été posée ici: traductions de texte javascript de Magento 2 , mais Magento a mis à jour cette technique de traduction dans la version bêta.
Comment puis-je ajouter ou mettre à jour des traductions utilisées par Javascript?
J'ai compris que Magento crée un fichier appelé 'js-translation.json' dans le dossier statique. Si je modifie ce fichier directement, je constate que mes traductions sont mises à jour. Mais où ce fichier est-il créé et comment puis-je ajouter des traductions pour que Magento l'ajoute automatiquement à js-translation.json lors de sa génération?
Mise à jour
La bonne réponse à cette question n'est toujours pas donnée, même si Mage2.PRO m'a indiqué la bonne direction, ce n'est pas la réponse complète. Mon js-translation.json est toujours vide lors de sa génération.
Par exemple, j'aime traduire le bouton Ajouter au panier. Ce bouton a trois états, Ajouter au panier, Ajouter ... et Ajouté ... Comment puis-je traduire ces mots? Un autre exemple, le "Vous n'avez aucun article dans votre panier". texte dans le minicart. Je pense que toutes ces phrases devraient être traduites de js-translation.json, mais où les ajouter pour que ce fichier soit rempli de ces traductions?
$.mage.__('Add To Cart')
il sera automatiquement récupéré par lasetup:static-content:deploy
commande. Le seul hic est que vous devez avoir dans les fichiers de paramètres régionaux une traduction différente pour le texte. Les textes qui ont comme traduction le même texte ne sont pas ajoutés au fichier json afin de ne pas augmenter la taille sans raison.Réponses:
Je ne sais pas si vous l'avez déjà compris, mais je pensais que je répondrais de toute façon ..
Je suppose que les autres réponses vont dans la bonne direction.
En supposant que vous avez déjà installé les traductions, sinon:
bin/magento i18n:pack -m replace -d source_nl_NL.csv . nl_NL
Donc, tout d'abord, veuillez vider le cache (comme d'autres l'ont suggéré également):
rm -rf var/cache var/generation var/page_cache var/view_preprocessed
Deuxièmement, veuillez effacer votre dossier pub / statique:
rm -rf pub/static/*/
Ensuite, nous régénérons le contenu statique: (j'ai raté le langcode dans les autres réponses ..)
bin/magento setup:static-content:deploy nl_NL
- Assurez-vous d'ajouter le langcodeVérifiez maintenant si js-translation.json a été créé:
find pub/static/ -name "js-translation.json"
Vous obtiendrez probablement une liste de
js-translation.json
fichiers. Veuillez vérifier ces fichiers et les supprimer s'ils sont vides ou contiennent quelque chose comme[]
.la source
Essayez d'ajouter des traductions aux fichiers .csv, puis assurez-vous que les étapes suivantes sont exécutées:
la source
Supprimez tout le cache et le contenu du dossier pub / statique delele.
Allez dans votre répertoire racine et exécutez la commande ci-dessous: -
configuration de php bin / magento: contenu statique: déployer
J'espère que votre problème sera résolu.
la source
J'ai eu le même problème comme "Impossible de traduire des phrases en $ .mage .__ ('XXX')" lorsque la phrase en phtml fonctionnait parfaitement. La solution était donc ingénieusement simple.
$ t (...) et $ .mage analyse uniquement les fichiers * .js
Par conséquent, il ne tombe pas dans le dictionnaire de traduction js.
Ainsi, lors du rendu d'un script de section dans des fichiers phtml, vous devez directement insérer les phrases déjà traduites avec des wrappers
__('Translated phrase')
.la source