Как получить перевод на конкретный язык, используя pybabel - PullRequest
0 голосов
/ 21 сентября 2018

В большинстве случаев использование gettext() или _() Бабеля происходит с текущей локалью, установленной в текущем контексте, поэтому целевой язык неявный, он не передается в качестве аргумента gettext ().

Однако есть ли способ получить перевод фразы на заданный целевой язык, например:

message = gettext('Hello there', language='es')

В исходном тексте gettext такой возможности нет, но есть лидругой API, который бы достиг этого?

1 Ответ

0 голосов
/ 08 октября 2018

Если вы используете простой API gettext, используйте переменные окружения:

import os

os.environ['LANGUAGE'] = 'en'
message = gettext('Hello there')

Для OO gettext это выглядит так:

import gettext

fr = gettext.translation('yourdomain', languages=['fr'])
es = gettext.translation('yourdomain', languages=['es'])

fr.install()
// use French ...
es.install()
// use Spanish ...
...