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