introduction to internationalization
TRANSCRIPT
i18n? L10n? g11n?• Internationalization – design so that it can be adapted
• Localization – translate and adapt designed software to specific region or language
• Globalization - (internationalization + localization)
Internationalization Internationalization – process of designing software that can be potentially adapted to various languages and regions without engineering changes
Design aspects to consider when doing internationalization of a product:• User interaction (how a user will be interacting with your product)• Currency is hard coded?• Data formats are hard-coded?(01/12/2016 or 12/01/2016?)• Fixed length GUI screens or dialog boxes, read-and-print messages?• ASCII code or character constraints?• Slang? Technical jargon?• String operations like concatenation or substring search is present?• Diagrams and images have embedded translatable text?
Design aspects to consider when doing internationalization of a product – ctn.:• Are icons, bitmaps, screens, dialog boxes are separated from the code
and stored in resource files?• If the code uses scrolling of text – do the screens/dialogs allow for
provisions for direction change in scrolling such as top to bottom, right to left, bottom to top, left to right? Arabic vs. English
Fake language testing• Helps simulating the functionality of the product for different
language, using software translators.
Pig Latin (single-byte fake language)Wide Latin (double-byte fake language)
RPxmutator
Fake language testing objectives• Software functionality is tested for European single-byte language (Pig
Latin)• Software functionality is tested for double-byte language (Wide
Roman)• Ensure all strings are displayed properly on the screen• Ensure that screen width, size of pop-ups, and dialog boxes are
adequate for string display with the fake languages
LocalizationLocalization - process of adapting computer software to different languages and regional differences
LocalizationThis most time-consuming and expensive part is. Localization may include:• Subtitles or dubbing for video, voice-over• Altering images that contain text to contain text or generic icons• Different translation length and different character size (Chinese,
Korean, Japanese) can cause layout problems• Portuguese, Brazilian Portuguese• Formatting of numbers or date and time format (thousand is 1.000 or
1,000?)
Localization – cnt.:• Writing direction (left-to write, right-to-left), for example Arabic language is
written from right to left, unlike English. Display problems might ensue• Different characters/set of letters, i.e. वह, ńźŁę, äöüß• Complex text layout where characters change shape according to context• Capitalization• Different numeral systems• Different pluralization rules may complicate programs that dynamically display
numerical content• Different punctuation, e.g. “” in English and <<>> in French• Keyboard shortcuts
National conventions, e.g. Between US and Europe• Paper size• Telephone formats• Postal address format, postal codes • Currency symbols and their position• Systems of measurements• Battery sizes• Voltage and current standards
Legal compliance• Disclaimers required• Different consumer labelling requirements• Regulations on encryption• Compliance with internet censorship• Requirements for accessibility• Collecting different taxes/custom duties• Government assigned numbers have different formats
Differences in culture:
• Local holidays• Personal name and title conventions, honorific, prefix, suffix• Aesthetics• Colour symbolism• Ethnicity, clothing and architecture of locations pictured• Local customs and conventions (taboos, blood type superstitions in
Japanese culture, local religions, astrological signs)
References:• https://en.wikipedia.org/wiki/Internationalization_and_localization• Ibrahim Mehru, Globalization Verification Test (GVT) and IBM Pseudo
Translator (RPX), IBM, Globalization Centre of Competency, Toronto, Cannada• Srinivasan Desikan, Gopalaswamy Ramesh, Software Testing Principles
and Practices, Pearson, 2014, p.211-227