翻译自定义PloneFormGen验证器的用户反馈消息

时间:2014-01-29 20:52:26

标签: internationalization plone ploneformgen plone-4.x

我有一个PloneFormGen custom field-input validator我想翻译的用户反馈消息。我怎样才能做到这一点?我使用Python Script as validator,因此在文档中给出的示例中......

if 'spam' in value.lower():
    return False
else:
    return "'%s' doesn't seem to have spam. Try again." % value

...如何更改为翻译return "'%s' doesn't seem to have spam. Try again." % value以使其返回已翻译的字符串?

我已经拥有自己的locales/de/LC_MESSAGES/myproduct.po文件,我已经用它来翻译页面模板。我可以手动扩展此文件的一些msgidmsgstr行。验证器目前在portal_skins/custom/中作为Python脚本存在,并且很快通过Web(TTW)创建,但如果必要的话,我也可以将它移动到我的产品中。

我已经阅读了http://developer.plone.org/i18n/internationalisation.html,但是这个页面非常强大,并且指的是各种类型和版本,我仍然不知道如何为此目的这样做。我使用Plone 4.3。

1 个答案:

答案 0 :(得分:3)

可以通过语言环境文件进行翻译,但可能需要编写浏览器视图,以便您可以访问消息工厂机器。

但如果您不需要,可以尝试简单地将翻译嵌入脚本并测试request.LANGUAGE以确定响应。

if request.LANGUAGE == 'en-us':
    return "Try again yank!"
elif REQUEST.LANGUAGE ...