Mouais, le fait de mettre des clefs '*_html', c'est un peu naze. Imagine
que t'as 50 formats de sortie, tu dois faire 50 clefs différentes pour le
meme mot?

C'est à la vue de gérer la facon dont on rend le texte. La traduction c'est
juste un gros dico et ca doit être indépendant du reste.

Pourquoi?

* si tu veux réutiliser tes trads dans d'autres projets. Tu peux ne pas
utiliser de rendu html et/ou ne plus vouloir les sauts de ligne
* ta vue html converti les sauts de ligne en br, ta vue excel ne convertit
rien, ta vue xml ne converti rien, ta vue pdf ne convertit rien, ta vue
json ne convertit rien...
* admettons que tu mettes de <br> partout dans le yml et que demain tu
veuilles changer pour des <br />, ben t'as beaucoup de boulot pour rien,
difficile à facturer au client en plus (nva)

En l'occurence, dans ta vue html, tu as juste à faire un banal <%=
simple_format t('clef') %>, c'est pas le bout du monde =)
Autrement, si ce sont des gros textes et qu'ils ne sont liés qu'à la vue
html, tu peux utiliser les vues localisées.

Par exemple, pour l'url http://url/products/1

app/
  views/
    products/
      show.en.html.erb
      show.es.html.erb
      show.fr.html.erb

Comme ca t'écrit le texte qu'une fois, en html directement mais dans un
fichier html et c'est réglé =).


Le 6 février 2012 16:14, Étienne Barrié <[email protected]> a écrit :

> Sinon, tu considères que tes traductions peuvent contenir du HTML, tu
> nommes les clés en finissant par un _html et t’auras pas besoin
> d’anticiper côté template, mais tu devras quand même coder les <br> à
> la main dans le YAML.
>
> En même temps le framework est pas magique, il va pas te transformer
> tes traductions sans te demander ton avis (sauf pour des questions de
> sécurité, il va échapper le html si la clé ne se finit pas par _html).
>
> On Mon, Feb 6, 2012 at 16:00, Samuel Laulhau <[email protected]> wrote:
> > Bonjour,
> > dans ce cas je dois dans mon template anticiper toutes les chaines qui
> > pourraient contenir des retours à la ligne ?
> > J'avais trouvé cet helper plus tôt en cherchant une réponse à mon
> problème
> > je trouve cette solution assez décevante. En core une fois je pense que
> le
> > framework est assez bien fait pour savoir que quand la sortie est du html
> > certains caractères doivent être traduits alors pourquoi pas cela ?
> >
> >
> >
> > Le 6 février 2012 14:10, Alexandre Friquet <[email protected]> a écrit :
> >
> >> Bonjour,
> >>
> >> Le 6 février 2012 13:54, sam <[email protected]> a écrit :
> >>>
> >>> Du coup je me demande pourquoi les retours à la ligne ne sont pas
> >>> convertis eux aussi ? Et comment les convertir ? Ajouter les balises
> br dans
> >>> les fichiers de langue ? convertir les sauts à la ligne en br dans les
> >>> templates ?
> >>
> >>
> >> Je pense que simple_format devrait te convenir :
> >>
> >>
> http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
> >>
> >> --
> >> Alex
> >>
> >> --
> >> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
> de
> >> Google Groups.
> >> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> >> [email protected]
> >> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> >> [email protected]
> >
> >
> > --
> > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
> de
> > Google Groups.
> > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> > [email protected]
> > Pour résilier votre abonnement envoyez un e-mail à l'adresse
> > [email protected]
>
>
>
> --
> Étienne Barrié
>
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [email protected]
>

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]

Répondre à