使用jade作为多语言模板引擎时如何处理内联<b> </b>

时间:2013-12-22 05:30:35

标签: pug

我正在开发一个需要超过6种语言的网站。

这是很多,所以我决定开发一个简单的语言引擎,以便翻译人员不需要使用原始HTML,这很可能导致混乱。

我发现我可以将JSON中的内容注入jade并将它们呈现为HTML,这非常有用。

但后来我意识到,如果你有一些非常简单的单词有<b></b><u></u>这样的内联标签,那么就会出现问题:

<p>This is a sentence needed to be <b>immediately</b> translated into Chinese</p>

这在Jade中会是这样的:

p
  | This is a sentence needed to be
  b immediately
  | translated into Chinese

所以模板会是这样的:

p
  | #{sentence1}
  b #{emphasis-word}
  | #{sentence2}

和JSON就像:

{
  "sentence1":"This is a sentence needed to be",
  "emphasis-word":"immediately",
  "sentence2":"translated into Chinese"
}

当中文翻译看到这个JSON文件时,他会非常困惑。

我希望我可以直接在内容中添加简单的HTML标记,例如:

模板:

p #{sentence}

JSON

"sentence":"This is a sentence needed to be <b>immediately</b> translated into Chinese"

因此,中文翻译和所有其他翻译人员只需要了解<b></b>,这很容易。

无论如何我能做到吗?

我搜索了一段时间,但没有找到简单的东西。

谢谢,

1 个答案:

答案 0 :(得分:2)

您是否尝试过未转义的缓冲代码语法?

http://jade-lang.com/reference/#unescapedbufferedcode

你只需要从

切换
p #{sentence}

p !{sentence}