gettext implementa o fluxo tradicional de catálogos GNU no Python. O código usa uma chave de mensagem e o catálogo compilado fornece a tradução da localidade escolhida.
Exemplo prático
import gettext
translator = gettext.translation(
"messages",
localedir="locales",
languages=["pt_BR"],
fallback=True,
)
_ = translator.gettext
print(_("Welcome"))
Do código ao catálogo
Marque as mensagens com uma função curta, extraia-as para arquivos PO, revise traduções e compile arquivos MO. Automatize a extração para que novas mensagens não fiquem invisíveis à equipe editorial.
Plural não é concatenação
Use ngettext() com formas singular e plural. Cada idioma define suas próprias regras, então montar a frase com condicionais em inglês produz traduções frágeis.
Contexto e fallback
Evite uma palavra isolada quando ela puder ter sentidos diferentes. Use contexto no catálogo e escolha conscientemente quando fallback=True é aceitável, pois ele pode esconder uma tradução ausente.
Continue estudando
Aprofunde a base com guia de Python para iniciantes. A documentação oficial do Python, consultada em 22 de julho de 2026, detalha a API, as limitações e as diferenças entre versões.