3

我一直在使用 Yesod 的消息系统来帮助保持我的语言一致。例如,我有一条名为 MsgBrand 的消息,它可以毫无问题地插入到 Hamlet 文件中。但是,我现在正在使用需要此类信息的 JavaScript 库。

var tour = Tour.new();

tour.addSteps([
  { element: "#some-id",
    title:   "Some Title",
    content: "_{MsgTourStepFoo}"
  }
]);

但是,_{MsgTourStepFoo}它会逐字出现在呈现的 JavaScript 代码中。换句话说,没有插值。这是正常的还是我错过了什么?

4

1 回答 1

2

这很正常。我们可以拥有 Julius 的 i18n 变体,但到目前为止一直避免使用它只是因为它看起来比它的价值更令人困惑。相反,您可以使用getMessageRender获取消息呈现函数,然后从 Julius 调用它,例如:

Haskell:
messageRender <- getMessageRender

Julius:
content: "#{messageRender MsgTourStepFoo}"
于 2013-10-15T08:36:34.620 回答