Although there are different methods to localize an application,
the general rule is that any language-dependent information is outside
the application and is stored in separate directories identified
by a locale name.
This section describes how the user, the application developer,
and the implementation combine to establish the language environment
of the application. Two general approaches to localizing applications
are also discussed. The following three methods can be used:
Resource Files |
 |
This is the GUI toolkit mechanism for customizing all sorts
of information about an application. The Intrinsic library (libXt)
provides a sophisticated mechanism for merging the command-line
options,
application-defined resources, and user-defined resources. Resource
files can be used for extracting localized text. The difference
between resource files and message catalogs is that the resource
database is compiled each time it is loaded. As such, care should
be taken when deciding which strings to place in resource files
and which to place in message catalogs.
Also note that the Motif library functions do not depend on
the LC_MESSAGE category when specifying the location from which
localized resources are loaded. Refer to the XtSetLanguageProc()
man page for more information.
Message Catalogs |
 |
This is the traditional operating system mechanism for accessing
external databases containing localized text. These functions load
a precompiled catalog file that is ready to be accessed. They also
provide defaults within the actual program for cases when no catalogs
may be found.
The messaging support is based on both the XPG4 and System
V Release 4 (SVR4) interfaces for accessing message catalogs.
Private Files |
 |
Private databases can be
used by applications to provide generic, customized databases for
more than just localization text. Usually, such databases do contain
text. It is recommended that if the database is to be spread out
over many files, some run-time indirect access of localized text
be provided. Without this access, localization for the average user
is a difficult effort. Generally, such private file formats are
discouraged by groups doing localization. But problems are reduced
if a tool is provided specifically for localization of text only.