나는 다국어를 사용하는 작은 응용 프로그램을 가지고있다. 응용 프로그램의 텍스트가 서버에서옵니다. 텍스트는 다른 언어로 표시 될 수 있습니다. 지금은 스웨덴어와 영어를 사용합니다. 사용자는 언어 간을 전환 할 수 있습니다. 내가하려고하는 것은 앱이 두 언어의 텍스트를 가져 와서 Ember의 모델에 저장하는 것입니다.Ember에 핸들을 쓰는 것
그런 다음 언어간에 전환 할 수있는 Handlebars 도우미를 작성하려고합니다. 예를 들어 내가 얻는 서버의 데이터는이 형식입니다.
langData: {
sv_SE: {
start_page: "..."
},
en_US: {
start_page: "..."
}
는
이에 대한 나의 모델은 내 핸들 바에서이
App.Language = DS.Model.extend({
language: DS.attr('string'),
start_page: DS.attr('string'),
});
처럼되는 language.js 나는이
Ember.Handlebars.helper('__', function(key, lang, options) {
// get the text specified for the language. A function which will check the language model and
// fetch data for the particular key from it
});
내가 핸들을 호출하고 그런 짓을하려고한다 이와 같은 바
{{__ start_page en_US}}
나는 이것이 영어로 시작 페이지 텍스트를 돌려 줄 것이라고 생각하고 있습니다.
올바른 방법인가요? 만약에 올바른 방법이 아니라면? 또한, 다른 hbs 파일에서 사용될 다른 텍스트 문자열을 갖습니다.
왜 언어 모델을 컨트롤러로 설정하지 않습니까? 언어 모델을 전환하면 템플릿이 자동으로 업데이트됩니다. – blessenm
네,하지만 다른 템플릿이 있고 모든 템플릿마다 다른 텍스트가 있습니다. 그래서 이런 식으로 모든 템플릿에 대해 서로 다른 모델을 설정해야합니다. 모든 템플릿에 액세스 할 수있는 모델을 작성하려고합니다. – mohsinali1317
당신의 필요를 해결할 수 있습니까? 여기베이스 컨트롤러에서 확장됩니다. http://emberjs.jsbin.com/xucix/1/edit – blessenm