Есод юлиус интерполяция сообщений
Я использую систему сообщений Yesod, чтобы помочь сохранить согласованность моего языка. Например, у меня есть сообщение с именем MsgBrand, которое без проблем вставляется в файлы Hamlet. Однако сейчас я использую библиотеку JavaScript, которая нуждается в такой информации.
var tour = Tour.new();
tour.addSteps([
{ element: "#some-id",
title: "Some Title",
content: "_{MsgTourStepFoo}"
}
]);
Тем не мение, _{MsgTourStepFoo}
появляется в отрендеренном коде JavaScript дословно. Другими словами, нет интерполяции. Это нормально или я что-то упустил?
1 ответ
Решение
Это нормально. Мы могли бы иметь i18n-вариант Юлиуса, но пока избежали его просто потому, что, похоже, это будет больше путаницы, чем стоит. Вместо этого вы можете использовать getMessageRender, чтобы получить функцию рендеринга сообщения, а затем вызвать ее из Julius, что-то вроде:
Haskell:
messageRender <- getMessageRender
Julius:
content: "#{messageRender MsgTourStepFoo}"