【问题标题】:Django Translation on CentOSCentOS 上的 Django 翻译
【发布时间】:2013-11-26 00:34:30
【问题描述】:

我有一个 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 在视图函数中进行翻译。

【问题讨论】:

    标签: python django centos


    【解决方案1】:

    感谢我的一位同事,原来语言文件夹不正确。

    我的 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

    【讨论】:

      猜你喜欢
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 2021-11-26
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多