Ubuntu 实例上 mod_wsgi 的 flask-babel 和 apache 未呈现国际化 (i18n)

Internationalization (i18n) not rendered using flask-babel and apache with mod_wsgi on Ubuntu instance

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

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

它在我的本地主机上运行良好,但在服务器上运行不正常。要强制选择语言环境,我使用以下代码:

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

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

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

我遇到了完全相同的问题!当我在本地 运行 应用程序时,我的 babel t运行slations 工作正常,但在我的 apache 服务器上,none 文本按预期 t运行slating。

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

我最终明确地将 get_locale 函数导入相关视图文件,从而解决了问题。