2010-11-12 70 views
1

我在HTML模板和views.pyforms.pymodels.py文件中都有一個帶有翻譯字符串的網站。 Django爲我的第二語言創建了django.po文件,並且我輸入了大部分翻譯。但是,我的.html和view.py文件中只有翻譯出現在網站上。其他人似乎被忽略(models.py,forms.py - 都默認爲英文)爲什麼Django只顯示我的一些翻譯

發生了什麼事?

我明顯編譯了我的django.mo文件,這是行得通的 - 否則大量的模板字符串將不會被翻譯 - 爲什麼它忽略我的models.py翻譯。無論是在管理網站還是前端。

一個想法是在django.mo文件中可能會導致文件中斷。有沒有辦法測試django.mo文件的錯誤?如果出現錯誤,它可以工作嗎?

我的項目也安裝了Django-cms,這可能會導致一些衝突?

謝謝你的光棚。

蓋伊

回答

2

1.確保你總是在的.mo文件模式和形式定義

2.取出可能fuzzy tags使用ugettext_lazy(不ugettext)。

+0

簡單 - _lazy和_lazy之間有什麼區別呢?這使得它的工作... – 2010-11-12 15:17:28

+0

'_lazy'版本翻譯EVERYTIME字符串被訪問,正常版本只有一次代碼運行,這隻發生在django的啓動ONCE上的表單和模塊! – 2010-11-12 15:23:24