我一直在使用 Yesod 的消息系统来帮助保持我的语言一致。例如,我有一条名为 MsgBrand 的消息,它可以毫无问题地插入到 Hamlet 文件中。但是,我现在正在使用需要此类信息的 JavaScript 库。
var tour = Tour.new();
tour.addSteps([
{ element: "#some-id",
title: "Some Title",
content: "_{MsgTourStepFoo}"
}
]);
但是,
_{MsgTourStepFoo}
逐字出现在呈现的 JavaScript 代码中。换句话说,没有插值。这是正常的还是我错过了什么? 最佳答案
这是正常的。我们可以有一个 i18n 的 Julius 变体,但到目前为止一直避免使用它,因为它似乎比它的值(value)更令人困惑。相反,您可以使用 getMessageRender 获取消息渲染函数,然后从 Julius 调用它,例如:
Haskell:
messageRender <- getMessageRender
Julius:
content: "#{messageRender MsgTourStepFoo}"
关于Yesod Julius 消息插值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19369669/