0

我知道最好在产品中编写浏览器视图,但想知道以下任务是否有任何快速解决方案。

我有一个带有cities字段的自定义敏捷类型:

cities = schema.List(
  title=_(u"Cities"),
  value_type=schema.Choice(
    vocabulary='cities',
    required=False,
  ),
)

vocabularies.py中的值如下所示:

SimpleTerm(value="NewYorkCity", title=_(u"New York City")),

现在我想利用基于皮肤的模板folder_listing.pt并添加以下内容以显示cities值。

<tal:cities condition="item_obj/cities"
          tal:repeat="city item_obj/cities">
  <span tal:replace="city">Value</span>
  <span class="separator" tal:condition="not:repeat/city/end">,</span>
</tal:cities>

它显示结果为 NewYorkCity,但我真正想要的是它的中文翻译标题,如纽约市。如果可行,我如何通过模板定制来满足这个需求?

4

1 回答 1

1

我认为您只需要使用 i18n:domain 和 i18n:translate :

<span i18n:domain="yourdomain" i18n:translate="" tal:replace="city">Value</span>

(见http://wiki.zope.org/zope3/ZPTInternationalizationSupport

于 2013-06-07T07:09:04.597 回答