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"))
Del código al catálogo
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.