我想保持电子邮件的模板国际化。我默认使用 Pyramid 1.4 和 Chameleon。
我尝试过直接使用 TranslationString 作为 PageTextTemplate 的主体:
default_email_body=r"""
Hello${salutation}${letter_comma}
... full text with several ${data.attributes} ...
Cordialment,
${sender.name}."""
email_body_template = PageTextTemplate(_('proposed-email-body',
default_email_body,
mapping=params))
email_body = email_body_template.render()
但是email_body
被分配了 msgid 而不是默认值,并且当我这样做时python setup.py extract_messages
,不会自动插入默认文本。
我需要做一些特别的事情来连接我的翻译域吗?
有没有更好的方法来实现这一点?
一点上下文
我现实世界的要求是从几个对象创建一封电子邮件。用户导航到一个页面,该页面除了返回一个普通的 HTML 页面外,还会创建一封电子邮件,其中的文本会自动发送给审阅者,审阅者要么将其重新发送给客户端,要么将其拒绝。在这种情况下,对于电子邮件文本,i18n 有两个可能的要求:
- 使用网站用户的语言,
- 或使用收件人(客户)的语言
到目前为止,我们选择第一个,如果时间允许并且客户推动它,请执行第二个选项。
带有变色龙的i18n金字塔文档仅指 ZPT 模板,而不是 TXT 模板。但是我们的电子邮件文本是纯文本。
因此,在如何为纯文本模板执行 i18n 的文档中存在空白。
有任何想法吗?