22. 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: * 22.1. "gettext" — Multilingual internationalization services * 22.1.1. GNU **gettext** API * 22.1.2. Class-based API * 22.1.2.1. The "NullTranslations" class * 22.1.2.2. The "GNUTranslations" class * 22.1.2.3. Solaris message catalog support * 22.1.2.4. The Catalog constructor * 22.1.3. Internationalizing your programs and modules * 22.1.3.1. Localizing your module * 22.1.3.2. Localizing your application * 22.1.3.3. Changing languages on the fly * 22.1.3.4. Deferred translations * 22.1.3.5. "gettext()" vs. "lgettext()" * 22.1.4. Acknowledgements * 22.2. "locale" — Internationalization services * 22.2.1. Background, details, hints, tips and caveats * 22.2.2. For extension writers and programs that embed Python * 22.2.3. Access to message catalogs