280 likes | 428 Views
Internationalization in Sakai. Raúl Mengod López (rmengod@upv.es) Universidad Politécnica de Valencia (Spain). Overview. Introduction: sakai in UPV Tool Internationalization in UPV Calendar Tool Message Center Page and Tool Titles I18n issues Review I18n-QA 2.6 Tentative Roadmap.
E N D
Internationalization in Sakai Raúl Mengod López (rmengod@upv.es) Universidad Politécnica de Valencia (Spain)
Overview • Introduction: sakai in UPV • Tool Internationalization in UPV • Calendar Tool • Message Center • Page and Tool Titles • I18n issues Review • I18n-QA • 2.6 Tentative Roadmap
Introduction: Sakai in UPV • Pilot in 2006 • Running 2.1.2 in 2006/2007 • Customized for local requirements • Fixed some I18n Issues • Running 2.4.x in 2007/2008 • Customized for local requirements • Fixed some I18n Issues • Replication of fixes on every version • The cost for version update is going up.
i18n Fixes • Valencia is in a Bi-lingual region of Spain • All the applications offered in 3 languages • Spanish,Valencian(Catalan), English • Strong requirements and complains • Calendar • Message Center • Page and Tool Titles
Calendar Tool • SAK-8459 (Calendar presentation internationalization ) • Which is the First Day of Week? “And on the seventh day God finished his work which he had done, and he rested on the seventh day from all his work which he had done.” Genesis 2-1 • Sunday • America, Australia, Canada, China, South Africa, Portugal, Brazil, Japan • Monday • Spain, Germany, United Kingdom, Sweden, Italy, Mexico, France, Denmark, The Netherlands • Saturday • Saudi Arabia
Calendar Tool • Changes in CalendarUtil.java • New method GetFirstDayofWeek • Changes in CalendarAction.java • Logic to control the days to be shown • Changes in velocity files • chef_calendar_viewMonth.vm • chef_calendar_viewWeek.vm • chef_calendar_viewYear.vm • University of Lleida has a different approach.
Message Center • SAK-12146 (Messages default folders' names localization is not related to the viewer's preferences) • Folders created by default • Received, Sent, Deleted • Created with the ‘creation language’ • Don’t change when using a different language
Message Center • Create new keys in Messages.properties • pvt_sent, pvt_deleted, pvt_received • Store keys in the database in the MFR_TOPIC_T.TITLE column • PrivateMessagesTool.java • Look up in the bundle for translation of recovered topic title. • Set title value if no translation is found (for customized folders)
Message Center • SAK-8569 (MessageCenter internationalization review) • Compose Message To list shows non i18n texts • All Participants, • XXX Role, • XXX Section
Message Center • Include new bundle properties • all_participants_desc=Todos los componentes • participants_group_desc=Grupo {0} • participants_role_desc=Todos los {0} • MembershipManagerImpl.java • Separate Code and Description in Select Lists
Pages and Tools Titles • SAK-8908 (Tool titles and Page titles should be displayed in user's prefered language/locale) • Created in the language of the site creator. • Titles stored in the database • SAKAI_SITE_PAGE.TITLE • SAKAI_SITE_TOOL.TITLE • Titles don’t change when the user selects a different language. • Titles can only be edited in sites editor tool • Translation of tools • tool/tool-impl/impl/src/bundle/tools.properties
Pages and Tools Titles • UPV Approach for Page Title • Save tool register name in database • (sakai.samigo, sakai.gradebook etc…) • Use the same column (TITLE) • Use new bundle file to get the description in the selected language portal/portal-impl/impl/src/bundle/sitepages.properties • BaseSitePage.java • New method getInternationalizedTitle
Pages and Tools Titles • UPV Approach for Tool Title • Save tool register name in database • (sakai.samigo, sakai.gradebook etc…) • Use the same column (TITLE) • Create a new properties file site/site-impl/impl/src/bundle/sitepages_es.properties • Change DbSiteService.java, BaseSitePage.java
Pages and Tools Titles • Positive • Easy implementation • Allows customization of repeated tools • Don’t need a conversion script • Negative • Needs modification of properties files when adding a new tool • Registration name visible in Site Info • Names duplicates in 3 properties files
Pages and Tools Titles • Other Alternatives • Store tools names in an XML in the Database • Initialization based on property files • Store XML in SAKAI_SITE_TOOL / SAKAI_SITE_PAGE • Create an widget for editing <?xml version="1.0" encoding="UTF-8"?> <i18nstring> <string locale=“es” value=“Exámenes”/> <string locale=“en” value=“Assessments”/> </i18nString> • Use Dynamic Language Beans? • Any idea is welcome!!!!
I18n Issues Review • Issues reported and unsolved in JIRA • 43 ISSUES • Some are very old • Seems that no one is working on them • Issues marked as priority in confluence • 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
I18n QA • i18n should be part of the QA • QA servers are not supporting full i18n capabilities (fixed). • A i18n tool certification should be passed before promoting tools? • Check list of i18n requirements for tools • Testing with UFT-8
2.6 Tentative Roadmap • Look for the better alternatives for existing bugs • Include already fixed tools in sakai trunc branch • …. • …. • …. • ….
Thank You Raúl Mengod López rmengod@upv.es