在django灯具中翻译

时间:2010-01-11 11:32:16

标签: django json gettext fixtures

这是示例initial_data.json。我想让django将列'name'的值存储到翻译文件中。所以稍后,当值被打印到某处时,它可以使用其翻译的值。有什么办法吗?感谢。

[
{"pk": 1, "model": "category.category", "fields": {"name": "Report"}},
{"pk": 2, "model": "category.category", "fields": {"name": "Sport"}}
]

1 个答案:

答案 0 :(得分:1)

如果您想做类似::

的事情
"fields": {"name": _("Report")}

然后你运气不好,因为JSON不支持gettext等。 (然而,没有什么能阻止你在运行时将它们国际化。)如果你想做这样的事情,你需要手动将它们添加到你编写的.po文件中,或者将它们放在代码中的某处makemessages可以接他们。

尽管如此,使用Django的标准机制来实现数据库值的国际化是一个非常糟糕的想法。事情出错有各种各样的可能性。如果将名称国际化对您很重要,则应将国际化编写到数据库模式中。 (有关http://code.djangoproject.com/ticket/6952的更多信息。)