15
I18N in Sakai Internationalization & Localization Beth Kirschner University of Michigan

I18N in Sakai Internationalization & Localization Beth Kirschner University of Michigan

Embed Size (px)

Citation preview

I18N in Sakai

Internationalization & LocalizationBeth Kirschner

University of Michigan

Localization (L10N) versus Internationalization (I18N)

• Localization of a web interface is usually limited to isolating the language dependencies such that they can be easily translated.

• Internationalization of a web interface takes into account many aspects beyond strict translation of the text, such as cultural differences, space allocation and formatting.

• Sakai needs to consider both.

Where is Sakai?

Translations Completed

• Arabic (new)• Catalan (updated)• Simplified Chinese (updated)• Dutch• French (updated)• Japanese (updated)• Korean• Spanish (updated)• Swedish (updated)

Translations Underway

• Traditional Chinese• Danish• German• Hebrew• Mongolian• Portuguese• Russian• Slovakian• Turkish• Vietnamese

Progress since Atlanta• Nearly 40 enhancements and bug fixes in Sakai 2.4,

with the following pending for the 2.4.x maintenance branch:

– SAK-6976 WebDAV does not recognize UTF-8 characters– SAK-7271 Localization patch for assignments– SAK-7275 Localization patch for JSF module– SAK-7277 Localization patch for profile tool– SAK-7280 Localization patch for user preferences– SAK-7281 Localization patch for utilities– SAK-8464 announcements localization– SAK-8480 ResourceLoader optimization– SAK-8500 site to use ResourceLoader– SAK-8501 osp internationalization– SAK-8568 Spanish Translation for MessageCenter– SAK-8598 presentation tool - internationalization– SAK-8977 chinese translations– SAK-9629 'Hide/Show Time remaining' and 'Your session has expired' messages– SAK-9641 spanish translation– SAK-9671 i18n citations– SAK-9673 Several i18n properties files have invalid or duplicate locales– SAK-9935 japanese translation

Sakai Project Mgt Report

• Two proposals:– Make it easier to do by moving non-internationalization

related items out of .properties files and into .config files– Adopt Localized Date/Time Widget for all tools

• Active Development Areas:– Enhanced localization of tool/page titles– Localization of permissions names/descriptions

Best Practices for I18N1. Follow the standards described in confluence

2. Always use properties files for user interface text; never include displayable text in java, jsp or velocity templates

3. Use properties files only for user interface text and config files for configuration settings

4. Use a proper naming schema for the keys in your resource bundles. The name of the keys should provide some information about the context of the displayed text. This helps the translators during the translation process. A naming schema could be <view>.<type>.<name>. Examples: edit.button.save, edit.label.title or list.action.addnew

5. Group keys by view. ie. edit.title, edit.instructions, list.title, list.instructions, create.title, etc

6. Never use displayable text when executing comparisons within the logic of the tool (separate codified values from displayable text)

7. Always use the ResourceLoader (not ResourceBundle) class for retrieving properties

8. All dynamically constructed phrases must be sensitive to locale specific subject/verb/object ordering org.sakaiproject.util.ResourceLoader.getFormattedMessage()

9. Test tools in more than one language

Priorities for Sakai 2.5?