Django模型翻译:在数据库中存储翻译或使用gettext?

时间:2010-04-19 14:42:00

标签: django django-models internationalization translation gettext

我在django网站的I18N流程中。

我选择了两个可能很好的django-app:

从您的角度来看,这两种技术的优缺点是什么?

4 个答案:

答案 0 :(得分:8)

如果您希望让您的应用(或第三方翻译)的用户轻松更新翻译而无需更改代码,请转到将翻译存储在数据库中的解决方案之一。

如果你想要更好的质量控制(版本控制,几组眼睛等),那么使用gettext。通过使用gettext,您还可以控制要翻译的字符串。

只是我的2c。

答案 1 :(得分:4)

django-modeltranslation 最适合存储翻译的值。你会去django-admin并把翻译后的价值。

但是如果您使用 django-dbgettext ,那么您不需要在django-admin中添加任何值,您可以使用rosetta。如果您无法查找任何翻译值并希望翻译,则可以在“ * dbgettext_registration.py * ”中输入模型并运行命令“python manage.py dbgettext_export”然后“python manage.py compilemessages”。

答案 2 :(得分:1)

答案 3 :(得分:0)

我建议您始终使用文件进行翻译。它具有可移植性,并且不会对数据库性能产生未知的影响(尤其是在使用猴子补丁您的数据库架构的“魔术”软件包时出现问题)

此程序包看起来简单且可扩展:https://github.com/ecometrica/django-vinaigrette