 |
|
 | Although globalization is a general trend in today's world, many differences among different locales are still widespread, and they should be taken into serious consideration by e-business applications targeting for global markets. These differences can be categorized into the following aspects:
A commonly used method is to develop multiple NLS versions. For example, a software company may release English and Chinese version of a same product, and all language resource (text, image) are tightly coupled to the source code. The source code of English version and Chinese version are slightly different due to the NLS enablement. The drawbacks of this approach are also obvious: First, the developments must maintain two different source code for both English and Chinese version. When a product upgrades, the two versions both need to be rewritten. Second, tightly coupled will spend extra time on releasing a product for a new language. Usually, English version product is released first, and then other language versions will be translated (with code modification). Also, there will be a delay to ship NLS version. Modern globalization software development methodology recommends using a loosely coupled approach during the development.
Loosely-coupled method separates source code and language resources to different file sets. The source code doesn't contain any locale sensitive data, and all UI elements text are extracted from the language resources (usually called "language pack" or "localization pack") dynamically according to current OS locale or user defined locale. A loosely-coupled globalization software or solution only maintains one core source code and the binary. The language packs are organized as resource files (Java properties, XML, Win32 satellite DLL, etc), which are loaded by the executable binary at runtime. If a new language needs to be supported in the future, the developer only need to translate the language pack to the new language and ship the pack to customer as service pack or plug-in. Installable language pack significantly reduces the cost of producing G11N enabled software. This approach is now widely used in IBM flagship software products and is the basic principle of GAI. |
|
|
 | Based on current understandings on G11N, we commonly propose a so-called "Single executable" plus"language pack" architecture. This architecture addresses most of the issues we face when implementing G11N featured system. However, this architecture still inevitably has other weakness.
First of all, the basic idea of loosely-coupled "single executable"plus multiple "language packs" definitely leads to an identical user interface or "look and feel" for all worldwide users. System owner finds it extremely hard to develop some certain functions which only serve for specific markets. If system owner hoped to add a certain function for specific market/locales, he/she might have to modify the UI template which totally influences all the other locales. "Single executable" makes all the contents organization tightly related. Any tiny changes could influence all the locales.
There is another issue about "Single executable". Take tax calculation as an example: Different countries/locations have different tax policies and formulas. This results in different calculation logics and methods. It's surely not appropriate to wrap up all these different logics into a single unit, especially for this kind of complicated logic. In this example, we can see how awkward it is when "Single executable" handles these totally different logics.
Moreover, a traditional globalized application may also include all supported language packs and G11N libraries, which may not necessary target for a particular customer. This problem even becomes severe on those limited resource platforms. For example, on hand held devices, memory resource is very crucial, it is not economical to import all the libraries featuring dozens of language to support an application which only requires 2-3 languages support. Since the original architecture does not support customization for end users to tailor the features, there are only two choices for them: to get nothing, or to get all. |
|



Continue to diversity of globalization
|
|
|
|
|  | |