在使用pyramid的时候如何翻译wtforms的form label和error message
示例表格:
class RegistrationForm(Form):
name = TextField(_(u'Name'), [v.Required(_(u'Please provide your name'))])
age = IntegerField(
_(u'Age'),
[v.NumberRange(min=12, message=_(u'Must be at least %(min)d years old.'))]
)
之后我做了:
- 消息字符串提取
- 翻译.po文件中的字符串
- 编译生成.mo文件
我正在使用 jinja2 模板,jinja2 模板的翻译字符串工作正常,但表单元素翻译不起作用。对此有任何想法,我们将不胜感激。
请您参考如下方法:
您的问题可能是因为 _ 是在导入时调用的,而不是在运行时调用的,此时还没有配置翻译。如果您使用的是 pyramid.i18n.TranslationString,这应该不是问题,因为它是惰性的,并且仅在显示时进行翻译,但如果您使用的是其他东西,那可能是您的问题。
那么,您是如何定义 _ 的?
