【问题标题】:How can I have attributes that get extracted for i18n in ZPT macros?如何在 ZPT 宏中为 i18n 提取属性?
【发布时间】:2011-09-16 09:24:41
【问题描述】:

我正在使用带有 ZPT 模板的 Pyramid 来制作 Web 应用程序。我正在尝试制作一个表单模板宏库,以使设置表单字段的当前值等事情变得更轻松。我还使用 lingua 消息提取器自动提取字符串进行本地化。我不知道如何使提取器与宏标签上的属性一起工作。例如,假设我有一个如下所示的宏:

<tal:block metal:define-macro="text">
    <input type="text" name="${field}" value="${request.params.get(field) or default_value}"/>
</tal:block>

我在这样的页面模板中使用它:

<tal:block tal:define="field 'fred'; default_value _('initial value')" metal:use-macro="form.macros['text']"/>

消息提取器不会提取文本“初始值”。有没有办法做到这一点?如果可能的话,我想将字符串保留在模板中,我知道我可以通过在可调用视图中生成默认值的所有字符串来解决这个问题。也许有更好的方法将值传递给宏以在属性中使用?

【问题讨论】:

    标签: python internationalization pyramid chameleon template-tal


    【解决方案1】:

    您需要使用 [lingua] 到版本 2(或更高版本)从模板中提取消息才能使用。

    【讨论】:

      猜你喜欢
      • 2013-04-02
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      相关资源
      最近更新 更多