Comment traduire des chaînes dans des modèles Twig?


31

Je travaille sur un (mon premier) projet Drupal 8 qui est un site multilingue. Drupal 8 offre vraiment en termes de support natif pour la traduction de contenu. Cependant, j'ai quelques chaînes définies directement dans certains si les fichiers de modèle de thème .Twig imprimés comme ex.

{{ 'Read more'|trans }}

Je suis vraiment coincé sur l'endroit où gérer la traduction de chaînes comme celles-ci dans l'installation de Drupal 8.

Quelles mesures dois-je prendre pour pouvoir traduire ces chaînes dans la langue actuellement sélectionnée sur le site? Ai-je besoin de modules supplémentaires autres que ceux inclus dans le noyau Drupal 8?

Mesures que j'ai prises:

  • Activation des modules de traduction de contenu et de traduction d'interface
  • Ajout de chaînes Twig comme {{'En savoir plus' | trans}}
  • Cache vidé et pages actualisées contenant les chaînes
  • Vérifié admin / config / regional / translate pour les chaînes sans résultat

3
Avez-vous essayé d'utiliser |tau lieu de |trans?
Vagner

@Vagner J'ai ajouté les chaînes comme indiqué dans ma question, où la chaîne est suffixée avec | trans
Henkealg

Réponses:


34

Vous devez visiter la page dans une langue qui n'est pas l'anglais pour les récupérer. Cela devrait suffire.


1
Chiffres que cela devrait être si facile. J'ai rechargé la page en plusieurs langues mais pas dans celle où j'ai eu ce problème. Tout comme vous l'avez dit, les chaînes sont traduisibles une fois que vous visitez la page en utilisant ce paramètre de langue. Merci!
Henkealg


15

Vous pouvez utiliser la {% trans %}balise Twig, disponible dans Drupal 8:

{% trans %}
  Submitted by {{ author.username }} on {{ node.created }}
{% endtrans %}

Voir le lien suivant pour plus de détails: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations


Merci pour votre réponse. J'ai également lu cet article, mais malheureusement, il ne couvre pas où je gère la traduction des chaînes ajoutées aux fichiers de modèle à l'aide de {% trans%} ou | trans, ou | t. : S
Henkealg

Merci pour le post. Ce travail pour moi. Après avoir ajouté ce code: {% trans%} Catégories {% endtrans%} J'ai effacé le cache et je vais sur la page admin / config / regional / translate. Où j'ai recherché mon mot-clé "Catégories" et obtenir un champ de texte pour traduire le mot en français (par exemple). Après cela, je reçois le mot traduit à l'endroit requis.

A aussi fonctionné pour moi!
Achraf JEDAY

2

Voici un exemple que j'ai utilisé où la langue est expliquée, ainsi qu'un contexte. Comme ça, j'ai pu traduire la piqûre «von» deux fois, car en anglais, cela signifiait «de» ou «de».

{{ 'von'|t([],{'langcode': currentLanguageCode,'context':'Seitenzahl PDF' }) }}


1

Il semble que Drupal considère les chaînes traduites personnalisées comme «traduction de l'interface utilisateur». Pour traduire ceux-ci, installez "Traduction de l'interface utilisateur", puis vous trouverez "Traduction de l'interface utilisateur" dans la configuration. Il y a une longue liste de chaînes, mais vos chaînes devraient se trouver dans la dernière section.


1

celui-ci m'a aidé

{{ 'Read more'|trans }}

après cette visite, la page dans une langue qui n'est pas la langue d'origine pour les faire ramasser par Drupal.

/admin/config/regional/translate

c'est tout.

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.