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 .
