Python 如何获取当前不是语言环境的特定字符串翻译?

Python 如何获取当前不是语言环境的特定字符串翻译?,python,flask,python-babel,flask-babel,Python,Flask,Python Babel,Flask Babel,假设我有一个英语字符串,locale=“en”,例如“computer”,它的西班牙语翻译,locale=“es”翻译将是“computedora” 如果网站当前设置为英语,那么在不更改整个网站的全局语言环境的情况下,如何仍能访问该特定字符串(但已翻译为西班牙语) 类似于=gettext('computer',language='es')?你试过使用米格尔的教程吗 最简单的方法是使用force\u locale(),这是一个上下文管理器。在此块中进行的任何翻译都将使用指定的语言 >>

假设我有一个英语字符串,locale=“en”,例如“computer”,它的西班牙语翻译,locale=“es”翻译将是“computedora”

如果网站当前设置为英语,那么在不更改整个网站的全局语言环境的情况下,如何仍能访问该特定字符串(但已翻译为西班牙语)


类似于=gettext('computer',language='es')?

你试过使用米格尔的教程吗

最简单的方法是使用
force\u locale()
,这是一个上下文管理器。在此块中进行的任何翻译都将使用指定的语言

>>> from flask_babel import force_locale, gettext
>>> with force_locale("es"):
>>>     print(gettext('computer')) # Will print "computadora".

最后,我设法找到了一个解决方案,那就是使用gettext。具体地说,gettext.translation以及到messages文件夹的路径和所需的区域设置

path = pathlib.Path.cwd() / 'app' / 'translations'

translation = gettext.translation('messages', path, 'es', fallback=True).gettext('computer')