这个问题说明了一切。如果我将 HTML 直接放入(JSON 格式)翻译文件中,如下所示:
"test_html" : "click <a href='http://stackoverflow.com/'>here</a>",
我在 HTML 中得到了这个:
click <a href='http://stackoverflow.com/'>here</a>
我还尝试将其合并到我的翻译文件中:
"test_html_placeholder" : "click %shere%s",
在我的 HTML 中:
<%= __('test_html_placeholder', '<a href="http://stackoverflow.com">', '</a>') %>
但得到了类似的结果。
我唯一能开始工作的就是这种笨拙:
"test_html_pre" : "click ",
"test_html_link" : "here",
"test_html_post" : ".",
有了这个:
<%= __('test_html_pre') %><a href="http://stackoverflow.com"><%= __('test_html_link') %></a><%= __('test_html_post') %>
但这太麻烦了,几乎不值得做,而且某些语言中的词序会迫使我在翻译文件中放入一些空字符串,i18n-node 似乎不喜欢它,因为它会吐出密钥(属性)名称,当它
遇到空字符串。
我还尝试在符号前面使用“\”作为转义字符,但是当我抬起帆(重新启动服务器)时,出现无效的 JSON 错误。
有什么想法、解决方法吗?我正在使用 sails.js,这不是我的决定,但我坚持使用它,并且它带有 i18n-node。在这个项目上考虑使用另一个库有点晚了,但也不是完全不可能。