2012-04-01 37 views
3

一些標籤給我沒有設置* .po文件的翻譯單詞。如何在Django中禁用默認翻譯值?

{% trans "groups" %} 
{% trans "users" %} 

不幸的是創建時,他們不會被覆蓋的* .po文件並運行:

django-admin.py compilemessages 

那麼,如何擺脫默認翻譯的?我更喜歡項目級別的解決方案,因爲我不想修改Django核心文件。

回答

5

有幾種方法來覆蓋它

  • 設置你的locale路徑在設置文件LOCALE_PATHS,這給你的翻譯更高的優先級。
  • 更改msgid與Django使用的不同。然後提供將被使用的語言的翻譯。該MSGID可以是任何東西加上基礎線,只要其獨特和翻譯家友好的,例如命名空間前綴:{% trans "my:groups" %}
  • Contextual markers for Django1.3+,那麼它看起來像{% trans "groups" context "my" %}
-1

我變得更簡單。而不是設置語言如英語,法語,Ru和其他的,我加前綴「T _」,所以我用從寶象t_en,t_ru迪爾斯,t_fr

+0

它絕不是「Python化」的方式來解決這個問題。 – 2016-03-03 12:12:12