все Python 3gettextфункция
gettext.install()
каталоги переводов
Загружает каталог домена и кладёт функцию _() во встроенные имена, чтобы переводить строки в любом модуле без импорта.
Синтаксис
gettext.install(domain, localedir=None, *, names=None)
install сама включает fallback: каталог не найден — _() просто вернёт исходную строку, без ошибки. Она меняет builtins всей программы, поэтому годится приложению, но не библиотеке: та перезапишет _ хозяина. Ещё ловушка — интерактивная оболочка тоже пишет в _ последний результат и затирает функцию.
Примеры
import builtins, gettext
gettext.install('app', 'loc')
print(builtins._('Hello')) # → Hello — каталога нет, строка как есть
gettext.install('app', 'loc', names=['ngettext'])
print(builtins.ngettext('file', 'files', 2)) # → files
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности