Sakai 2.6 Internationalization Review Raúl E. Mengod López Universidad Politécnica de Valencia StockHolm, 5-6 May 2009.

Slides:



Advertisements
Similar presentations
National Database Templates for the Biosafety Clearing-House Application (NDT-nBCH) Overview of the US nBCH Applications.
Advertisements

PNS: Personalized Multi-Source News Delivery Georgios Paliouras(1), Mouzakidis Alexandros(1), Christos Ntoutsis(2), Angelos Alexopoulos(3), Christos Skourlas(2)
XHTML Basics.
Sakai Internationalization and Open Source Portfolio Beth Kirschner JA Sakai Conference 2008.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
Using JavaServer Pages Harry R. Erwin, PhD CIT304/CSE301.
Previous Lectures: Planning of a Web site: Discussing the strategic issues of Web site engineering process –Models used for Web site planning –Compare.
1 Chapter 12 Working With Access 2000 on the Internet.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Servlets and a little bit of Web Services Russell Beale.
UPortal Internationalization Shoji Kajita Associate Professor, PhD IT Center, Nagoya University Japan Justin Tilton President Instructional Media + Magic.
DT228/3 Web Development JSP: Directives and Scripting elements.
Academic Services Interactive Media Managing the Web with Java JA-SIG Winter 2002 Robert Sherratt Academic Services, Interactive Media.
Confidential ODBC May 7, Features What is ODBC? Why Create an ODBC Driver for Rochade? How do we Expose Rochade as Relational Transformation.
Poliforma-T, the Sakai-based on-line campus for the UPV: history of a success. Raúl E. Mengod López Universidad Politécnica de Valencia (Spain)
UNIT-V The MVC architecture and Struts Framework.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
Lecturer: Ghadah Aldehim
San José, CA – September, 2004 Localizing with XLIFF and ICU Markus Scherer Raghuram (Ram) Viswanadha IBM San.
Overview of REALNEO Technologies REALNEO Web Platform Architecture Overview of Drupal.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
8th Sakai Conference4-7 December 2007 Newport Beach Internationalization in Sakai Raúl Mengod López Universidad Politécnica de Valencia.
IBM Maximo Asset Management © 2007 IBM Corporation Tivoli Technical Exchange Calls Aug 31, Maximo - Multi-Language Capabilities Ritsuko Beuchert.
Sakai: Localization & Internationalization Beth Kirschner University of Michigan
I18n BOF Raúl E. Mengod López Universidad Politécnica de Valencia.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
L10n and I18n in the Real World Dan Moore Moore Consulting June 9, 2005.
Web Content Management System Access October 14, 15, 16 - Halifax, Nova Scotia Developing a System for Managing Web Content York Libraries Content.
Internationalisation and Localisation Agenda Overview Configuration Language Packages Dictionary Files Default Tool Content Right to Left Support Translation.
Teachers and Developers: Searching for a common language Susana Martínez Naharro Universidad Politécnica de Valencia (Spain)
Bing Hong OSIsoft Internationalization &
Internationalization 3.0 Beth Kirschner University of Michigan.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
New Features For Old Tools in Sakai Raúl E. Mengod López Universidad Politécnica de Valencia (Spain) New Features For Old Tools in Sakai Raúl E. Mengod.
JAVA SERVER PAGES CREATING DYNAMIC WEB PAGES USING JAVA James Faeldon CS 119 Enterprise Systems Programming.
The Global Video Grid: DigitalWell Update & Plan For SRB Integration Myke Smith, Manager Streaming Media Technologies University of Washington / ResearchChannel.
Internationalization in PHP: PmWiki’s approach Dr. Patrick R. Michaud September 13, 2005.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
June 12th, th Sakai Conference - Amsterdam Sakai 2.4.x System Administrator’s Guide Tony Atkins 7th Sakai Conference Amsterdam, Netherlands June12th,
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
Writing and Managing Content The Design of Sites: Patterns for Creating Winning Web Sites.
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 14 Globalization Support in the Database.
I18N in Sakai Internationalization & Localization Beth Kirschner University of Michigan.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
© 2007 IBM Corporation SOA on your terms and our expertise Software WebSphere Process Server and Portal Integration Overview.
Tuning Sakai for Large Production Systems: Hints and Tricks Raúl Mengod Universidad Politécnica de Valencia (Spain)
Internationalizing Sakai Raúl Mengod Universidad Politécnica de Valencia (Spain)
Week 7 Lecture 2 Globalization Support in the Database.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Dr. David Roldán Martínez Universidad Politécnica de Valencia, Spain & Nuno Fernandes Universidade Fernando Pessoa, Portugal Site Stats, the power of event.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
JAVA BEANS JSP - Standard Tag Library (JSTL) JAVA Enterprise Edition.
8th Sakai Conference4-7 December 2007 Newport Beach Internationalization & Localization Beth Kirschner - University of Michigan Raul Mengod - Universidad.
Move Toward Smokeless China Beijing University of Posts and Telecommunications Institute of Cyber Education Technology.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Internationalization & Localization Status Update & Discussion Beth Kirschner - University of Michigan.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
GBIF NODES Committee Meeting Copenhagen, Denmark 4 th October 2009 The GBIF Integrated Publishing Toolkit Alberto GONZÁLEZ-TALAVÁN Programme Officer for.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
RAD – 255 Certification Overview
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
Overview of REALNEO Technologies
UNIT 15 Webpage Creator.
Presentation transcript:

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 Working to improve

Introduction: Sakai in UPV

Valencia, a place to visit

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  Students  Faculty  Staff

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  sites  students Based on the version  Translated to Spanish  Customized to university requirements  Many patches in i18n

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 UPV

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  Multi-lingual version by Nagoya University  Resourcebundle.java class  Stored in the Personal Preference Sakai  First version available in Spanish  Multi-lingual capabilities (only platform)

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

WG: i18n

Starting point for 18n in sakai  Sakai Working Group at confluence  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: i18n

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 Sakai Translation Tools  Property Files Editors  ResourceProperties Editor  XLIFF Translation Editor  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  Updated daily from trunk 

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

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 tools

Texts in Properties Files Texts in Database Tables Text in Resources

How to build i18n tools rite+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 tools rite+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 tools rite+Internationalized+Tools+in+Sakai RSF based tools  place the message key right in the RSF template  This is an internationalized message.  Use the UIMessage class  This will be an internationalized message.  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: 

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... 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 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

Only user data must be stored in Database. I18n Best Practices

Samigo: Data stored in the Database SAM_TYPE_T.KEYWORD

Sepate codes froms descriptions  Ex: Codding states I18n Best Practices 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; }

Actual Status of Internationalization

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 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 languages Status: Supported pending customized skins or CSS 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 I18n Status

I18n Problems

JIRA i18n Issues 69 unfixed i18n issues still in JIRA

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 1)Make sure tomcat's server.xml includes UTF-8 encoding in all its connectors. 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: ng=UTF-8

Top Internationalization Problems SAKAI_SITE_PAGE.TITLE SAKAI_SITE_TOOL.TITLE

Top Internationalization Problems General Platform Problems Format definition should be in sakai.properties Some QA should control this

Localization Different tools use different code to select dates/times Date widjet is not use everywhere Calendar date format should be in sakai.properties.

48 Localization

Top Internationalization Problems Organization problems

Top Internationalization Problems Specific Tools problems

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 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

3sakai

Important code change It’s the time to review i18n of all tools Some new features could be added

Thank You