Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia
This presentation is the property of its rightful owner.
Sponsored Links
1 / 56

Sakai 2.6 Internationalization Review Raúl E. Mengod López Universidad Politécnica de Valencia PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on
  • Presentation posted in: General

Sakai 2.6 Internationalization Review Raúl E. Mengod López Universidad Politécnica de Valencia. StockHolm, 5-6 May 2009. Overview. Introduction: Sakai in UPV A little bit of history of Sakai WG: i18n How to build i18n tools Best Practices Sakai 2.6 i18n status Top i18n problems

Download Presentation

Sakai 2.6 Internationalization Review Raúl E. Mengod López Universidad Politécnica de Valencia

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

Sakai 2.6 Internationalization Review

Raúl E. Mengod López

Universidad Politécnica de Valencia

StockHolm, 5-6 May 2009


Overview

Overview

  • Introduction: Sakai in UPV

  • A little bit of history of Sakai

  • WG: i18n

  • How to build i18n tools

  • Best Practices

  • Sakai 2.6 i18n status

  • Top i18n problems

  • Working to improve


Introduction sakai in upv

Introduction: Sakai in UPV

Introduction: Sakai in UPV


Valencia a place to visit

Valencia, a place to visit


Introduction sakai in upv1

Introduction: Sakai in UPV

  • Universidad Politécnica de Valencia (UPV)

    • Public academic institution since 1971

    • Official and non-official studies

    • Post – Graduate studies

  • The UPV in numbers

    • 4 Campuses

    • 14 Colleges (One down this year)

    • 40 Research centers

    • 33 Grade studies

    • 20 postgrade studies

    • 40.000 Students

    • 2.600 Faculty

    • 1.400 Staff


Introduction sakai in upv2

Introduction: Sakai in UPV


Introduction sakai in upv3

Introduction: Sakai in UPV

  • Pilot running during 2006

    • Full capabilities

    • Selected group of users

  • Full production System in 2006/2007

    • 4 servers

    • Oracle Database

    • Integrated with SSO

    • Integrated with enrollment system

    • 4.000 sites

    • 40.000 students

  • Based on the 2.1.2 version

    • Translated to Spanish

    • Customized to university requirements

    • Many patches in i18n


Introduction sakai in upv4

Introduction: Sakai in UPV

  • Running 2.4.x in 2007/2008

    • Customized for local requirements

    • Fixed some I18n Issues

  • Plan to migrate to 2.6.x in July 2009

    • Replication of patches on every version

    • The cost for version update is going up.


Introduction sakai in upv5

Introduction: Sakai in UPV


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

A little bit of History


A little bit of history

A little bit of History

  • Sakai 2.0

    • Universidad de Lleida started the job

    • Properties files for the strings

    • Catalan version

  • Sakai 2.1

    • Running on mono-lingual platforms

    • Spanish version not available

  • Sakai 2.1.1

    • Multi-lingual version by Nagoya University

    • Resourcebundle.java class

    • Stored in the Personal Preference

  • Sakai 2.1.2

    • First version available in Spanish

    • Multi-lingual capabilities (only platform)


A little bit of history1

A little bit of History

  • Sakai 2.3

    • More languages added

  • Sakai 2.4

    • 29 issues fixed

    • Translation Stats Tool

  • Sakai 2.5

    • Fixed 22 bugs

    • Tool to migrate translations

  • Sakai 2.6

    • More languages

    • 11 issues fixed


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

WG: i18n


Wg i18n

WG: i18n

  • Starting point for 18n in sakai

    • Sakai Working Group at confluence

    • http://bugs.sakaiproject.org/confluence/display/I18N/Home

  • What can be found at Confluence?

    • Sakai i18n configuration

    • Translation guide for sakai

    • How to write i18n tools in sakai

    • Translation tools

    • Known bugs

    • Translation Status Tool from Universeit van Amsterdam


Wg i18n1

WG: i18n

http://bugs.sakaiproject.org/confluence/display/I18N/Home


How to translate sakai

How to translate Sakai

  • The first step to go forward on i18n is to translate

  • Every language has a responsible university

    • Catalán : Lleida

    • Spanish: Valencia

    • French: UpMC

    • ……..

  • Permission to commit on properties files in sakai svn

  • It is necessary a continuous revision of translations due to changes in tools.


How to translate sakai1

How to translate Sakai

  • Translation Tools

    • Property Files Editors

      • ResourceProperties Editor

        http://sourceforge.net/projects/i18nedit

      • XLIFF Translation Editor

        https://open-language-tools.dev.java.net/

    • Tool to transfer translations

      • By Smolny University (Sant Petersburg)

    • Transformable and PreferAble

      • By University of Toronto

      • Configure a personal stylesheet

      • Use a right-to-left stylesheet or skin.

    • Translation Status

      • Tool in Universeit van Amsterdam

        http://qa1-nl.sakaiproject.org/international

      • Updated daily from trunk

      • http://qa1-nl.sakaiproject.org/international/trunk/de.html#excludedfiles


How to translate sakai2

How to translate Sakai


How to translate sakai3

How to translate Sakai


How to translate sakai4

How to translate Sakai


How to translate sakai5

How to translate Sakai


How to translate sakai6

How to translate Sakai

  • Translation process

    • Local translation and updated to trunk

    • Every language responsible commits files

    • The last chance to commit changes are just after code freeze

    • No changes allowed after Betas releases are created


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

How to build i18n tools


How to build i18n tools

How to build i18n tools

  • Platform translation vs content translation

    • Sakai supports platform multi-lingual

      • Easy using properties files

      • Difficult when using Database to store platform dependent text o Resources files (html)

    • Sakai doesn’t support content multi-lingual

      • Specific feature for multi lingual areas


How to build i18n tools1

How to build i18n tools

Texts in Database Tables

Texts in Properties Files

Text in Resources


How to build i18n tools2

How to build i18n tools

http://bugs.sakaiproject.org/confluence/display/I18N/How+to+write+Internationalized+Tools+in+Sakai

  • Based on the ResourceLoader class

    • It is a wrapper of the loadbundle class

    • Looks for the sakai preference Language

    • Looks for the Browser Language

    • Gets the server default language


How to build i18n tools3

How to build i18n tools

http://bugs.sakaiproject.org/confluence/display/I18N/How+to+write+Internationalized+Tools+in+Sakai

  • JSF based tools

    • Create a backing bean for message in the faces-config file or in the JSP

    • Set the bean with the suitable property file

    • Use it in the same way as LoadBundle

  • Velocity based tools

    • Create an instance of ResourceLoader Class

    • Put it in the Velocity template context

    • Reference it like any other variable


How to build i18n tools4

How to build i18n tools

http://bugs.sakaiproject.org/confluence/display/I18N/How+to+write+Internationalized+Tools+in+Sakai

  • RSF based tools

    • place the message key right in the RSF template

      • <span rsf:id="msg=page.user.message.key">This is an internationalized message.</span>

    • Use the UIMessage class

      • <span rsf:id="my-rsf-id">This will be an internationalized message.</span>

      • UIMessage.make(tofill, "my-rsf-id", "page.user.message.key");

    • Put the property file in the default place

      • tool/src/webapp/WEB-INF/messages

    • More information in:

      • http://www2.caret.cam.ac.uk/rsfwiki/Wiki.jsp?page=I18N


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

I18n Best Practices


I18n best practices

I18n Best Practices

  • Follow the standards described in this guide

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

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

  • Use a proper naming schema for 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

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


I18n best practices1

I18n Best Practices

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

  • Always use the ResourceLoader (not ResourceBundle) class for retrieving properties values, and invoke ResourceLoader methods dynamically, to accommodate dynamic user preferences.

  • All dynamically constructed phrases must be sensitive to locale specific subject/verb/object ordering by using the Sakai ResourceLoader class: org.sakaiproject.util.ResourceLoader.getFormattedMessage()

  • Test tools in more than one language


I18n best practices2

I18n Best Practices

  • Only user data must be stored in Database.


I18n best practices3

I18n Best Practices

  • Samigo: Data stored in the Database

SAM_TYPE_T.KEYWORD


I18n best practices4

I18n Best Practices

  • Sepate codes froms descriptions

    • Ex: Codding states

public List getPostingOptions()

{

List postingOptions = new ArrayList();

postingOptions.add(new SelectItem(PermissionBean.NONE,PermissionBean.NONE));

postingOptions.add(new SelectItem(PermissionBean.OWN,PermissionBean.OWN));

postingOptions.add(new SelectItem(PermissionBean.ALL,PermissionBean.ALL));

return postingOptions;

}


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

Actual Status of Internationalization


I18n status

I18n Status

  • Sakai 2.6 is translated to the following languages:

    • Arabic

    • Basque

    • Catalan

    • Chinese (Simplified)

    • Chinese (Traditional)

    • Dutch

    • English (Australia)

    • English (New Zealand)

    • English (South Africa)

    • English (United Kingdom)

    • English (United States)

    • French (Canada)

    • French (France)

    • Japanese

    • Korean

    • Portuguese (Brazil)

    • Portuguese (Portugal)

    • Russian

    • Spanish

    • Swedish


I18n status1

I18n Status

  • I18n Supported Features

    • Ability to type international (unicode) characters into any Sakai tool

    • Ability for any tool interface to dynamically reflect a user's preferred international locale

    • Ability to create worksites whose page titles will statically reflect to a defined international locale

    • Ability to support right-to-left languagesStatus: Supported pending customized skins or CSS


I18n status2

I18n Status

  • I18n Features NOT Supported

    • Ability to create worksites whose page titles will dynamically reflect a user's preferred international locale

    • Ability to create worksites whose page titles and tool interface will statically reflect a site's preferred international locale

    • Ability to create contents in more than one language


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

I18n Problems


Jira i18n issues

JIRA i18n Issues

69 unfixed i18n issues still in JIRA


Jira i18n issues1

JIRA i18n Issues


Jira i18n issues2

JIRA i18n Issues


Jira i18n issues3

JIRA i18n Issues

  • Too many issues for a production system

  • Some issues are from the beginning of sakai

  • A strong dependence on the tool owner to apply changes


Common utf 8 problems

Common UTF-8 Problems

  • Common UTF-8 Problems

  • Make sure tomcat's server.xml includes UTF-8 encoding in all its connectors.

    • <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />

  • 2) Make sure your database is created with UTF-8 encoding.

  • 3) Make sure the (MySql) connector is defined for UTF-8 encoding in the sakai.properties file. Note that previous releases of Sakai had an incorrect default value:

    • [email protected]=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8


Top internationalization problems

Top Internationalization Problems

SAKAI_SITE_PAGE.TITLE

SAKAI_SITE_TOOL.TITLE


Top internationalization problems1

Top Internationalization Problems

  • General Platform Problems

  • Formatdefinitionshouldbe in sakai.properties

  • Some QA should control this


Localization

Localization

  • Different tools use different code to select dates/times

  • Date widjet is not use everywhere

  • Calendar date format should be in sakai.properties.


Localization1

Localization


Top internationalization problems2

Top Internationalization Problems

Organization problems


Top internationalization problems3

Top Internationalization Problems

Specific Tools problems


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

Working to improve i18n


Working to improve i18n

Working to improve i18n

  • Establish a minimum i18n requirements from the community

  • Existing tools should have those requirements

  • Provisional tools to accomplish those requirements

  • I18n should be in QA

  • Sakai new development process

    • Centralized maintenance (avoid dependences from tool owners)

    • I18n maintenance Team to fix bugs

    • Resources from Universities

    • Leadership from sakai


Next steps

Next steps

  • Finish i18n of all tools (homogeneous)

  • Fix all bugs

    • Tool & Page names

    • 68 more…

  • Develop new functionalities

    • Multi-lingual help

    • Easy way of selecting the language

    • Multi-lingual contents version


Sakai 2 6 internationalization review ra l e mengod l pez universidad polit cnica de valencia

3sakai


3sakai

3sakai

  • Important code change

  • It’s the time to review i18n of all tools

  • Some new features could be added


Thank you

Thank You


  • Login