Software Systems Architecture

The Internationalization Perspective

We can no longer assume that the lingua franca of generally available IT systems is English. Even if the users of the system speak English, the customers they are dealing with may not; their names may require support for non-English or non-Western alphabets; and if the system uses the Internet, it may be directly exposed to customers from any part of the world.

The Internationalization perspective is important, therefore, for any system that will have users who speak different languages or come from different countries. If systems are aimed at a specific locale with no plans to move it into a wider area, this perspective has limited relevance.

Because of its length, the word internalization is sometimes abbreviated I18N. A related term is localization (sometimes abbreviated to L10N), which refers to the process of performing the specific work required to use an already internationalized system in a particular locale (e.g., the translation of system messages).

Desired Quality The ability of the system to be independent from any particular language, country, or cultural group
Applicability Any system which may need to be accessed by users or operational staff from different cultures or parts of the world, or in multiple languages, either now or in the future
Concerns
  • Character sets
  • text presentation and orientation
  • specific language needs
  • cultural norms, automatic translation
  • currency conversions and exchange rates
  • cultural neutrality
Activities
  • identification of system touch points
  • identification of regions of concern
  • internationalization of code
  • localization of resources
Tactics
  • separation of presentation and content
  • use of message catalogs
  • system-wide use of suitable character sets (eg Unicode)
  • specialized display and presentation hardware
  • currency conversion mechanisms
Pitfalls
  • Platforms not available in required locales
  • initial consideration of similar languages only
  • internationalization performed late in the development process
  • incompatibilities between locales on servers
  • insufficient consideration of currency exchange

← The Evolution Perspective     |     Perspectives    |     The Location Perspective →