最佳/推荐的方法来翻译Django数据库值

32
我正在寻求最佳的翻译数据库实际值方法,在国际化处理我的Django应用程序时。我想到了最合理的两种方式:

  • 为每种语言创建一个数据库(例如description_endescription_dedescription_fr等)
  • 针对每种语言创建不同的数据库(例如schema_enschema_frschema_de等)。

这是最好的选择吗?如果还有其他的选择,请告诉我。谢谢!


此外,这是一个非常小而简单的应用程序,可能只有5个或更少的微小表格。 - sa125
每个安装是否应该只有一个语言,而不是每个用户都有一个语言设置? - extraneon
该应用程序支持每个用户的语言选择,因此它必须在单个实例中支持所有已实现的翻译。 - sa125
请提供需要翻译的具体内容。 - Van Gale
3个回答

25

我正在学习Django扩展,发现了django-modeltranslation插件。它似乎可以完美地实现你想要的功能。


乍一看看起来不错,我得稍微试试 - 谢谢! - sa125
6
我来晚了,提出一个新的数据库翻译方案yawd-translations - github.com/yawd/yawd-translations。它允许通过管理界面(在运行时)管理语言,并实现内联管理翻译。由于我正在为yawd开发,所以我使用注释而不是新答案,以免被指责自我推广 :) - ppetrid

5

我还发现了这个小项目,它的目的是将本地化字符串同步到已注册模型字段的标准消息文件中。

例如:

import vinaigrette
vinaigrette.register(YourModel, ['name', 'description'])

标准命令

$ manage.py makemessages

将为注册字段中发现的每个不同值维护消息。

我还没有尝试过这种方法。
但对我来说,这似乎是从数据库转换数据的最简单方法。


1
这意味着每当您在数据库中添加新记录时,您可能需要重新运行makemessages并检查po文件是否有新条目...只是一个警告。但无论如何,这就是我要找的东西,它比django-modeltranslation更轻巧,后者需要为每种语言需要翻译的表格添加一列... - Olivier Pons

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接