Transcript pps - kaist
ICE0575
Fall 2005
Methods: Deciding What to Design
Lecture #16
Internationalization
In-Young Ko
iko .AT. icu.ac.kr
Information and Communications University (ICU)
Announcements
Next week’s schedule
Regular class on 11/15 No class on 11/18
Optional EVRs for Extra Credits (Individual Work)
For the Business Unit (December 6 th ) For the Engineering Unit (December 13 th ) Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 2
Picture of the Day: Shadyside
Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 3
This Week
Internationalization The main concept and importance of internationalization Major factors to consider in internationalizing software products Technical issues involved in internationalization Information Privacy First Principles Different approaches to implement First Principles Policy concerns model © In-Young Ko, Information and Communications University 4 Fall 2005 ICE 0575 – Methods: Deciding What to Design
ICU
Fall 2005
ICU in Korea
ICE 0575 – Methods: Deciding What to Design http://www.cheshire-med.com/icu/images/020814ICUBedS.jpg
ICU in U.S.
© In-Young Ko, Information and Communications University 5
Google Example
1/2 Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 6
Google Example
2/2 Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 7
A Java Example
Date currDate = new Date (System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat ( "EEEE, MMMM dd, yyyy h:mm a z" ); String dateString = datePrintFormat.format(currDate) ; System.out.println( "Today is " + dateString); } if (dateString.startsWith( "Friday" )) { System.out.println( "Thank God It's Friday!!" ); dateString in US: Friday, October 29, 2004 2:02 PM EDT dateString in Korea: 금요일 , 10 월 29, 2004 2:02 오후 KST Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 8
Internationalization
“A method of application development that allows the application to be run in many different languages without having to be rewritten or recompiled” –
OSF/Motif Programmer's Guide
“The process of making applications work seamlessly utilizing the user's preferred language and culture ” –
IBM
( www.ibm.com/software/globalization/ ) “The process of generalizing a product so that it can handle multiple languages and cultural conventions without the need for re-design ” –
The Localisation Industry Standards Association (LISA)
Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 9
Basic Facts about Internationalization
The 20 largest IT companies leverage an internationalization investment of around $1.5b to generate global product sales of around $15b Since 1992, IBM ’s international market revenue generated sales of over $460b – more than half of its total revenues during the period In 1998, more than 60% of Microsoft ’s revenue came from markets outside of the United States Around 65% of the online population use non English languages
LISA / Global Research
Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 10
Key Driving Factors of Internationalization
Ever-cheaper computer hardware Advance in software and telecommunications technology The rise of the Internet and the Web Low-cost worldwide marketing and sales platform Advancements in the political and economic framework for global commerce © In-Young Ko, Information and Communications University
LISA
11 Fall 2005 ICE 0575 – Methods: Deciding What to Design
Internationalization Issues
Linguistic Issues Content and Cultural Issues Technical Issues Managerial Issues
Education
– Awareness of the importance of the internationalization process in its wider economic sense
Negotiation
– Maximum functionality vs. Essential functionality for a specific country Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University
LISA
12
Linguistic Issues
Translation of messages displayed by a program Translation of documents Linguistic rules Hyphenation (no hyphenation rules in CJK) Left-to-right, right-to-left, or top-to-bottom writing Spell checkers and grammar checkers Dictionaries and thesaurus Text search Speech and writing recognition © In-Young Ko, Information and Communications University 13 Fall 2005 ICE 0575 – Methods: Deciding What to Design
1 2 2 1 2 1
What constitutes a culture?
Stephan Dahl.
Communications and Culture Transformation: Cultural Diversity, Globalization and Cultural Convergence
National character / basic personality Perception Time concept Space concept Thinking Language Non verbal communication Values Behavior: norms, rules, manners Social groupings and relationships ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Fall 2005 14
Cultural Issues
An
icon/image
that is meaningful in one country may not be appropriate in other countries e.g., A ball: vs.
1/3
Colors
must be used in appropriate ways e.g., People’s names written in red color represent deceased people in some countries A
geographical map
must include geographical names that are appropriate for a country e.g., Names of disputed regions Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 15
Cultural Issues
2/3 Fall 2005 http://www.nytimes.com/library/cyber/week/0812smile.html
ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 16
Cultural Issues
Date/time e.g., 11/2/04, 2/11/04, 2004.11.2, 4337 년 11 월 2 일 Currency Names and titles Telephone numbers, address, zip codes Weights and measures Favorable numbers … 3/3 © In-Young Ko, Information and Communications University 17 Fall 2005 ICE 0575 – Methods: Deciding What to Design
Technical Issues
Enabling software to
display
,
input
,
store print
and characters for the users' native languages Allowing users to use their native languages for
file names
and other items.
Formatting
numbers, dates, money, etc., in a way that obey customs of the users' native cultures
Classifying
and
sorting
characters, in a way that obey customs of the users' native cultures Using
typesetting rules
native languages appropriate for the users' http://www.debian.org/doc/manuals/intro-i18n/ch-intro.en.html
Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 18
A Translation Memory
(for Microsoft Windows)
http://msdn.microsoft.com/library/en-us/dnwue/html/SChin_word_list.htm
Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 19
Character Sets and Input Methods
Double Byte Character Sets Ideographic and some Asian languages (e.g., Chinese, Japanese, Korean) – require
two or more bytes
characters to represent
Text wrapping
must be designed not to separate bytes that represent a character Input Methods Extended keystrokes Language switching keys Phonetic-based inputs
Moon
달 月 MS Windows Language Tool Bar © In-Young Ko, Information and Communications University 20 Fall 2005 ICE 0575 – Methods: Deciding What to Design
Character Encodings
ASCII
(8 bits)
ISO 8859
: Extension of ASCII for European, Arabic, Hebrew, Thai languages (8 bits) e.g., ISO 8859-7 for Greek
ISO 2022
: Encoding for East Asian (CJK) languages
Variable-size
encoding, either 8 or 16 bits
Stateful Encoding
– using escape sequences to switching between multiple character sets e.g., ISO-2022-JP for Japanese
Unicode
: International standard for encoding all scripts and symbols that are in active use (max 32 bits)
UTF-8
(8-bit Unicode Transformation Format): variable-size encoding for exchanging data with legacy systems Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 21
Printing
Two most common page formats:
A4
8.5x11 (
U.S. Letter
) and The width of the page must fit on an A4 sheet and the height of the page must fit on an 8.5x11
sheet
A4 Letter
© In-Young Ko, Information and Communications University 22 Fall 2005 ICE 0575 – Methods: Deciding What to Design
A Case Study
Microsoft Word was not the dominant word processor in Korea A local word processor, called Hangul was preferred by Korean users because it supported: Easy table drawing Automatic language switching e.g., thvmxmdnpdj 소프트웨어 Various Korean font styles including ancient fonts Korean spellchecker Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 23
Internationalization Models
Localization
(
L10N
): Taking existing software and making it to support a specific language and culture e.g., NEmacs (Nihongo Emacs), Hanterm (Korean X terminal emulator)
Internationalization
(
I18N
): Designing and developing software such that it can be easily modifiable to support different languages and cultural conventions e.g., ‘Locale’ technology in Motif and Java
Globalization
(
G11N
): Designing software such that it can work for a set of languages and cultures without any modification e.g., Mule (MULtilingual Enhancement to GNU Emacs), Windows XP, Google Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 24
Global Product Development Cycle
1/2 Fall 2005
The Localization Industry Primer, LISA
ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 25
Global Product Development Cycle
2/2 Product Requirements Analysis Content and functionality Linguistic and cultural issues Internationalized Product Design Designing for flexibility and translatability Internationalized Product Development Developing products according to the global design specifications Internationalized Product Testing and QA Using QA standards (e.g., LISA QA Model) Product Localization Keeping the time gap between the lead market version and localized versions Local Product Testing and QA In-country validation or acceptance testing by local subsidiaries Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 26
Localization Tools and Technologies
Terminology Management Systems Term databases that contain entries in different languages Concept-based rather than word-based Translation Memory A database of previous translations Globalization Management Systems Tools to facilitate localization of dynamic Web contents Monitor content changes, pass the content to linguistic tools for processing, and synchronize the translated content with the source-language Website Machine Translation Suited to high volumes of well-written texts Fall 2005 ICE 0575 – Methods: Deciding What to Design
The Localization Industry Primer, LISA
© In-Young Ko, Information and Communications University 27
A consequence of inappropriately using machine translation
Fall 2005 ICE 0575 – Methods: Deciding What to Design
Press of Costa Rica Costa Rica’s Pressure Costa Rica’s Publication
© In-Young Ko, Information and Communications University 28
A Java Example – Localization
Date currDate = new Date (System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat ( "yyyy MMMM dd, EEEE a h:mm z",
Locale.KOREA
); String dateString = datePrintFormat.format(currDate) ; System.out.println( " 오늘은 " + dateString); } if (dateString.startsWith( " 금요일 " )) { System.out.println( "Thank God It's Friday!!" ); Translate the date format and messages based on user’s native culture and language Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 29
A Java Example – Internationalization
Date currDate = new Date (System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat (
targetDataFormat
,
targetLocale
); String dateString = datePrintFormat.format(currDate) ; System.out.println(
todayIsString
+ dateString); } if (dateString.startsWith(
fridayString
)) { System.out.println(
messageString
); Parameterize the language- and culture-dependant parts Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 30
A Java Example – Globalization
Date currDate = new Date (System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat (); String dateString = datePrintFormat.format(currDate) ; System.out.println(
getTodayIsString()
+ dateString); } if (dateString.startsWith(
getFridayString()
)) { System.out.println(
getMessageString()
); Convert the program to use the locale information to select the date format and message texts Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 31
Locale
A locale is a language environment that specifies
localization properties
: Language Geographical region Character code Date format Currency Sorting order A locale can be defined for each application (e.g., Java’s Locale objects) or for an operating system (e.g., MS Windows regional settings) Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 32
Java’s Locale Object
java.util.Locale
Country code (ISO-3166 two-letter code) Language code (ISO-639 two-letter code) Locale-sensitive Operations NumberFormat.getInstance(myLocale) NumberFormat.getCurrencyInstance(myLocale) NumberFormat.getPercentInstance(myLocale) Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 33
Laws and Regulations
Italy bans online auctions In Singapore, it's illegal to post ads for Viagra Germany bars retailers from offering guarantees beyond 14 days China does not allow sites to carry telephone traffic over an IP network In Korea, the header of all advertisement emails must start with “[ 광고 ]” http://www.cio.com/research/global/edit/111400_disaster.html
© In-Young Ko, Information and Communications University 34 Fall 2005 ICE 0575 – Methods: Deciding What to Design
Internationalization References
Bert Esselink.
A Practical Guide to Localization (Language International World Directory)
, John Benjamins Publishing Co, 2000
Localisation Industry Standards Association
: http://www.lisa.org
Internationalization (I18n), Localization (L10n), Standards, and Amusements: http://www.i18nguy.com/ Industry Software Localisation Tools: http://lrc.csis.ul.ie/exchange/loctools.htm
Stephan Dahl.
Communications and Culture Transformation: Cultural Diversity, Globalization and Cultural Convergence
. Middlesex University, London http://www.stephweb.com/capstone/ ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Fall 2005 35
Conclusion
Benefits of Globalization
Cost and time reduction
in developing, deploying and maintaining applications worldwide
Consistent product management
worldwide
Shorter time to market
– simultaneous shipment of multinational versions Challenges
Standardization
of internationalization formats and technologies (e.g., translation memory standards) Managing
multilingual content
© In-Young Ko, Information and Communications University 36 Fall 2005 ICE 0575 – Methods: Deciding What to Design
Questions??
Fall 2005 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 37