在没有默认语言的情况下翻译Django模型字段

时间:2013-06-08 16:09:28

标签: python django django-models internationalization

我目前正在使用django-transmeta来翻译某些模型字段,但现在我遇到了一个大问题,因为它对我来说限制太多了。

在transmeta中,您可以定义默认语言,然后允许用户从您定义的可翻译语言列表中添加额外的翻译。但我现在需要的是允许用户将模型字段的内容写入他想要的语言(来自一组具体的语言),而不需要默认语言。所以,例如如果用户来自美国,他将填写英文版本,而西班牙语用户将填写西班牙语版本,也可能填写英文版本。使用transmeta不允许我这样做,因为默认语言总是强制性的,因此,两者都必须填写西班牙语或英语版本,这对此站点没有意义。

谷歌搜索了一下我发现另外两个处理模型翻译的Django库叫做django-modeltranslationdjango-rosetta。你知道这些中的任何一个是否能让我做我需要的东西吗?或者有更好的选择吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

django-multilingual-ds9对数据库中的翻译没有任何限制。

答案 1 :(得分:0)

你可以用django-modeltranslation做到这一点。如果原始字段是可选的(blank=True, null=True),则由modeltranslation创建的翻译字段也是可选的。

顺便说一下,django-rosetta有不同的需求。它添加了一个通过管理界面翻译静态内容(po文件)的界面。