国际化(i18n)在Ubuntu实例上没有使用flask-babel和带有mod_wsgi的apache呈现

时间:2016-06-28 03:20:30

标签: python apache flask internationalization babel

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

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

它在我的localhost中完美运行,但在服务器中却没有。要强制选择语言环境,我使用以下代码:

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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