django-oscar 类别和产品翻译

Jak*_*ruk 4 django locale translation django-modeltranslation django-oscar

我想用于django-oscar建立一个网上商店,该商店将提供两种主要语言。

Oscar'sView chart翻译对于常规字段(例如or )效果很好Add to chart,但不支持自定义元素,例如Categoriesor Product's Titles

我想要翻译:

  • Category
  • Product.Title
  • Product.Description

我想出了两种方法:

方法一——修改django-oscar模板

我可以根据奥斯卡的翻译文档创建自定义翻译集。

然后django.po用翻译后的类别和产品标题填写适当的文件。

不幸的是,我将不得不覆盖一些模板,因为它们trans默认不使用 templatetag。例如我会改变。

<a href="{{ category.get_absolute_url }}">{{ category.name }}</a>
Run Code Online (Sandbox Code Playgroud)

<a href="{{ category.get_absolute_url }}">{% trans category.name %}</a>
Run Code Online (Sandbox Code Playgroud)

这个奥斯卡的模板中。

这种方法的主要问题是需要覆盖模板、更新django.po以及使用每个要翻译的新条目进行编译。

方法二——使用django-modeltranslation

使用这个插件。

问题

我是否错过了一些内置django-oscar's功能,或者我必须使用上述方法之一?

Jak*_*ruk 5

使用django-modeltranslation是个好主意。

甚至根据文档中的自定义说明oscar's和文档中的ModelForm 描述modeltranslation's更新仪表板也能很好地完成工作。