我想在多种语言上运行一个文章网站,我已经翻译了翻译字符串,所以我的模板准备好了。我只对如何以多种语言存储文章有疑问?我应该为每个翻译创建一个数据库,还是以不同的方式工作?
如果我有这个基本模型:
class Article(models.Model):
models.TextField()
想要以多种语言存储数据,我该怎么做?如何在不同语言的一篇文章之间组织重定向
答案 0 :(得分:6)
解决此问题的一个简单方法是在每个模型中添加一个“语言”字段,用于标识每条记录使用的语言。这似乎是django-pluggable-model-i18n使用的方法。
另一种方法是使用Python元类来标识要翻译的字段,如django-translate和django-transmeta所使用。
还有其他几个项目,但其中许多似乎被遗弃或质量较低。 Django-transmeta对我来说似乎总是最有趣。
编辑:muhuk今天刚刚撰写了一篇精彩文章,回顾了不同的翻译项目:http://www.muhuk.com/2010/01/dynamic-translation-apps-for-django/
答案 1 :(得分:1)
答案 2 :(得分:0)
看一看django-cms的人们如何解决这个问题 - 你也可以弄脏你的手并提取负责好多语言网址的代码部分(例如url http://site.com/en-us/some_view/路由正确到some_view /并将request.LANGUAGE_CODE设置为en-us)。