I18n – Ajouter une variable dans un fichier yml avec ruby on rails

Si vous gérez des sites multilingues, vous devez sûrement connaître la gem I18n et les fameux fichiers .yml que l’on place dans le dossier config/locales.

Ces fichiers, permettent de traduire plus facilement des parties de texte d’un site en plusieurs langues.

Dans ces fichiers, il est parfois nécessaire d’ajouter des variables comme dans l’exemple suivant.

J’ai besoin de traduire en anglais et allemand la phrase

« Bonjour Antoine, bienvenue sur le site »

Antoine étant une variable prenom, changeant en fonction de l’utilisateur connecté.

Dans le dossier config/locales, il y’a donc 2 fichiers en.yml et de.yml dont voici le contenu.

Dans en.yml

Dans de.yml

Alors comment remplacer Antoine par n’importe quel prénom (variable).

Dans en.yml et de.yml, il suffit de remplacer Antoine par %{prenom}. Ce qui donne

en:

phrase_accueil: « Hello %{prenom}, welcome to the website »

Maintenant dans la vue où sera appelée la traduction,  il suffira d’ajouter à la fonction de traduction t(:phrase_accueil) un paramètre supplémentaire prenom

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.