3

我的應用程序將有兩種語言:英語和德語。應用程序將擁有一對帶說明字段的XType對象。我如何翻譯XType的描述字段? Django是否提供對此的支持,或者我將不得不使用另一個Django應用程序?Django應用程序模型的國際化

class XType(models.Model): 
    description = models.CharField(max_length=50) 
    def __unicode__(self): 
     return self.description 

class X(models.Model): 
    type = models.ForeignKey(XType) 

回答

1

Django不提供直接支持模型領域的翻譯。

你必須找到一種方法來處理它在Django中或通過可插入的應用程序(如發佈已經django-easymode或檢查http://blog.muhuk.com/2010/01/06/dynamic-translation-apps-for-django.html)。

如果你想對付它你的應用程序中,你可能想嘗試像每種語言節省一個實例,然後檢索數據時過濾相應:

class XType(models.Model): 
    language = models.CharField(max_length=5) 
    description = models.CharField(max_length=50) 

取決於您的項目需求當然有很多。

+0

我試過使用模型翻譯的翻譯。按照步驟,它的作品。要翻譯的字段可以從admin更改。 – Seitaridis 2011-01-10 13:21:23

0

django-easymode包括@i18n decorator,這可以解決您的情況:

有時它變得 翻譯模型的要求。 Django支持 靜態文本國際化 模板和代碼通過 gettext。對於模型的翻譯 - 動態數據 - easymode提供簡單的 修飾器以啓用國際化 模型字段和本地化管理 類。