我正在从头开始用Django开发一个新项目。我看到有很多应用程序可以处理动态内容的翻译。
仅举几例。
Transdb,transmeta和多语言听起来很公平,但我想阅读一些个人经历。我应该选择哪一个?
答案 0 :(得分:5)
我同意S.Lott的意见,你会想要考虑国际化需要什么。但是,这是所有提到的软件包的一个非常好的破坏:
http://blog.muhuk.com/2010/01/06/dynamic-translation-apps-for-django.htm
到目前为止,我的个人选择是“以上都不是”。我目前正在使用datatrans进行原型设计:
http://github.com/citylive/django-datatrans
http://www.botondus.com/dynamic-translation-with-django-datatrans/
但我可能会选择另一种解决方案。
答案 1 :(得分:3)
有两种模型翻译:
第一种方法更有效,因为您不使用额外的连接。而第二个则不那么具有侵入性,因为它不会修改原始模型表。我个人更喜欢第一种选择,这是我使用django-modeltranslation的主要原因之一。
您还可以查看此comparison grid。
答案 2 :(得分:2)
Django-nani是一个全新的应用程序,它使用最好的设计方法,速度快,写得很好。
它仍处于开发阶段,但效果很好,并且非常完整documentation。
这是一个片段,可以看到如何定义多语言模型:
from django.db import models
from nani.models import TranslatableModel, TranslatedFields
class DjangoApplication(TranslatableModel):
name = models.CharField(max_length=255, unique=True)
author = models.CharField(max_length=255)
translations = TranslatedFields(
description = models.TextField(),
description_author = models.CharField(max_length=255),
)
def __unicode__(self):
return self.name
答案 3 :(得分:0)
我正在使用django i18n进行双语项目:我真的很满意这个,我绝对会推荐它,但我必须说我从来没有尝过其中一个其他......