Internationalization
********************

The modules described in this chapter help you write software that is
independent of language and locale by providing mechanisms for
selecting a language to be used in  program messages or by tailoring
output to match local conventions.

The list of modules described in this chapter is:

* "gettext" — Multilingual internationalization services

  * GNU **gettext** API

    * "bindtextdomain()"

    * "textdomain()"

    * "gettext()"

    * "dgettext()"

    * "ngettext()"

    * "dngettext()"

    * "pgettext()"

    * "dpgettext()"

    * "npgettext()"

    * "dnpgettext()"

  * Class-based API

    * "find()"

    * "translation()"

    * "install()"

    * The "NullTranslations" class

      * "NullTranslations"

        * "_parse()"

        * "add_fallback()"

        * "gettext()"

        * "ngettext()"

        * "pgettext()"

        * "npgettext()"

        * "info()"

        * "charset()"

        * "install()"

    * The "GNUTranslations" class

      * "GNUTranslations"

        * "gettext()"

        * "ngettext()"

        * "pgettext()"

        * "npgettext()"

    * Solaris message catalog support

    * The Catalog constructor

  * Internationalizing your programs and modules

    * Localizing your module

    * Localizing your application

    * Changing languages on the fly

    * Deferred translations

  * Acknowledgements

* "locale" — Internationalization services

  * "Error"

  * "setlocale()"

  * "localeconv()"

  * "nl_langinfo()"

    * "CODESET"

    * "D_T_FMT"

    * "D_FMT"

    * "T_FMT"

    * "T_FMT_AMPM"

    * "DAY_1"

    * "DAY_2"

    * "DAY_3"

    * "DAY_4"

    * "DAY_5"

    * "DAY_6"

    * "DAY_7"

    * "ABDAY_1"

    * "ABDAY_2"

    * "ABDAY_3"

    * "ABDAY_4"

    * "ABDAY_5"

    * "ABDAY_6"

    * "ABDAY_7"

    * "MON_1"

    * "MON_2"

    * "MON_3"

    * "MON_4"

    * "MON_5"

    * "MON_6"

    * "MON_7"

    * "MON_8"

    * "MON_9"

    * "MON_10"

    * "MON_11"

    * "MON_12"

    * "ABMON_1"

    * "ABMON_2"

    * "ABMON_3"

    * "ABMON_4"

    * "ABMON_5"

    * "ABMON_6"

    * "ABMON_7"

    * "ABMON_8"

    * "ABMON_9"

    * "ABMON_10"

    * "ABMON_11"

    * "ABMON_12"

    * "RADIXCHAR"

    * "THOUSEP"

    * "YESEXPR"

    * "NOEXPR"

    * "CRNCYSTR"

    * "ERA"

    * "ERA_D_T_FMT"

    * "ERA_D_FMT"

    * "ERA_T_FMT"

    * "ALT_DIGITS"

  * "getdefaultlocale()"

  * "getlocale()"

  * "getpreferredencoding()"

  * "getencoding()"

  * "normalize()"

  * "resetlocale()"

  * "strcoll()"

  * "strxfrm()"

  * "format_string()"

  * "currency()"

  * "str()"

  * "delocalize()"

  * "localize()"

  * "atof()"

  * "atoi()"

  * "LC_CTYPE"

  * "LC_COLLATE"

  * "LC_TIME"

  * "LC_MONETARY"

  * "LC_MESSAGES"

  * "LC_NUMERIC"

  * "LC_ALL"

  * "CHAR_MAX"

  * Background, details, hints, tips and caveats

  * For extension writers and programs that embed Python

  * Access to message catalogs

    * "gettext()"

    * "dgettext()"

    * "dcgettext()"

    * "textdomain()"

    * "bindtextdomain()"

    * "bind_textdomain_codeset()"
