2013-11-25 42 views
0

我有一個Django 1.4項目,我開始利用框架的翻譯功能。CentOS上的Django翻譯

我在本地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

回答

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