Yesod的内置i18n消息文件非常好,但我注意到两个问题:
感谢您的任何建议!
答案 0 :(得分:5)
#
。如果他们不熟悉HTML标签,强制翻译人员处理HTML标签可能不是一个好主意。此外,如果您想稍后更改某些实施细节,例如决定要将<span class="foo">foo</span>
替换为<em>foo</em>
该怎么办?
相反,我建议在Something that needs to be *emphasized*.
中使用类似Markdown的语法。然后,您可以使用Hackage上的各种Markdown库对字符串进行后处理。
如果您避免使用mkMessage
TemplateHaskell函数生成消息,而是使用Markdown语法处理器创建自己的RenderMessage
类实现,则很容易自动执行此操作。在保持mkMessage
调用时我没有看到这样做的方法,但是我知道Yesod的创建者@ michael-snoyman可能在某个地方隐藏了一个钩子,允许这种情况发生,并且他通常会在SO上阅读这些问题。