Sur l'un de mes formulaires de contact, il y a un message pré-rempli afin que les candidats évitent les messages malveillants et disposent d'une bonne base de travail initiale.Choisir la traduction I18n aléatoire avec les paramètres
Jusqu'ici j'utilisais un seul message_template
, mais j'aimerais introduire une certaine variété avec une liste aléatoire.
Ma traduction a besoin de quelques variables pour fonctionner correctement
Au départ, j'avais quelque chose comme ça
# locales/en.yml
en:
message_template: "Hello %{name}, how are you on this %{day} !"
# my_view.html.erb
<%= t(:my_template, name: @user.name, day: DateTime.now.strftime('B') %>
Je voudrais passer à une chaîne de traduction aléatoire (par exemple choisir une traduction aléatoire dans une liste), ET encore remplacer les variables.
Quelque chose comme
# locales/en.yml
en:
message_templates:
- "Hello %{name}, how are you on this %{day} !"
- "Hi %{name}, nice %{day} isn't it ? how are you ?"
# my_view.html.erb
<%= t('my_templates.sample'), name: @user.name, day: DateTime.now.strftime('B') %>
Quelle serait une syntaxe de travail?
REMARQUE:
J'ai essayé <%= t('my_templates, name: @user.name, day: DateTime.now.strftime('B')).sample %>
Mais j'obtenir des cordes avec des valeurs non param substitués:
Salut% {name}, belle% {jour} est pas? Comment allez-vous ?
Je demande aussi comment je peux vérifier que (par exemple en utilisant capybara) –