Internationalization and Localization
Writing software for an international audience is a challenging problem. The task is usually divided into two parts: internationalization (i18n for short, since that long word has 18 letters between the first and last), and localization (similarly abbreviated l10n).
Internationalization is the process of designing software so that
it can be adapted for specific user communities without having to change
or recompile the code. At a minimum, this means that all character
strings must be wrapped in library calls that handle runtime lookup of
suitable translations in message catalogs. Typically, the translations
are specified in ordinary text files that accompany the software, and
then are compiled by gencat or
msgfmt into compact binary files
organized for fast lookup. The compiled message catalogs are then
installed in a system-specific directory tree, such as the GNU
conventional /usr/share/locale
and
/usr/local/share/locale
, or on
commercial Unix systems, /usr/lib/nls
or /usr/lib/locale
. Details can be
found in the manual pages for setlocale(3),
catgets(3C), and
gettext(3C).
Localization is the process of adapting internationalized software for use by specific user communities. This may require translating software documentation, and all text strings output by the software, and possibly changing the formats of currency, dates, numbers, times, units of measurement, and so on, in program output. The character set used for text may also have to ...
Get Classic Shell Scripting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.