gettext incorpora a Python el flujo tradicional de catálogos GNU. El código utiliza una clave de mensaje y el catálogo compilado aporta la traducción para la configuración elegida.

Ejemplo práctico

import gettext

translator = gettext.translation(
    "messages",
    localedir="locales",
    languages=["pt_BR"],
    fallback=True,
)
_ = translator.gettext
print(_("Welcome"))

Marca mensajes con una función breve, extráelos a archivos PO, revisa las traducciones y compila archivos MO. Automatiza la extracción para que los mensajes nuevos aparezcan en el flujo editorial.

El plural no es concatenación

Usa ngettext() con formas singular y plural. Cada idioma define sus reglas, por lo que construir frases con condiciones propias del inglés genera traducciones frágiles.

Contexto y fallback

Evita una palabra aislada cuando pueda tener varios significados. Añade contexto al catálogo y decide si fallback=True es aceptable, porque puede ocultar una traducción pendiente.

Sigue aprendiendo

Refuerza la base con guía de Python para principiantes. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API, las limitaciones y las diferencias entre versiones.