我想使用django-oscar
建立一个网上商店,这个商店将提供两种主要语言。
Oscar's
翻译可以很好地处理View chart
或Add to chart
等常规字段,但不支持自定义元素,例如Categories
或Product's
Titles
。
我想要翻译:
Category
Product.Title
Product.Description
我已经找到了两种方法:
接近一个 - 修改django-oscar
模板
我可以根据oscar's translation doc创建自定义转换集。
然后使用已翻译的类别和产品标题填写正确的django.po
文件。
不幸的是,我必须覆盖一些模板,因为默认情况下他们不会使用trans
templatetag。例如。我会改变。
<a href="{{ category.get_absolute_url }}">{{ category.name }}</a>
到
<a href="{{ category.get_absolute_url }}">{% trans category.name %}</a>
在this奥斯卡的模板中。
这种方法的主要问题是需要覆盖模板,更新django.po
以及使用每个要翻译的新条目对其进行编译。
接近两个 - 使用django-modeltranslation
使用this插件。
问题
我是否会错过django-oscar's
功能中的某些版本,或者我必须使用上述方法之一?
答案 0 :(得分:3)
使用django-modeltranslation
是一个好主意。
甚至根据来自oscar's
文档的customization instructions以及来自modeltranslation's
文档ModelForm description的Microsoft C# Codeconventions更新信息中心。