Localization Testing
Localization Testing
Localization Testing
Localization
The aspect of development and testing relating to the translation of the software and ite prsentation to the end user. This
includes translating the program, choosing appropriate icons and graphics, and other cultural considerations. It also may
include translating the program's help files and the documentation. You could think of localization as pertaining to the
presentation of your program; the things the user sees.
Internationalization (I18N)
• Developing a (software) product in such a way that it will be easy to adapt it to other markets (languages and
cultures)
• Goal: eliminate the need to reprogram or recompile the original program
• Carried out by SW-Development in conjunction with Localization
• Handing foreign text and data within a program
• Sorting, importing and exporting text and data, correct handing of currency and data and time formats, string
parsing, upper and lower case handling.
• Separating strings from the source code, and making sure that the foreign language string have enough space
in your user interface to be displayed correctly
Internationalization
The aspect of development and testing relating to handling foreign text and data within a program. This would include
sorting, importing and exporting text and data, correct handling of currency and date and time formats, string parsing,
upper and lower case handling, and so forth. It also includes the task of separating strings (or user interface text) from the
source code, and making sure that the foreign language strings have enough space in your user interface to be displayed
correctly. You could think of internationalization as pertaining ot the underlying functionality and workings of your program.
What is I18N/L10N stand for ?
These two abbreviations mean internationalization and localization respectively. Using the word "internationalization" as
an example; here is how these abbreviations are derived. First, you take the first letter of the word you want to abbreviate;
in this case the letter "I". Next, you take the last letter in the word; in this case the letter "N". These become the first and
last letters in the abbreviation. Finally, you count the remaining letters in the word between the first and last letter. In this
case. "nternationalizatio" has 18 characters in it. se we will plug the number 18 between the "I" and "N"; thus I18N.
I18N and L10N
• I18N and L10N comprise the whole of the offort involved in enabling a product.
• I18N is "Stuff" you have to do once.
• L10N is "stuff you have to do over and over again.
• The more stuff you push into I18N out of L10N, the less complicated and expensive the process becomes.
Globalization (G11N)
• Activities performed for the purpose of marketing a (software) product in regional marketing a (software) product
in regional markets
• Goal: Global marketing that accounts for economic and legal factors.
• Focus on marketing; total enterprise solutions and to management support
Aspects of Localization
• Terminology
The selection and definition as well as the correct and consistent usage of terms are preconditions for
successful localition:
• laymen and expert users
• in most cases innovative domains and topics
• huge projects with many persons involved
• consistent terminology throughout all products
• no synonyms allowed
• prededined terminology(environment, laws, specifications, guidelines, corporate language)
• Symbols
• Symbols are culture-dependant, but often they cannot be modified by the localizer.
• Symbols are often adopted from other (common) spheres of life.
• Symbols often use allusions (concrete for abstract); in some cases, homonyms or even homophones
are used.
• Illustrations and Graphics
• Illustrations and graphics are very often culture dependant, not only in content but also in the way
they are presented
• Illustrations and graphics should be adopted to the (technical) needs of the target market (screen
shots, manuals)
• Illustrations and graphics often contain textual elements that must be localized, but cannnot be
isolated.
• Colors have different meanings in different cultures
• Character sets
• Languages are based on different character sets ("alphabets")
• the localized product must be able to handle(display, process, sort etc) the needed character set
• "US English" character sets (1 byte, 7 bit or 8 bit)
• Product development for internationalization should be based on UNICODE (2 byte or 4 byte)
• Fonts and typography
• Font types and font families are used in different cultures with varying frequency and for different text
types and parts of text
• Example: In English manuals fonts with serifs(Times Roman) are preferred; In German manuals fonts
without serifs(Helvetica) are preferred
• Example: English uses capitalization more frequently(e.g. CAUTION) for headers and parts of text
• Language and style
• In addition to the language specific features of grammar, syntax and style, there are cultural
conventions that must be taken into account for localization.
• In (US_English) an informal style is preferred, the reader is addressed directly, "simple" verbs are
used, repetition of parts of text is accepted etc.
• Formulating headers (L10N)
• Long compound words (L10N)
• Elements of the user interface
Open the File menu
The Open dialog box appears
Click the copy command
• Formats
• Date, currency, units of measurement
• Paper format
• Different length of text
1. Consequences for the volume of documents, number of pages, page number (table of
contents, index)etc.
2. Also for the size of buttons (IT, machines etc.)
• testing resource files [separate strings from the code] Solution: create a pseudo build
• string expansion: String size change breaking layout and aligment. when words or sentatences are translated
into other languages, most of the time the resulting string will be either longer or shorter than the native
language version of the string. Two solutions to this problem:
1. Account the space needed for string expansion, adjusting the layout of your dialog accordingly
2. Separate your dialog resources into separate dynamic libraries.
• Data format localization:
European style:DD/MM/YY
North American style: MM/DD/YY
Currency, time and number formate, address.
• Charater sets: ASCII or Non ASCII
Single byte character 16bit (US) 256 charaters
Double byte character 32bit(chinese) 65535 code ponits
• Encoding: Unicode: Unicode supports many different written languages in the world all in a single character
encoding. Note: For double character set, it is better to convert from Unicode to UTF8 for chinese, because
UTF8 is a variable length encoding of Unicode that can be easily sent through the network via single byte
streams.
• Builds and installer : Creating an environment that supports a single version of your code, and multiple version
of the language files.
• program's installation, uninstallation in the foreign machines.
• Tesing with foreign characters :
EXP:
enter foreign text for username and password.
For entering European or Latin characters on Windows
1. Using Character Map tool
Search: star-program-accessories-accessibility-system tool-
2. escape sequences. EXP: ALT + 128
For Asia languages use what is usually called an IME (input method editor)
Chinese: I use GB encoding with pin yin inputer mode
• Foreign Keyboards or On-Screen keyboard
• Text filters: Program that are used to collect and manipulate data usually provide the user with a mechanism for
searching and filtering that data. As a global software tester, you need to make sure that the filtering and
searching capabilities of your program work correctly with foreign text. Problem; ignore the accent marks used
in foreign text.
• Loading, saving, importing,and exporting high and low ASCII
• Asian text in program: how double charater set work
• Watch the style
• Two environment to test for the program in chinese
1. In Chinese window system. (in China)
2. In English Window system with chinese language support (in USA)
Microsoft language codes:
CHS - Chinese Simplified
CHT - Chinese Traditional(Taiwan)
ENU - English (United States)
FRA - French (France)
Java Languages codes
zh_CN - Chinese Simplified
zh_TW - Chinese Traditional(Taiwan)
Fr or fr_FR - English (United States)
en or en_US - French (France)
• More need consider in localization testing:
Hot key.
Garbled in translation
Error message identifiers
Hyphenation rules
Spelling rules
Sorting rules
Uppercase and lowercase conversion
• Accuracy
• Good reading
• Help is a combination of writing and programming
• Test hypertext links
• Test the index
• Watch the style