Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CentOS上的Django翻译_Python_Django_Centos - Fatal编程技术网

Python CentOS上的Django翻译

Python CentOS上的Django翻译,python,django,centos,Python,Django,Centos,我有一个Django1.4项目,在这个项目中我开始利用框架的翻译功能 我有翻译工作在我的Mac本地。我可以将消息从.po编译到.mo。我在浏览器上看到结果 但一旦代码部署到我们的CentOS环境中,它就会停止工作。我已经通过自制(OSX)和百胜(CentOS)在这两个系统上安装并链接了GNU的gettext 下面是我的翻译特定配置参数 设置.py LANGUAGE_CODE = 'en-us' ... USE_I18N = True USE_L10N = True ... MIDDLEWARE_

我有一个Django1.4项目,在这个项目中我开始利用框架的翻译功能

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

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

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

设置.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

在视图功能中进行翻译。多亏了我的一位同事,结果发现语言文件夹不正确

我在我的Mac电脑上安装了以下功能,工作正常

proj_root/app/locale/en_us/LC_MESSAGES
但是为了让它在服务器上工作,我不得不将en_-us重命名为en_-us(注意大小写的变化)

原来Mac文件系统是不区分大小写的,我不知道。这就是为什么en_us在OSX上工作,而在CentOS上工作的原因。GNU的gettext需要以下格式,xx\u xx

proj_root/app/locale/en_US/LC_MESSAGES