2013-02-24 23 views
5

即使他們在英語中是相等的,你怎麼能告訴ugettext複數形式不是單數形式?當複數形式等於單數形式時的模型複數的Django翻譯

class News(models.Model): 
    class Meta: 
     verbose_name = _('news') 
     verbose_name_plural = _('news') 

makemessages給出了這樣的:

#: models.py:134, models.:135 
msgid "news" 
msgstr "noticia" 

劈裂這個定義中斷與彙編 「重複消息定義...」

解決辦法,我發現:

  • 添加一個空格在複數形式的末尾(我正在使用的那個)
  • 在世界語中編寫應用文本?開玩笑。

回答

3

嘗試:

from django.utils.translation import pgettext 

class News(models.Model): 
    class Meta: 
     verbose_name = pgettext("news singular", "news") 
     verbose_name_plural = pgettext("news plural", "news") 
+0

這是相反的是我期待的。我想verbose_name_plural有不同的翻譯,不一樣。 – francescortiz 2013-02-25 17:07:20

+0

嗯。對不起,我誤解了你的問題,我越看越是一個很好的問題。我已經爲你更新了我的代碼示例。 – Brandon 2013-02-25 17:32:40

+0

我將您的代碼更改爲使用pgettext_plural,但這確實有竅門。謝謝! – francescortiz 2013-04-20 06:58:19