SlideShare une entreprise Scribd logo
i18n for ever !

   @dbaeli
   @gdigugli
Speakers
@dbaeli                            @gdigugli
• Chien de berger Agile pour       • Développeur java depuis 1999
                                   • Architecte pour

• Développeur de plus de 30 ans
• Usine logicielles & DevOps       • ILOG - IBM
• Qualité Logicielle                librairie graphique 2D
                                    moteur de règles
                                   • Prima-Solutions
                                    plate-forme de services pour J2EE
                                    code génération de modèle métier



2
Besoin de gouvernance

•   Gestion de plusieurs langues
•   Maintenance par les développeurs
•   Externalisation à des traducteurs
•   Intégration et synchronisation
•   Accepter corrections tardives
Externaliser l’Internalisation!
• Les langues non maitrisées par l’équipe

• Fichier excel ?
   – Ok mais on intègre comment ?
   – Gestion de source ?

• Outils de gestion de localisation
   – http://www.i18nguy.com/TranslationTools.html
   – Built-in IDE
   – Edition simultanée de .properties
Vraiment pas satisfaisant


•   Trop proche du code source
•   Cycle de vie très différent
•   Perturbations de l’équipe R&D
•   Il faut trouver autre chose !
Not Invented Here - NIH
• D’autres solution ?
  – Talend/Bonita : « Babili » - PHP Self-made
     • http://www.bonitasoft.org/translations
  – Altassian Translations - Interne
     • https://translations.atlassian.com
  – Pootle : LifeRay – Open Source …
     • http://translate.liferay.com
     • http://translate.sourceforge.net
Babili : bonita / talend

Atlassian Translations




                 Poolte
Et arrive le crowd sourcing
•   Site web ouvert
•   Contribution simple
•   Workflow de validation (editeurs, contributeurs)
•   Statistiques
    – % de couverture
    – Traductions validées
    – Qualité de la traduction
Des exemples
• Babili
  – http://www.bonitasoft.org/translations
• Crowdin.net
  – http://crowdin.net/project/ez18n-demo
Aides à la traduction
• Savez-vous qu’on peut savoir si vos textes
  seront durs à traduire ?

                     Démo

• http://www.languagetool.org
Le sommet de l’iceberg
• Google Translate
  – http://translate.google.com


• Mais derrière
  – http://translate.google.com/toolkit
Merci !

     Just Fork it @github !


      https://github.com/dbaeli/ez18n




12

Contenu connexe

Similaire à Ez18n crowdsourcing

Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
Stéphane Liétard
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
Lucian Precup
 
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Chipway
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet Agile
Normandy JUG
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agile
Laurent Deséchalliers
 
OpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développementsOpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développements
François
 
Industrialiation PHP plugfr
Industrialiation PHP plugfrIndustrialiation PHP plugfr
Industrialiation PHP plugfr
pierredelacelle
 
Trucs et astuces sur le dévelopment Android
Trucs et astuces sur le dévelopment AndroidTrucs et astuces sur le dévelopment Android
Trucs et astuces sur le dévelopment Android
Thierry-Dimitri Roy
 
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesmeetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
Frederic Leger
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
Horacio Gonzalez
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !
Guillaume Rouchon
 
Améliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flippingAméliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flipping
Dorra BARTAGUIZ
 
GetText / Rails - FR
GetText / Rails - FRGetText / Rails - FR
GetText / Rails - FR
Sylvain Abélard
 
GetText / Rails
GetText / RailsGetText / Rails
GetText / Rails
Sylvain Abélard
 
Drupal Factory kézako ?
Drupal Factory kézako ?Drupal Factory kézako ?
Drupal Factory kézako ?
slybud
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
Camille Roux
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
Charles-André Bouchard
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?
Julien Deneuville
 
What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015
Wisembly
 

Similaire à Ez18n crowdsourcing (20)

Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet Agile
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agile
 
OpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développementsOpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développements
 
Industrialiation PHP plugfr
Industrialiation PHP plugfrIndustrialiation PHP plugfr
Industrialiation PHP plugfr
 
Trucs et astuces sur le dévelopment Android
Trucs et astuces sur le dévelopment AndroidTrucs et astuces sur le dévelopment Android
Trucs et astuces sur le dévelopment Android
 
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetesmeetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
meetup - Workflow complet de CI/CD pour les geeks avec gitlab et kubernetes
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !
 
Améliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flippingAméliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flipping
 
GetText / Rails - FR
GetText / Rails - FRGetText / Rails - FR
GetText / Rails - FR
 
GetText / Rails
GetText / RailsGetText / Rails
GetText / Rails
 
Drupal Factory kézako ?
Drupal Factory kézako ?Drupal Factory kézako ?
Drupal Factory kézako ?
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?
 
What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015What we've learnt from Ember.js - The family talk april 2015
What we've learnt from Ember.js - The family talk april 2015
 

Plus de gdigugli

SoftShake 2015 - DomainModel.stream()
SoftShake 2015 - DomainModel.stream()SoftShake 2015 - DomainModel.stream()
SoftShake 2015 - DomainModel.stream()
gdigugli
 
Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013
gdigugli
 
Smart annotation processing - Paris JUG
Smart annotation processing - Paris JUGSmart annotation processing - Paris JUG
Smart annotation processing - Paris JUG
gdigugli
 
Smart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUGSmart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUG
gdigugli
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
gdigugli
 
Ez18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exempleEz18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exemple
gdigugli
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
gdigugli
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une application
gdigugli
 

Plus de gdigugli (8)

SoftShake 2015 - DomainModel.stream()
SoftShake 2015 - DomainModel.stream()SoftShake 2015 - DomainModel.stream()
SoftShake 2015 - DomainModel.stream()
 
Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013
 
Smart annotation processing - Paris JUG
Smart annotation processing - Paris JUGSmart annotation processing - Paris JUG
Smart annotation processing - Paris JUG
 
Smart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUGSmart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUG
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
 
Ez18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exempleEz18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exemple
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une application
 

Ez18n crowdsourcing

  • 1. i18n for ever ! @dbaeli @gdigugli
  • 2. Speakers @dbaeli @gdigugli • Chien de berger Agile pour • Développeur java depuis 1999 • Architecte pour • Développeur de plus de 30 ans • Usine logicielles & DevOps • ILOG - IBM • Qualité Logicielle  librairie graphique 2D  moteur de règles • Prima-Solutions  plate-forme de services pour J2EE  code génération de modèle métier 2
  • 3. Besoin de gouvernance • Gestion de plusieurs langues • Maintenance par les développeurs • Externalisation à des traducteurs • Intégration et synchronisation • Accepter corrections tardives
  • 4. Externaliser l’Internalisation! • Les langues non maitrisées par l’équipe • Fichier excel ? – Ok mais on intègre comment ? – Gestion de source ? • Outils de gestion de localisation – http://www.i18nguy.com/TranslationTools.html – Built-in IDE – Edition simultanée de .properties
  • 5. Vraiment pas satisfaisant • Trop proche du code source • Cycle de vie très différent • Perturbations de l’équipe R&D • Il faut trouver autre chose !
  • 6. Not Invented Here - NIH • D’autres solution ? – Talend/Bonita : « Babili » - PHP Self-made • http://www.bonitasoft.org/translations – Altassian Translations - Interne • https://translations.atlassian.com – Pootle : LifeRay – Open Source … • http://translate.liferay.com • http://translate.sourceforge.net
  • 7. Babili : bonita / talend Atlassian Translations Poolte
  • 8. Et arrive le crowd sourcing • Site web ouvert • Contribution simple • Workflow de validation (editeurs, contributeurs) • Statistiques – % de couverture – Traductions validées – Qualité de la traduction
  • 9. Des exemples • Babili – http://www.bonitasoft.org/translations • Crowdin.net – http://crowdin.net/project/ez18n-demo
  • 10. Aides à la traduction • Savez-vous qu’on peut savoir si vos textes seront durs à traduire ? Démo • http://www.languagetool.org
  • 11. Le sommet de l’iceberg • Google Translate – http://translate.google.com • Mais derrière – http://translate.google.com/toolkit
  • 12. Merci ! Just Fork it @github ! https://github.com/dbaeli/ez18n 12