SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Internationalization and
Translation Improvement for
          Sakai CLE
   Jean-François Lévêque, UPMC
    David Roldan-Martinez, UPV
   Shoji Kajita, Nagoya University
Internationalization and
localization (from Wikipedia)
●
    means of adapting computer software to
    different languages, regional differences and
    technical requirements of a target market
●
    Internationalization (i18n)
    ●
        process of designing a software application so
        that it can be adapted to various languages and
        regions without engineering changes
●
    Localization (L10n)
    ●
        process of adapting internationalized software for
        a specific region or language by adding locale-
        specific components and translating text
         12th Sakai Conference – Los Angeles, California – June 14-16   2
Important Sakai i18n points
 ●
     Unicode with UTF-8 (file names
     and content)
 ●
     Date/time format
 ●
     Time zones
 ●
     Formatting of numbers
 ●
     Displayable strings

      12th Sakai Conference – Los Angeles, California – June 14-16   3
Developer?




12th Sakai Conference – Los Angeles, California – June 14-16   4
TODO/check (1/2)
●
    Support UTF-8
●
    Localize Date & Time with Time Zone
●
    Localize numbers
●
    Handle static and dynamic phrases
●
    Do not mix i18n and configuration
●
    Reuse strings properly
●
    Document your i18n
       12th Sakai Conference – Los Angeles, California – June 14-16   5
TODO/check (2/2)
●
    Use the ResourceLoader
●
    Use EmailTemplateService
●
    Read my Monday session slides
    ●
        https://confluence.sakaiproject.org/display/CONF2011/2011-06-
        13+Practical+Internationalization+Improvement+for+Sakai+CLE

●
    Read confluence's i18n pages
    ●
        https://confluence.sakaiproject.org/display/I18N
●
    Ask for help when needed

        12th Sakai Conference – Los Angeles, California – June 14-16   6
Translation contributor?




12th Sakai Conference – Los Angeles, California – June 14-16   7
Translate files
●
    Do not translate configuration
    values but report them
●
    Do not use the  to escape the line
    terminator sequence
●
    Keeps keys sorted in a consistent
    way in .properties files
●
    Update your translation when
    needed
     12th Sakai Conference – Los Angeles, California – June 14-16   8
More than translating files?
●
    Read the tool's provided i18n doc.
●
    Report i18n/L10n issues in JIRA
    ●
        Bugs, split strings, duplicate strings,
        unused keys, en_US_DEBUG not working
●
    Do/check the translation in context
    ●
        en_US_DEBUG helps finding keys
●
    Ask for developer help if needed
    ●
        sakai-dev and i18n lists
        12th Sakai Conference – Los Angeles, California – June 14-16   9
There's more than one way to skin a cat
                    (1/2)
●
    http://i18nedit.sourceforge.net/userdoc/
    ●
        Tracks changes in default, helps updates
●
    http://pt.smolny.nw.ru/
    ●
        Update file with content of another, edits
●
    http://java.net/projects/open-language-tools/
    ●
        Useful for HTML pages



         12th Sakai Conference – Los Angeles, California – June 14-16   10
There's more than one way to skin a cat
                (2/2)
●
    https://source.sakaiproject.org/contrib/rsmart/messagebundle
    ●
        Works live, still lacks .properties export
●
    http://sourceforge.jp/projects/benten/
    ●
        Promising
●
    Text editor and Unicode ↔ Java entities
    converter (http://itpro.cz/juniconv/)
    ●
        Quick to set up



        12th Sakai Conference – Los Angeles, California – June 14-16   11
Sharing my translation
●   Add the Sakai licensing header
●   Create a JIRA issue for new or updated files
●   Commit changes in subversion if you have
    signed a license agreement with the Sakai
    Foundation
●   Merge necessary changes into maintenance
    branches if you're a maintenance branch
    manager


      12th Sakai Conference – Los Angeles, California – June 14-16   12
Manager?




12th Sakai Conference – Los Angeles, California – June 14-16   13
Your team contribution?
●
    Developers (check i18n)
●
    Language skills (check L10n)
●
    Check tools i18n documentation
●
    Hunt for untranslatable strings
    with en_US_DEBUG locale



     12th Sakai Conference – Los Angeles, California – June 14-16   14
Who's working on this?




12th Sakai Conference – Los Angeles, California – June 14-16   15
Contributors overview
●
    Developers (tool teams,
    maintenance team, bugfix providers)
●
    Translators
●
    I18n/L10n Working Group with Beth
    Kirschner as lead
●
    Ad hoc regional team work
●
    Ad hoc international team work

      12th Sakai Conference – Los Angeles, California – June 14-16   16
How good is a tool?
●
    If it's part of the official release
    ●
        Check for reported i18n issues in JIRA
        https://confluence.sakaiproject.org/display/SPANISH/i18n+tools+status
    ●
        Ask for a review by volunteers on i18n list
●
    If it's in contrib
    ●
        And JIRA: ask for inclusion in i18n report
    ●
        Review by volunteers is also possible
●
    Need help? Please ask
          12th Sakai Conference – Los Angeles, California – June 14-16   17

Weitere ähnliche Inhalte

Ähnlich wie Internationalization and Translation Improvement for Sakai CLE

Smart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsSmart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsmreiterer
 
2018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 2
2018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 22018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 2
2018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 2Ververica
 
Translating Open Source Apps
Translating Open Source AppsTranslating Open Source Apps
Translating Open Source AppsKukuh Syafaat
 
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in TaiwanLibreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwanfweng322
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...Aurélien Pupier
 
Plone I18n Tutorial - Hanno Schlichting
Plone I18n Tutorial - Hanno SchlichtingPlone I18n Tutorial - Hanno Schlichting
Plone I18n Tutorial - Hanno SchlichtingJeffrey Clark
 
Building LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesBuilding LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesDaeHyun Sung
 
Living in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode ManipulationLiving in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode ManipulationC4Media
 
Scala vs. Python: Which Language Should be learned in 2020
Scala vs. Python: Which Language Should be learned in 2020Scala vs. Python: Which Language Should be learned in 2020
Scala vs. Python: Which Language Should be learned in 2020NexSoftsys
 
I18N refactoring support and the TapiJI online translator
I18N refactoring support and the TapiJI online translatorI18N refactoring support and the TapiJI online translator
I18N refactoring support and the TapiJI online translatormreiterer
 
Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7robinpuga
 
R Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data ScientistsR Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data Scientistsabhishekdf3
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)Dhilipsiva DS
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181Mahmoud Samir Fayed
 
Internationalization Basics Webinar Slides
Internationalization Basics Webinar SlidesInternationalization Basics Webinar Slides
Internationalization Basics Webinar SlidesAdam Asnes
 

Ähnlich wie Internationalization and Translation Improvement for Sakai CLE (20)

Internship final presentation Mohamed
Internship final presentation MohamedInternship final presentation Mohamed
Internship final presentation Mohamed
 
Smart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsSmart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation tools
 
2018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 2
2018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 22018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 2
2018-01 Seattle Apache Flink Meetup at OfferUp, Opening Remarks and Talk 2
 
Translating Open Source Apps
Translating Open Source AppsTranslating Open Source Apps
Translating Open Source Apps
 
Libreplan presentation 2012
Libreplan presentation 2012Libreplan presentation 2012
Libreplan presentation 2012
 
OpenNTF Essentials
OpenNTF EssentialsOpenNTF Essentials
OpenNTF Essentials
 
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in TaiwanLibreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
 
LibreOffice intern activities 2017-2018 Aschalew
LibreOffice intern activities 2017-2018 AschalewLibreOffice intern activities 2017-2018 Aschalew
LibreOffice intern activities 2017-2018 Aschalew
 
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...
 
Plone I18n Tutorial - Hanno Schlichting
Plone I18n Tutorial - Hanno SchlichtingPlone I18n Tutorial - Hanno Schlichting
Plone I18n Tutorial - Hanno Schlichting
 
Building LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesBuilding LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issues
 
Living in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode ManipulationLiving in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode Manipulation
 
Scala vs. Python: Which Language Should be learned in 2020
Scala vs. Python: Which Language Should be learned in 2020Scala vs. Python: Which Language Should be learned in 2020
Scala vs. Python: Which Language Should be learned in 2020
 
I18N refactoring support and the TapiJI online translator
I18N refactoring support and the TapiJI online translatorI18N refactoring support and the TapiJI online translator
I18N refactoring support and the TapiJI online translator
 
Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7
 
R Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data ScientistsR Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data Scientists
 
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181
 
Internationalization Basics Webinar Slides
Internationalization Basics Webinar SlidesInternationalization Basics Webinar Slides
Internationalization Basics Webinar Slides
 

Internationalization and Translation Improvement for Sakai CLE

  • 1. Internationalization and Translation Improvement for Sakai CLE Jean-François Lévêque, UPMC David Roldan-Martinez, UPV Shoji Kajita, Nagoya University
  • 2. Internationalization and localization (from Wikipedia) ● means of adapting computer software to different languages, regional differences and technical requirements of a target market ● Internationalization (i18n) ● process of designing a software application so that it can be adapted to various languages and regions without engineering changes ● Localization (L10n) ● process of adapting internationalized software for a specific region or language by adding locale- specific components and translating text 12th Sakai Conference – Los Angeles, California – June 14-16 2
  • 3. Important Sakai i18n points ● Unicode with UTF-8 (file names and content) ● Date/time format ● Time zones ● Formatting of numbers ● Displayable strings 12th Sakai Conference – Los Angeles, California – June 14-16 3
  • 4. Developer? 12th Sakai Conference – Los Angeles, California – June 14-16 4
  • 5. TODO/check (1/2) ● Support UTF-8 ● Localize Date & Time with Time Zone ● Localize numbers ● Handle static and dynamic phrases ● Do not mix i18n and configuration ● Reuse strings properly ● Document your i18n 12th Sakai Conference – Los Angeles, California – June 14-16 5
  • 6. TODO/check (2/2) ● Use the ResourceLoader ● Use EmailTemplateService ● Read my Monday session slides ● https://confluence.sakaiproject.org/display/CONF2011/2011-06- 13+Practical+Internationalization+Improvement+for+Sakai+CLE ● Read confluence's i18n pages ● https://confluence.sakaiproject.org/display/I18N ● Ask for help when needed 12th Sakai Conference – Los Angeles, California – June 14-16 6
  • 7. Translation contributor? 12th Sakai Conference – Los Angeles, California – June 14-16 7
  • 8. Translate files ● Do not translate configuration values but report them ● Do not use the to escape the line terminator sequence ● Keeps keys sorted in a consistent way in .properties files ● Update your translation when needed 12th Sakai Conference – Los Angeles, California – June 14-16 8
  • 9. More than translating files? ● Read the tool's provided i18n doc. ● Report i18n/L10n issues in JIRA ● Bugs, split strings, duplicate strings, unused keys, en_US_DEBUG not working ● Do/check the translation in context ● en_US_DEBUG helps finding keys ● Ask for developer help if needed ● sakai-dev and i18n lists 12th Sakai Conference – Los Angeles, California – June 14-16 9
  • 10. There's more than one way to skin a cat (1/2) ● http://i18nedit.sourceforge.net/userdoc/ ● Tracks changes in default, helps updates ● http://pt.smolny.nw.ru/ ● Update file with content of another, edits ● http://java.net/projects/open-language-tools/ ● Useful for HTML pages 12th Sakai Conference – Los Angeles, California – June 14-16 10
  • 11. There's more than one way to skin a cat (2/2) ● https://source.sakaiproject.org/contrib/rsmart/messagebundle ● Works live, still lacks .properties export ● http://sourceforge.jp/projects/benten/ ● Promising ● Text editor and Unicode ↔ Java entities converter (http://itpro.cz/juniconv/) ● Quick to set up 12th Sakai Conference – Los Angeles, California – June 14-16 11
  • 12. Sharing my translation ● Add the Sakai licensing header ● Create a JIRA issue for new or updated files ● Commit changes in subversion if you have signed a license agreement with the Sakai Foundation ● Merge necessary changes into maintenance branches if you're a maintenance branch manager 12th Sakai Conference – Los Angeles, California – June 14-16 12
  • 13. Manager? 12th Sakai Conference – Los Angeles, California – June 14-16 13
  • 14. Your team contribution? ● Developers (check i18n) ● Language skills (check L10n) ● Check tools i18n documentation ● Hunt for untranslatable strings with en_US_DEBUG locale 12th Sakai Conference – Los Angeles, California – June 14-16 14
  • 15. Who's working on this? 12th Sakai Conference – Los Angeles, California – June 14-16 15
  • 16. Contributors overview ● Developers (tool teams, maintenance team, bugfix providers) ● Translators ● I18n/L10n Working Group with Beth Kirschner as lead ● Ad hoc regional team work ● Ad hoc international team work 12th Sakai Conference – Los Angeles, California – June 14-16 16
  • 17. How good is a tool? ● If it's part of the official release ● Check for reported i18n issues in JIRA https://confluence.sakaiproject.org/display/SPANISH/i18n+tools+status ● Ask for a review by volunteers on i18n list ● If it's in contrib ● And JIRA: ask for inclusion in i18n report ● Review by volunteers is also possible ● Need help? Please ask 12th Sakai Conference – Los Angeles, California – June 14-16 17