Knockout.js를 사용하여 웹 응용 프로그램이 표시 할 언어를 선택할 수 있습니다.Knockout.js 바인딩 변경
나는 기본적으로 같은 언어했습니다 :
function AppViewModelNorwegian() {
this.Username = "Brukernavn";
this.Password = "Passord";
this.Rememberpassword = "Husk passord";
}
function AppViewModelEnglish() {
this.Username = "Username";
this.Password = "Password";
this.Rememberpassword = "Remember password";
}
그리고 나서 적용을 같은 언어 :
ko.applyBindings(new AppViewModelNorwegian());
그것은 첫 번째 언어 선택을 위해 작동하지만, 내가 어떻게 할 수 있습니다 언어를 바꾸려고?
동일한 요소에 바인딩을 여러 번 적용 할 수 없으므로 ko.applyBindings를 다시 사용하면 작동하지 않습니다.
ko.applyBindings(new AppViewModelEnglish()); //Does not work
언어를 변경하려면 바인딩을 어떻게 변경해야합니까?
감사
다음은 간단한 예제입니다! 또한 이것은 현재 사용자에게만 적용됩니다. 전체 앱에 KO를 적용하려면 어떻게해야합니까? – Publicus
상당히 복잡한 질문이며 응용 프로그램에 달려 있습니다. 단일 페이지 응용 프로그램입니까? (예 : 두란 달, 각도 등 사용)? 또는 웹 페이지/양식/mvc 같은 전통적인 .net? 여기에서 knockout + i18next를 검색하십시오. 특히 사용자 'tne'에 의한이 질문의 큰 대답은 훌륭합니다. http://stackoverflow.com/questions/16882171/durandal-knockout-app-with-multilanguage-support. 아주 기본적인 수준에서 언어 선택을 쿠키 또는 로컬 저장소와 각 페이지에 저장하고 해당 값을 가져 와서 특정 페이지에 대한 언어 viewModel을 만들 수 있습니다. 나는 확실히 i18next를 사용하는 방법을 모색 할 것이다. –
검도 UI 모바일을 사용하는 단일 페이지 앱입니다. 따라서 현재 DOM에 적용하는 것으로 충분합니다. – Publicus