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 plus d'options, visitez le site https://groups.google.com/d/optout .
