CentOS上的Django翻译

时间:2013-11-25 15:43:38

标签: python django centos

我有一个Django 1.4项目,我开始利用该框架的翻译功能。

我的翻译工作在我的Mac本地。我可以将消息从.po编译为.mo。我在浏览器上看到了结果。

但是一旦将代码部署到我们的某个CentOS环境中,它就会停止工作。我已经通过Homebrew(OSX)和Yum(CentOS)在两个系统上安装并链接了GNU的gettext。

以下是我的翻译特定配置参数。

settings.py

LANGUAGE_CODE = 'en-us'
...
USE_I18N = True
USE_L10N = True
...
MIDDLEWARE_CLASSES = (
    ...
    'django.middleware.locale.LocaleMiddleware',
)

项目结构

proj_root/app/locale/en_us/LC_MESSAGES

另外需要注意的是我正在通过 ugettext 在视图函数中进行翻译。

1 个答案:

答案 0 :(得分:0)

感谢我的一位同事,事实证明语言文件夹不正确。

我的Mac上有以下内容并且工作正常。

proj_root/app/locale/en_us/LC_MESSAGES

但是为了让它在服务器上运行,我必须将 en_us 重命名为 en_US (请注意案例中的更改)。

proj_root/app/locale/en_US/LC_MESSAGES

事实证明,Mac文件系统不区分大小写,我不知道。这就是 en_us 在OSX上工作但在CentOS上工作的原因。 GNU的 gettext 需要以下格式, xx_XX