Aspects of International Program Design
Developing an internationalized application (or converting an existing program)
increases the flexibility of your application. For the purist, an internationalized
program is not without a certain aesthetic aspect due to its structural and
functional robustness. An internationalized program is engineered such that all
language dependent features are separate from the main program logic.
The WPI approach is the preferred approach, because you don't need any
knowledge of any language other than your own, and you don't even need to
be aware of the standard ways different languages and codesets can vary. The
linguistic capacity of your program transcends your own linguistic knowledge,
functioning "fluently" in many different linguistic environments. Screens,
prompts, and error messages are displayed in the user's language. Data is
processed according to the grammar of the user's language. All of this is
accomplished without altering your source code. Translators merely create
external message catalogs to interface with your program; language tables
installed on the system are referenced at run time, specifying language and
locale specific information.
Some advantages of an internationalized application are:
• Using message catalogs and language tables reduces the complexity and the
amount of time required to localize a program. Source code documents do
not have to be altered, which also eliminates the need to debug and re-test
• Adapting the user interface to local needs is simplified. Translators work
with a discrete file containing the text to translate, instead of digging
through a voluminous amount of source code. This means localizers do not
have to be programmers.
• Using language tables consolidates the grammar and processing rules of each
language. Once installed, these tables will support any internationalized
• Using message catalogs and language tables makes your software product
easier to manufacture, stock, and ship.
Developing International Software