Download presentation
Presentation is loading. Please wait.
1
uPortal Internationalization Shoji Kajita Associate Professor, PhD IT Center, Nagoya University Japan Justin Tilton President Instructional Media + Magic U.S.A.
2
This Session’s Agenda “Overview of uPortal I18n” by Shoji Kajita Target: 2.2 Release on October, 2003 “XLIFF and uPortal” by Justin Tilton Target: Beyond 2.2 Release
3
Overview of uPortal I18n Shoji Kajita Associate Professor, PhD IT Center, Nagoya University Japan
4
Quick Poll How many languages do you want to support on your institutional portal? One Language Two Languages More than Three Languages What language do you expect to be supported by uPortal?
5
Agenda Goal Things To be Done By uPortal Framework Developer By XSL Files Translator By uPortal Channel Developer Short Demonstration Localized uPortal into Japanese I18ned uPortal under development
6
Locale A set of conventions affected or determined by human language and customs, as defined within a particular geo-political region. These conventions include (but are not necessarily limited to) the written language, formats for dates, numbers and currency, sorting orders, etc. (Frank Tang: “Mozilla I18n & L10n Guideline”)
7
Locale Used in uPortal Locale = “Language Code” + “Country Code” To support Celtic and Welsh, uPortal development team decided to use ISO 639-2: three letter language codes ISO 3166: three letter country codes Examples: eng_USA, eng_GBR, jpn_JPN, swe_SWE
8
Internationalization Frank Tang: “Mozilla I18n & L10n Guideline” Designing and developing a software product to function in multiple locales. This process involves identifying the locales that must be supported, designing features which support those locales, and writing code/transformations that functions equally well in any of the supported locales. (Frank Tang: “Mozilla I18n & L10n Guideline”)
9
Goal of uPortal Internationalization Locale Independent Components, Resources and Processing US English UK English Swedish Japanese Chinese 1.Separating locale dependent components, resources and processing 2.Preparing translated resources for each locale 3.Allowing users to select their locale resource
10
What kind of work is required to internationalize uPortal? By localizing Number Guessing Game into Japanese
11
Localization Number Guessing Game into Japanese CNumber Channel XML CNumber Channel XML CNumber Channel XSL Original CNumber Channel XSL Original CNumber Channel XSL Japanese CNumber Channel XSL Japanese 1 A language selection mechanism is required 2 XSLT Processor
12
Number Guessing Game Japanese Version The title string is saved in UP_CHANNEL table of RDBMS 4 The string “higher” is hardcoded in CNumber.java 3
13
uPortal I18n is Collaborative Works 1. Framework Developers 2. XSL Files Translators 3. Channel Developers
14
1. Things to be Done by uPortal Framework Developers (1) UTF-8 Transparency (Usually, Latin1 Transparent) RDBMS uPortal XXX: UTF-8 Characters XXX Properly saved Properly displayed “UTF-8 transparent” in uPortal2.1/2.0.3 framework
15
1. Things to be Done by uPortal Framework Developers (2) Locale-aware Processing Locale Selection Mechanism for Users
16
Users can select their desired locale by clicking the language icon
17
1. Things to be Done by uPortal Framework Developers (2) Locale-aware Processing Locale Selection Mechanism for Users Passing Locale[] into Channel User Preferred Locales –Browser Setting –CLocaleChooser (Locale Selection Mechanism) –Channel Dependent User Preference –External System (ex. LDAP)
18
Passing Locale[] into Channel public class ChannelRuntimeData … {.................... private String Locale[]; …………….. }
19
1. Things to be Done by uPortal Framework Developers (2) Locale-aware Processing Locale Selection Mechanism for Users Passing Locale[] into Channel User Preferred Locales –Browser Setting –Locale Selection Mechanism –External system (ex. LDAP) Framework Supported Locales Locale-Dependent Resource Selection Mechanism
20
Locale-Dependent Resource Selection Mechanism (XSL Files) XSLT xslt = new XSLT(this); LocaleAwareXSLT xslt = new LocaleAwareXSLT(this, locale); xslt.setXML(doc); xslt.setXSL(sslLocation, runtimeData.getBrowserInfo()); xslt.setTarget(out); xslt.setStylesheetParameter("baseActionURL", runtimeData.getBaseActionURL()); if (!staticData.getPerson().getSecurityContext().isAuthenticated()) { xslt.setStylesheetParameter("unauthenticated", "true"); } xslt.transform(); Don’t have to change
21
Locale-Dependent Resource Selection Mechanism (DB Info)
22
2. Things to be Done by Translators XSL Files Translation into Each Language Wiki-based Translation Site XLIFF-based Translation Site (Near future) http://www.itc.nagoya-u.ac.jp/~kajita/hiki/hiki.cgi
23
3. Things to be Done by uPortal Channel Developers 1. UTF-8 Transparency
24
1. UTF-8 Transparency for Channel RDBMS XXX ??? “UTF-8 transparency” is depending on channel uPortal2.1 ??? XXX Channel ? CWebProxy:● → ● committed in CVS CBookmark: ● → ● reported in Bugzilla CWebCT: ● → ● fixed but not checked in CVS repository UBC Webmail:● → ● fixed but not checked in CVS repository CuCMS: ● done by Alex ???
25
CWebProxy CBookmark
26
CWebmail
27
3. Things to be Done by uPortal Channel Developers 1. UTF-8 Transparency 2. Functions to select Locale from Locale[] 3. Locale Dependent Resources XSL Files ResourceBundle to use locale-dependent resources in Java code
28
A Short Demonstration of Localized uPortal into Japanese http://mynu.jp/
29
A Short Demonstration of Internationalized uPortal
30
We Need Volunteer! Translation of XSL files Framework Development Developer Meeting at Cornel University on August
31
uPortal Internationalization More than software problem Forming the uPortal International community to exchange knowledge, know-how, tools and so on among higher educational institutions in the world!
32
Justin’s Presentation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.