Django模型内容的国际化
在我的设计中,有一些模型需要用不同的语言来存储某些字段。这种情况以前有人处理过吗?我看到一些Django的模块可以帮助进行模型翻译,但有些模块并没有正常工作。
有没有什么好的做法呢?下面是我的代码。
我的模型是,
class Lookup_I18n(models.Model):
i18n_code = models.CharField(max_length=5, default=settings.LANGUAGE_CODE)
value = models.CharField(max_length=300)
class Lookup(models.Model):
purpose = models.CharField(max_length=10)
key = models.CharField(max_length=10)
value_i18n = models.ForeignKey(Lookup_I18n)
value = models.Field()
class Meta:
unique_together = (('purpose', 'key'),)
1 个回答
5
我最近使用了django_modeltranslation这个工具。它会在每个表里创建额外的字段,用来存储某个字段在特定语言下的翻译。你可以通过Django的管理面板来提供这些翻译。这里有一些Django的应用,可以用来翻译模型。我只需要翻译模型中的一个字段,它就成功了。你可以选择最适合你设计的应用。