Internationalization Topics

Introduction

The term Software Internationalization (I18n) refers to the process of engineering software in a fashion that allows it to support any Locale. I18n is often confused with Localization (L10n), which is the process of translating and otherwise making locale-specific the translatable and localizable elements of an application such as display text and images. The combination of the two is Globalization (G11n). Globalyzer focuses on I18n, which includes the following tasks:

  • The removal of all embedded display strings from your source code and the placement of those strings in resource files. The embedded string is replaced with a call to retrieve the appropriately translated string at runtime, according to the locale of the user.
  • The alteration of paths to localizable material such as images, static HTML pages, style sheets, and XML files. The paths must be altered to retrieve the localized element from a locale-specific directory at runtime.
  • The replacement or refactoring of method calls and functions that are locale-sensitive. This includes any call that may not return the results appropriate to the locale or character encoding of the user.
  • The refactoring of code to ensure support of the required character set. This might be double-byte Unicode (UTF-16, UCS2), UTF-8 (can be one or more bytes), or a character set native to the target locale. Many programming languages, including C and C++, contain character and string datatypes as well as functions that assume either a single byte per character or the ASCII character set.
  • The process of altering SQL statements, re-architecting database schemata and porting existing data into the desired character set.
  • General architectural analysis and alterations. It is impossible to foresee all of the problems that will arise within any given architecture. There will be character set transliteration issues between your application and an integrated third-party product; there will be formatting issues that arise when your existing web pages are loaded with Asian characters. Globalyzer can not attempt to solve all of these problems automatically. However, through creative use of the General Patterns category and access to source code, Globalyzer can assist greatly in assessing the scope of these outlying issues.
The internationalization topics in the list below provide a general discussion of internationalization issues. For information on specific methods or functions detected by Globalyzer, refer to the topic on Locale-Sensitive Methods.

Click on a topic for more information:

Bi-Directional Text Processing

Collation

Collation in Java

Collation in Oracle 8i

Currency

Dates and Times in ICU

Disclaimer

Email

Externalization Strategies

Globalization Glossary

ICU Collator for C/C++

Internationalized Path Structure

Java Locale

Java Locale Example

Locales in C/C++

Microsoft Code Pages

Number Formatting

Oracle NLS Parameters

Prepared Statements

Time and Date Functions

Unicode

Upper and Lowercase Characters