Globalization and Localization

Globalization:

Number/Currency:
Support for different number formats or currency symbols for a specific culture or language (these mostly follow the user locale of the Operating System)

Date/Time/Calendar:
Support different date formats, time formats, calendars that are used in a specific culture or specific locale (e.g. Gregorian, Hijri, Lunar calendars etc).

Sort/Compare:
Numeric representations of a sort element based on locale-specific sorting rules. A sort key consists of several weighted components that represent a character’s script, diacritics, case, and so on.

Keyboards and Input Methods:
A standard arrangement of characters on a keyboard that defines which keys produce particular characters or scan codes in different languages.

Address/Telephone Formats:
Support for address and telephone formats and parsing with consideration to different country/region.

Measurement (e.g., paper size, cm v. in.):
Measurement units represent the various units of measure used in different part of the world.

Encoding (e.g. Unicode):
A method or system of assigning numeric values to characters (e.g. WebPages, ASCII, Unicode, DBCS, GB18030, etc)

Locale and Cultural Awareness:
Awareness of user’s environment that is dependent on language, country/region, and cultural conventions. The locale determines conventions such as sort order; keyboard layout; and date, time, number, and currency formats.

Display:
Bugs that fall under this category result from outputting text or object or items on the screens using different fonts and different layouts on it. Examples, controls overlap in dialogs, text appears with a different font, or text is not readable in a different font, text layout issues such as RTL and vertical text, and general text and font issues.


Localizability:

Hard Coded Strings:
Strings (incl. hotkeys), string sizes, font names or images that cannot be localized because they don't appear in the resources of a file (bug category is not to be confused with "unlocalized", which means that the string/image can be localized, but isn't yet)

Layout:
UI truncations, overlapping UI controls, DAL implementation bugs or lack of DAL.

Over-Localization:
Functional bug that is caused by the translation of a string or substring (like file names and registry keys). Reverting the string or substring to English (or locking the string) solves the problem.

String Concatenation:
Strings that come from various places and are combined into one string. Consecutive string delimiters are a good indication that two strings were concatenated at runtime. This is a problem because translators can’t change the word order and apply the necessary grammar rules.

String Dependencies:
Functional bug that is caused by strings that have to be localized identically, but are not. Examples: folder names, account names, etc.Sometimes functionality is dependent upon string resources being translated consistently. Developers are encouraged to use a central repository to remove such dependencies, limit the impact of localization errors, and better enabling of cross-language scenarios.

String Length:
Functional bug that is caused by a buffer overflow. By shortening a string in the resources or making the buffer larger, the bug disappears.

Images:
Bugs in this category are related to local unawareness, gender-specific and cultural or ethnic stereotypes, body parts and also cases where text is present on icons/images which should not be the case.

Fonts:
Font names, sizes, and/or attributes are hard coded.Improper Character Display. All characters in the pseudo-localized strings should display properly. No rectangular boxes or questions marks.Also certain languages use different fonts. Some languages (like EA) often use larger font sizes and very rarely use bold text, in order to make text readable.

Translatability:
Strings that cannot be localized correctly, for example because of their construction (%s in %s) or the way they are concatenated or lack of context/commenting.

Comments

Popular posts from this blog

Network Security: LAN manager authentication level

Cisco AnyConnect Secure Mobility Client - VPN service not available. The VPN agent service is not responding