我试图使用i18n机器翻译.py文件中的某些字符串。翻译.pt文件不是问题,但每当我尝试在文件系统的Python代码中使用_('Something')进行翻译时,它总是会提供英文文本(这是默认设置),而不是应该在那里的挪威文本。所以我可以看到英文版python代码的输出,而其他页面模板位正确翻译。为Plone产品翻译文件系统中的内容
有没有什么类似的东西?
我试图使用i18n机器翻译.py文件中的某些字符串。翻译.pt文件不是问题,但每当我尝试在文件系统的Python代码中使用_('Something')进行翻译时,它总是会提供英文文本(这是默认设置),而不是应该在那里的挪威文本。所以我可以看到英文版python代码的输出,而其他页面模板位正确翻译。为Plone产品翻译文件系统中的内容
有没有什么类似的东西?
用于域名_('Something')
与您在翻译中使用的挪威语.po文件相同吗?他们应该是一样的,所以不要在一个案例中使用'plone',在另一个案例中使用'my.domain'。
此外,对下划线函数的调用本身并不转换字符串;它只创建一个可以翻译的字符串。如果该字符串直接在模板中自行结束,则应该将i18n:translate=""
添加到该标记,可能带有匹配的i18n:域。
否则,您应该手动调用translate
方法,如http://readthedocs.org/docs/collective-docs/en/latest/i18n/localization.html#manually-translated-message-ids中所述。请阅读Plone 4 migration guide了解Plone 3和4之间的一些区别,这些区别可能会在这里引起你的注意。
这工作得很好,正是我需要的帮助。尽管如此,没有足够的声望来投票给你。 – user880151
请注意,_()不会在调用时翻译文本,但会返回一个Message对象,该对象在模板中呈现时将被翻译。
这意味着:
"text %s" % _('translation')
将不起作用,以及"text" + _('translation')
第一个超链接仍然有效(截至目前),但readthedocs链接已损坏。 – Tobias