Je voudrais internationaliser un texte qui ressemble à ceci :
Déjà inscrit ? Connectez-vous !
Notez qu'il y a un lien sur le texte. Dans cet exemple, il pointe vers Google - en réalité, il pointera vers le log_in_path
de mon application.
J'ai trouvé deux façons de le faire, mais aucune ne semble "juste".
La première façon que je connais implique d'avoir ceci dans mon en.yml
:
log_in_message: "Déjà inscrit ? Connectez-vous !"
Et dans ma vue :
<%= t('log_in_message', :url => login_path) %>
Cela fonctionne, mais avoir la partie dans le en.yml
ne me semble pas très propre.
L'autre option que je connais consiste à utiliser des vues localisées - login.en.html.erb
et login.es.html.erb
.
Cela ne semble pas non plus correct car la seule ligne différente serait celle mentionnée ci-dessus ; le reste de la vue (~30 lignes) serait répété pour toutes les vues. Ce ne serait pas très DRY.
Je suppose que je pourrais utiliser des "partials localisés" mais cela semble trop lourd ; je pense que je préfère la première option à avoir autant de petits fichiers de vue.
Alors ma question est : y a-t-il un moyen "correct" de mettre en œuvre cela ?
0 votes
Que diriez-vous de ceci ? stackoverflow.com/questions/12334183/…
0 votes
@Wuggy Foofie Vous n'auriez pas dû dupliquer la question. Et la réponse de Simone est meilleure que celles que vous avez obtenues.