Django多语言项目的数据模型

时间:2012-10-22 07:30:47

标签: python django model multilingual

我正在建立一个非常小而简单的django项目,该项目基本上包括翻译客户/项目的概述。因此,该网站显然应该具有翻译者翻译或翻译的语言。这意味着将来不会添加新语言。我应该只在一个类中定义所有内容,如下所示:

class project(models.Model):
    project = models.ForeignKey(client)
    title_eng = models.CharField(max_length=50)
    title_pt = models.CharField(max_length=50)
    #...
    body_eng = models.CharField(max_length=250)
    body_pt = models.CharField(max_length=250)
    #...
    time_stamp= models.DateField()  

我最好使用transmeta,这基本上是一样的吗?优点缺点?我非常感谢您提供简短的建议!

2 个答案:

答案 0 :(得分:2)

如果您想将您的网站内容存储在数据库中,您显然也要存储翻译。基本上是各种语言的重复文本字段(就像你一样)。 Django-transmeta为你做同样的事情,它的主要优点是你可以为你的所有模型添加一个新语言(或添加对新字段的支持)修改一行代码(实际上是一个代码的抽象层)和你一样)和同步数据库。我认为这是一个不错的选择。

对于其他我使用Django i18n功能,看看this,它是您网站硬编码内容的不错选择。

答案 1 :(得分:1)

这个问题相当陈旧,但对于那些可能正在寻找的人,请务必同时检查django-modeltranslation。它模型翻译非常简单,并且非常积极地维护。文档here