假设我有一个英文字符串,locale="en",例如“computer”,它的西班牙语翻译 locale="es" 翻译为“computadora”。
如果网站当前设置为英语,如何在不更改整个网站的全球区域设置的情况下仍访问该特定字符串但翻译成西班牙语?
像 = gettext ('computer', language='es' ) 之类的东西?
假设我有一个英文字符串,locale="en",例如“computer”,它的西班牙语翻译 locale="es" 翻译为“computadora”。
如果网站当前设置为英语,如何在不更改整个网站的全球区域设置的情况下仍访问该特定字符串但翻译成西班牙语?
像 = gettext ('computer', language='es' ) 之类的东西?
最简单的方法是使用force_locale(<language>)
上下文管理器。在此块内进行的任何翻译都将使用指定的语言。
>>> from flask_babel import force_locale, gettext
>>> with force_locale("es"):
>>> print(gettext('computer')) # Will print "computadora".
最后,我设法找到了一个解决方案,那就是使用 gettext。具体来说,gettext.translation 连同消息文件夹的路径和您想要的语言环境。
path = pathlib.Path.cwd() / 'app' / 'translations'
translation = gettext.translation('messages', path, 'es', fallback=True).gettext('computer')
您是否尝试过使用 miguel 的教程?烧瓶超级教程