introduction to internationalization

29
Internationalization I18n Ewa Barczykowska

Upload: ewa-barczykowska

Post on 15-Apr-2017

69 views

Category:

Documents


2 download

TRANSCRIPT

InternationalizationI18n

Ewa Barczykowska

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

c

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)

Top 10 translation errors – example data

Expansion of text - English versus other languages. How much space do we need?

Layout defect:

Name conventions defect/enhancement:

Concatenation defect:

Tooltip not translated:

Concatenation:

Translation:

Display problem/Translation:

Part of the phrase is displayed in English, hard-coding:

Layout problem in Korean:

Translation, context related error:

Corrupted character:

Questions?

Thank you!

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