If you are a Sakai developer, if your institution is not restricting user language preferences to the default or if you just want to help, you may help improve the internationalization (ease of use in other languages and countries once translated) of Sakai or its translation coverage.
If you write or maintain code, you most likely will have or already have internationalization issues, even if you're not already aware of it. They will be numerous if you've not read the available guidelines and been very careful. Even if you have, to err is human, and we could still find a few. After getting rid of the errors, there are still improvements that might help translators' work.
If you're contributing to or checking the translation in one or more languages than the default, that's great. Did you ever have problems that cannot be solved in the translation only or have to translate the same sentence or button label several times? Even if you cannot fix this, you should report the issue unless you don't want it solved.
If your institution is providing Sakai in other languages than the default USA English and the ones you are checking or contributing to, you are relying both on the internationalization and the translation coverage of Sakai. If you know another language and/or Java, you may still help and improve your language and/or Java skills at the same time.
Even if you don't know Java and another language than the default, you can still help.
If you're a manager and want to help, come to learn about your team's skills that could help improve Sakai.
This session will cover all this and more with internationalization guidelines, explanation of the guidelines and how you could help improve Sakai internationalization and translation.
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
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
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
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