Voilà : https://gist.github.com/virtualmice/4a02b2a7aa2620ad6fdc

Normalement si on colle ça dans un initializer on doir avoir des chaines
traduites entourées de <span> avec toutes les data.

Le mieux évidemment est de mettre ça dans lib et de la charger
conditionnellement (si env de trad)


2014-05-13 16:13 GMT+02:00 Guirec Corbel <[email protected]>:

> Ça m'intéresse de voir comment tu fais. Je fais un peu la même chose avec
> https://phraseapp.com/ mais j'ai eu des problème avec leur outil
> javascript.
>
>
> Le 13 mai 2014 08:11, philippe lachaise <[email protected]> a
> écrit :
>
> Bonjour,
>>
>> Je ne sais pas si je vais répondre en plein dans le sujet mais voilà :
>>
>> J'avais commencé et pas mal avancé un outil d'aide à la traduction I18n
>> inline.
>>
>> Le principe :
>>
>> 1) un mode "translation" (distinct de development et production) génère
>> le HTML avec des attributs data contenant les traductions.
>>
>> 2) Une interface JS permet de traduire in-place chaque élément d'UI
>>
>> 3) Les traductions sont enregistrées dans les YAML (config/locales)
>> correspondants de l'instance qui tourne.
>>
>>
>> Utilisation : l'instance de traduction de l'app étant en ligne, les
>> traducteurs peuvent travailler directement dessus.
>> Cette instance correspond à une branche "translation" du projet
>> (interface git avec l'appli ?) et on peut récupérer le travail des
>> traducteurs pas un simple merge.
>>
>> Bref, j'avais dégrossi (la partie 1 est codée, en mix-in haml), si ça
>> interesse quelqu'un je peux le ressortir :-)
>>
>>
>>
>> 2014-05-13 13:49 GMT+02:00 Guirec Corbel <[email protected]>:
>>
>> Salut,
>>>
>>> Je suis en train de développer un outil. Vous pouvez voir une courte
>>> demo dans cette video :
>>> https://www.youtube.com/watch?v=Iw5D98nGd8o&feature=youtu.be.
>>>
>>> Le projet s'appel [Babel](https://github.com/GCorbel/babel), comme la
>>> tour. Le principe est simple, j'utilise
>>> https://github.com/GCorbel/frontendeditor qui permet de remplacer une
>>> zone par un champs d'édition et, lorsque l'on clique sur un bouton, une
>>> requête HTTP est envoyée. Vous pouvez voir une démo fonctionnel ici :
>>> https://github.com/GCorbel/frontendeditor/blob/master/test/dummy/public/index.html
>>> .
>>>
>>> J'ai ensuite réécrit la fonction `translate` de I18n pour que
>>>
>>>    <%= t('blabla') %>
>>>
>>> Devienne
>>>
>>>   <div class="editable-long-text" data-attribute="translation" 
>>> data-id="blabla" data-object="translations" data-prefix="/babel">
>>>
>>>
>>>     My Value
>>>
>>>
>>>
>>>   </div>
>>>
>>> J'ai ensuite fait un controller qui permet, premièrement, d'enregistrer 
>>> temporairement la traduction, et deuxièmement, de l'enregistrer dans le 
>>> fichier.
>>>
>>>
>>>
>>> Pour ajouter CKeditor, j'utilise 
>>> https://github.com/GCorbel/frontendeditor_ckeditor.
>>>
>>>
>>>
>>> L'outil permet facilement d'éditer le contenu d'une page. Faire un mini cms 
>>> devient facile. Il suffirait de faire quelque chose du genre `<%= 
>>> t(page.code) %>`. En plus, l'outil support l'interpolation comme I18n.
>>>
>>>
>>>
>>>
>>>
>>>
>>> J'ai oublié de faire mon commit ce matin mais j'aurais probablement besoin 
>>> d'un refactoring. Je vous mettrais au courant quand ça serait prêt. J'ai 
>>> pas encore eu le temps de faire une doc.
>>>
>>>
>>>
>>> Qu'en pensez vous?
>>>
>>>
>>>
>>> Bye,
>>>
>>>
>>> Guirec.
>>>
>>>
>>>
>>> Le 10 mai 2014 16:27, Sylvain Abélard <[email protected]> a
>>> écrit :
>>>
>>> Je suis un grand fan de GetText :)
>>>>
>>>>
>>>> On Tuesday, May 6, 2014 6:59:46 PM UTC+2, Guirec Corbel wrote:
>>>>>
>>>>> Bonjour les amis,
>>>>>
>>>>>
>>>>> Je suis en train de travailler sur https://github.com/
>>>>> GCorbel/frontendeditor et https://github.com/GCorbel/
>>>>> frontendeditor_ckeditor. Le premier projet permet de créer une zone
>>>>> d'édition dans une page avec un éditeur inline et un bouton save qui 
>>>>> envoie
>>>>> une requête ajax pour sauvegarder les changements. Le second est 
>>>>> simplement
>>>>> l'intégration de l'outil avec ckeditor.
>>>>>
>>>>> J'ai eu l'idée d'intégrer l'outil pour faire des traductions. Pour
>>>>> cela, je cherche une gem qui s'occupe des traductions et qui peut
>>>>> enregistrer des clés. Évidement, je connais I18n. Le problème c'est qu'il
>>>>> ne permet pas de sauvegarder des associations. Il y a redis-i18n qui 
>>>>> permet
>>>>> de le faire mais la gem ne semble pas être entretenue depuis 9 mois.
>>>>>
>>>>> Il y a t'il de meilleurs alternatives?
>>>>>
>>>>> Bye,
>>>>> Guirec.
>>>>>
>>>>  --
>>>> --
>>>> 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 recevez ce message, car vous êtes abonné au groupe Google Groupes
>>>> "Railsfrance".
>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>>> concernant, envoyez un e-mail à l'adresse
>>>> [email protected].
>>>> Pour obtenir davantage d'options, consultez la page
>>>> https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
>>> --
>>> 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 recevez ce message, car vous êtes abonné au groupe Google Groupes
>>> "Railsfrance".
>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>> concernant, envoyez un e-mail à l'adresse
>>> [email protected].
>>> Pour obtenir davantage d'options, consultez la page
>>> https://groups.google.com/d/optout.
>>>
>>
>>  --
>> --
>> 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 recevez ce message, car vous êtes abonné au groupe Google Groupes
>> "Railsfrance".
>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>> concernant, envoyez un e-mail à l'adresse
>> [email protected].
>> Pour obtenir davantage d'options, consultez la page
>> https://groups.google.com/d/optout.
>>
>
>  --
> --
> 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 recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Railsfrance".
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> [email protected].
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.
>

-- 
-- 
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 recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à