2014-03-27 125 views
3

我正在用Django 1.6和Python 2.7構建一個網站,並將其翻譯成第二種語言。 Django框架消息以及我自己的模板和代碼中的字符串都可以很好地轉換。Django忽略來自第三方模塊的翻譯字符串

我正在使用django-passwords模塊,該模塊沒有內置翻譯。 (django-passwords中的Python代碼看起來被正確標記爲需要使用ugettext_lazy進行翻譯,但該模塊不包含現成的翻譯版。)

我在django-passwords級別創建了一個消息文件(如Django's I18N with third-party apps),添加了一些翻譯的字符串並編譯它。但是,當我運行我的應用程序時,來自django-passwords的字符串仍然以英文顯示。 django-passwords安裝在c:/python27/lib/site-packages/ passwords,編譯後的消息文件位於c:/python27/lib/site-packages/circuits/locale/fr/LC_MESSAGES/django。 mo

(我也嘗試了上述答案中提出的符號鏈接方法,但是django-passwords的字符串並沒有被拉到我的應用程序級的.po文件中,我在Windows上,所以很快就會避免如果可能,請使用符號鏈接。)

在顯示有關密碼驗證的消息時,需要執行其他哪些步驟才能讓我的應用程序使用翻譯的字符串?

+1

好的,事實證明,一個額外的步驟是在項目設置中將django-passwords語言環境目錄添加到LOCALE_PATHS。 – user3468054

+1

或者更準確地說,將django-passwords添加到INSTALLED_APPS。 – user3468054

回答

0

周圍敲我的頭一整個下午都在這之後是如何工作對我來說:

1 - add the translations i wanted to my `django-password` forked repository 
2 - pip install git+https://github.com/Ubiwhere/[email protected] 
3 - add `passwords` to `INSTALLED_APPS` in settings.py (adding `django-passwords`does not work) 

這個新的翻譯後開始工作。