Presentation is loading. Please wait.

Presentation is loading. Please wait.

Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture.

Similar presentations


Presentation on theme: "Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture."— Presentation transcript:

1 Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture #16 Internationalization

2 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Announcements Next week’s schedule Next week’s schedule Regular class on 11/15 Regular class on 11/15 No class on 11/18 No class on 11/18 Optional EVRs for Extra Credits (Individual Work) Optional EVRs for Extra Credits (Individual Work) For the Business Unit (December 6 th ) For the Business Unit (December 6 th ) For the Engineering Unit (December 13 th ) For the Engineering Unit (December 13 th )

3 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Picture of the Day: Shadyside

4 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University This Week Internationalization Internationalization The main concept and importance of internationalization The main concept and importance of internationalization Major factors to consider in internationalizing software products Major factors to consider in internationalizing software products Technical issues involved in internationalization Technical issues involved in internationalization Information Privacy Information Privacy First Principles First Principles Different approaches to implement First Principles Different approaches to implement First Principles Policy concerns model Policy concerns model

5 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University ICU ICU in Korea ICU in U.S.

6 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Google Example 1/2

7 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Google Example 2/2

8 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University A Java Example Date currDate = new Date(System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat("EEEE, MMMM dd, yyyy h:mm a z"); 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!!"); System.out.println("Thank God It's Friday!!");} dateString in US: Friday, October 29, :02 PM EDT dateString in Korea: 금요일, 10 월 29, :02 오후 KST

9 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 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 “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 making applications work seamlessly utilizing the user's preferred language and culture” – IBM (www.ibm.com/software/globalization/)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) “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)

10 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 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 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 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 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 Around 65% of the online population use non- English languages LISA / Global Research

11 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Key Driving Factors of Internationalization Ever-cheaper computer hardware Ever-cheaper computer hardware Advance in software and telecommunications technology Advance in software and telecommunications technology The rise of the Internet and the Web The rise of the Internet and the Web Low-cost worldwide marketing and sales platform Low-cost worldwide marketing and sales platform Advancements in the political and economic framework for global commerce Advancements in the political and economic framework for global commerce LISA

12 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Internationalization Issues Linguistic Issues Linguistic Issues Content and Cultural Issues Content and Cultural Issues Technical Issues Technical Issues Managerial Issues Managerial Issues Education – Awareness of the importance of the internationalization process in its wider economic sense Education – Awareness of the importance of the internationalization process in its wider economic sense Negotiation – Maximum functionality vs. Essential functionality for a specific country Negotiation – Maximum functionality vs. Essential functionality for a specific country LISA

13 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Linguistic Issues Translation of messages displayed by a program Translation of messages displayed by a program Translation of documents Translation of documents Linguistic rules Linguistic rules Hyphenation (no hyphenation rules in CJK) Hyphenation (no hyphenation rules in CJK) Left-to-right, right-to-left, or top-to-bottom writing Left-to-right, right-to-left, or top-to-bottom writing Spell checkers and grammar checkers Spell checkers and grammar checkers Dictionaries and thesaurus Dictionaries and thesaurus Text search Text search Speech and writing recognition Speech and writing recognition

14 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University What constitutes a culture? National character / basic personality National character / basic personality Perception Perception Time concept Time concept Space concept Space concept Thinking Thinking Language Language Non verbal communication Non verbal communication Values Values Behavior: norms, rules, manners Behavior: norms, rules, manners Social groupings and relationships Social groupings and relationships Stephan Dahl. Communications and Culture Transformation: Cultural Diversity, Globalization and Cultural Convergence

15 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Cultural Issues An icon/image that is meaningful in one country may not be appropriate in other countries An icon/image that is meaningful in one country may not be appropriate in other countries e.g., A ball: vs. e.g., A ball: vs. Colors must be used in appropriate ways Colors must be used in appropriate ways e.g., People’s names written in red color represent deceased people in some countries 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 A geographical map must include geographical names that are appropriate for a country e.g., Names of disputed regions e.g., Names of disputed regions 1/3

16 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Cultural Issues 2/3

17 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Cultural Issues Date/time Date/time e.g., 11/2/04, 2/11/04, , 4337 년 11 월 2 일 e.g., 11/2/04, 2/11/04, , 4337 년 11 월 2 일 Currency Currency Names and titles Names and titles Telephone numbers, address, zip codes Telephone numbers, address, zip codes Weights and measures Weights and measures Favorable numbers Favorable numbers … 3/3

18 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Technical Issues Enabling software to display, input, store and print characters for the users' native languages Enabling software to display, input, store and print characters for the users' native languages Allowing users to use their native languages for file names and other items. 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 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 Classifying and sorting characters, in a way that obey customs of the users' native cultures Using typesetting rules appropriate for the users' native languages Using typesetting rules appropriate for the users' native languages

19 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University A Translation Memory (for Microsoft Windows)

20 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Character Sets and Input Methods Double Byte Character Sets Double Byte Character Sets Ideographic and some Asian languages (e.g., Chinese, Japanese, Korean) – require two or more bytes to represent characters Ideographic and some Asian languages (e.g., Chinese, Japanese, Korean) – require two or more bytes to represent characters Text wrapping must be designed not to separate bytes that represent a character Text wrapping must be designed not to separate bytes that represent a character Input Methods Input Methods Extended keystrokes Extended keystrokes Language switching keys Language switching keys Phonetic-based inputs Phonetic-based inputs Moon MS Windows Language Tool Bar

21 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Character Encodings ASCII (8 bits) ASCII (8 bits) ISO 8859: Extension of ASCII for European, Arabic, Hebrew, Thai languages (8 bits) ISO 8859: Extension of ASCII for European, Arabic, Hebrew, Thai languages (8 bits) e.g., ISO for Greek e.g., ISO for Greek ISO 2022: Encoding for East Asian (CJK) languages ISO 2022: Encoding for East Asian (CJK) languages Variable-size encoding, either 8 or 16 bits Variable-size encoding, either 8 or 16 bits Stateful Encoding – using escape sequences to switching between multiple character sets Stateful Encoding – using escape sequences to switching between multiple character sets e.g., ISO-2022-JP for Japanese e.g., ISO-2022-JP for Japanese Unicode: International standard for encoding all scripts and symbols that are in active use (max 32 bits) 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 UTF-8 (8-bit Unicode Transformation Format): variable-size encoding for exchanging data with legacy systems

22 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Printing Two most common page formats: A4 and 8.5x11 (U.S. Letter) Two most common page formats: A4 and 8.5x11 (U.S. Letter) The width of the page must fit on an A4 sheet and the height of the page must fit on an 8.5x11 sheet 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

23 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University A Case Study Microsoft Word was not the dominant word processor in Korea Microsoft Word was not the dominant word processor in Korea A local word processor, called Hangul was preferred by Korean users because it supported: A local word processor, called Hangul was preferred by Korean users because it supported: Easy table drawing Easy table drawing Automatic language switching Automatic language switching e.g., thvmxmdnpdj  소프트웨어 e.g., thvmxmdnpdj  소프트웨어 Various Korean font styles including ancient fonts Various Korean font styles including ancient fonts Korean spellchecker Korean spellchecker

24 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Internationalization Models Localization (L10N): Taking existing software and making it to support a specific language and culture 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) 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 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 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 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 e.g., Mule (MULtilingual Enhancement to GNU Emacs), Windows XP, Google

25 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Global Product Development Cycle The Localization Industry Primer, LISA 1/2

26 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Global Product Development Cycle Product Requirements Analysis Product Requirements Analysis Content and functionality Content and functionality Linguistic and cultural issues Linguistic and cultural issues Internationalized Product Design Internationalized Product Design Designing for flexibility and translatability Designing for flexibility and translatability Internationalized Product Development Internationalized Product Development Developing products according to the global design specifications Developing products according to the global design specifications Internationalized Product Testing and QA Internationalized Product Testing and QA Using QA standards (e.g., LISA QA Model) Using QA standards (e.g., LISA QA Model) Product Localization Product Localization Keeping the time gap between the lead market version and localized versions Keeping the time gap between the lead market version and localized versions Local Product Testing and QA Local Product Testing and QA In-country validation or acceptance testing by local subsidiaries In-country validation or acceptance testing by local subsidiaries 2/2

27 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Localization Tools and Technologies Terminology Management Systems Terminology Management Systems Term databases that contain entries in different languages Term databases that contain entries in different languages Concept-based rather than word-based Concept-based rather than word-based Translation Memory Translation Memory A database of previous translations A database of previous translations Globalization Management Systems Globalization Management Systems Tools to facilitate localization of dynamic Web contents 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 Monitor content changes, pass the content to linguistic tools for processing, and synchronize the translated content with the source-language Website Machine Translation Machine Translation Suited to high volumes of well-written texts Suited to high volumes of well-written texts The Localization Industry Primer, LISA

28 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University A consequence of inappropriately using machine translation Costa Rica’s Pressure Costa Rica’s Publication Press of Costa Rica

29 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University A Java Example – Localization Date currDate = new Date(System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat("yyyy MMMM dd, EEEE a h:mm z", new SimpleDateFormat("yyyy MMMM dd, EEEE a h:mm z", Locale.KOREA); Locale.KOREA); String dateString = datePrintFormat.format(currDate); System.out.println(" 오늘은 " + dateString); if (dateString.startsWith(" 금요일 ")) { System.out.println("Thank God It's Friday!!"); System.out.println("Thank God It's Friday!!");} Translate the date format and messages based on user’s native culture and language Translate the date format and messages based on user’s native culture and language

30 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University A Java Example – Internationalization Date currDate = new Date(System.currentTimeMillis()); DateFormat datePrintFormat = new SimpleDateFormat(targetDataFormat, targetLocale); new SimpleDateFormat(targetDataFormat, targetLocale); String dateString = datePrintFormat.format(currDate); System.out.println(todayIsString + dateString); if (dateString.startsWith(fridayString)) { System.out.println(messageString); System.out.println(messageString);} Parameterize the language- and culture-dependant parts Parameterize the language- and culture-dependant parts

31 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University 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()); System.out.println(getMessageString());} Convert the program to use the locale information to select the date format and message texts Convert the program to use the locale information to select the date format and message texts

32 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Locale A locale is a language environment that specifies localization properties: A locale is a language environment that specifies localization properties: Language Language Geographical region Geographical region Character code Character code Date format Date format Currency Currency Sorting order 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) 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)

33 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Java’s Locale Object java.util.Locale java.util.Locale Country code (ISO-3166 two-letter code) Country code (ISO-3166 two-letter code) Language code (ISO-639 two-letter code) Language code (ISO-639 two-letter code) Locale-sensitive Operations Locale-sensitive Operations NumberFormat.getInstance(myLocale) NumberFormat.getInstance(myLocale) NumberFormat.getCurrencyInstance(myLocale) NumberFormat.getCurrencyInstance(myLocale) NumberFormat.getPercentInstance(myLocale) NumberFormat.getPercentInstance(myLocale)

34 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Laws and Regulations Italy bans online auctions Italy bans online auctions In Singapore, it's illegal to post ads for Viagra In Singapore, it's illegal to post ads for Viagra Germany bars retailers from offering guarantees beyond 14 days Germany bars retailers from offering guarantees beyond 14 days China does not allow sites to carry telephone traffic over an IP network China does not allow sites to carry telephone traffic over an IP network In Korea, the header of all advertisement s must start with “[ 광고 ]” In Korea, the header of all advertisement s must start with “[ 광고 ]”

35 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Internationalization References Bert Esselink. A Practical Guide to Localization (Language International World Directory), John Benjamins Publishing Co, 2000 Bert Esselink. A Practical Guide to Localization (Language International World Directory), John Benjamins Publishing Co, 2000 Localisation Industry Standards Association: Localisation Industry Standards Association: Internationalization (I18n), Localization (L10n), Standards, and Amusements: Internationalization (I18n), Localization (L10n), Standards, and Amusements: Industry Software Localisation Tools: Industry Software Localisation Tools: Stephan Dahl. Communications and Culture Transformation: Cultural Diversity, Globalization and Cultural Convergence. Middlesex University, London Stephan Dahl. Communications and Culture Transformation: Cultural Diversity, Globalization and Cultural Convergence. Middlesex University, London

36 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Conclusion Benefits of Globalization Benefits of Globalization Cost and time reduction in developing, deploying and maintaining applications worldwide Cost and time reduction in developing, deploying and maintaining applications worldwide Consistent product management worldwide Consistent product management worldwide Shorter time to market – simultaneous shipment of multinational versions Shorter time to market – simultaneous shipment of multinational versions Challenges Challenges Standardization of internationalization formats and technologies (e.g., translation memory standards) Standardization of internationalization formats and technologies (e.g., translation memory standards) Managing multilingual content Managing multilingual content

37 Fall ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Questions??


Download ppt "Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture."

Similar presentations


Ads by Google