2013-10-14 6 views
2

저는 예솔의 메시지 시스템을 사용하여 제 언어의 일관성을 유지하고 있습니다. 예를 들어, MsgBrand라는 메시지가 있는데 문제없이 Hamlet 파일로 보간됩니다. 그러나, 나는 지금 이런 종류의 정보를 필요로하는 JavaScript 라이브러리를 사용하고있다.Yesod Julius 메시지 보간

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}" 
+0

알겠습니다. 나는 그것이 놀랄만한 종류 인 것을 안다. Yesod와 당신의 도움에 감사드립니다. :) – nomen

+0

괜찮아요,하지만이 오류 : Foundation.hs : 85 : 26 : 'getMessageRender'의 사용으로 인해 (RenderMessage App message0) 인스턴스가 없습니다 'message0'유형 변수가 모호합니다. –