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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access