1

我有一个使用 python 2.7.6 开发的 web 应用程序,flask 并部署在 Apache Ubuntu 服务器上。

为了国际化,该应用程序使用该flask-babel包来翻译成泰语。但是,似乎我的translations/th/LC_messages/messages.po文件被忽略了。

它在我的本地主机上完美运行,但在服务器上却不行。为了强制选择语言环境,我使用下面的代码:

@babel.localeselector
def get_locale():
    return 'th'

似乎我的配置文件中可能缺少某些内容,但无法弄清楚。

如果您有任何想法,请随意。谢谢你。

4

1 回答 1

0

我遇到了这个完全相同的问题!当我在本地运行应用程序时,我的 babel 翻译工作正常,但在我的 apache 服务器上,没有任何文本按预期翻译。

在尝试了许多不同的修复后,我发现(无论出于何种原因),我的自定义get_localelocaleselector 覆盖函数在 apache 服务器上运行时没有被应用程序使用。

我最终将该get_locale函数显式导入到相关的视图文件中,从而解决了这个问题。

于 2017-05-04T17:45:22.580 回答