Python 如何获取当前不是语言环境的特定字符串翻译?
假设我有一个英语字符串,locale=“en”,例如“computer”,它的西班牙语翻译,locale=“es”翻译将是“computedora” 如果网站当前设置为英语,那么在不更改整个网站的全局语言环境的情况下,如何仍能访问该特定字符串(但已翻译为西班牙语)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(),这是一个上下文管理器。在此块中进行的任何翻译都将使用指定的语言 >>
类似于=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')