Internacionalización y localización

Las aplicaciones de gtkmm pueden soportar múltiples lenguajes fácilmente, incluyendo los no europeos como chino y los de derecha a izquierda como árabe. Una aplicación de gtkmm escrita apropiadamente y traducida usará el lenguaje apropiado en tiempo de ejecución basado en el entorno del usuario.

Puede no anticipar la necesidad de soportar lenguajes adicionales, pero nunca puede excluirla. Y es más fácil desarrollar la aplicación apropiadamente en primer lugar en vez de adecuarla después.

El proceso de escribir código fuente que se pueda traducir se llama internacionalización, a menudo abreviado como i18n. El proceso de localización, a veces abreviado l10n, proporciona el texto traducido a otros lenguajes, basado en ese código fuente.

La principal actividad en el proceso de internacionalización es encontrar las cadenas vistas por los usuarios y marcarlas para traducir. No necesita hacerlo todo de una vez: si crea la infraestructura del proyecto necesaria correctamente, entonces su aplicación funcionará normalmente sin importar cuántas cadenas ha cubierto.

Las cadenas literales deben escribirse en el código fuente en inglés, pero rodeadas por una macro. La utilidad gettext (o intltool) puede entonces extraer las cadenas marcadas para traducción, y sustituir el texto traducido en tiempo de ejecución.