Durandal (nocaute) app com suporte multilíngüe

Estou criando suporte multilíngüe para o aplicativo em que estou trabalhando. Depois de fazer algumas pesquisas e ler SO (melhor prática de internacionalização) Estou a tentar integrar isso de uma forma "amiga do enquadramento". O que eu fiz no momento é o seguinte:

Módulos .resource criados formatados da seguinte forma:

resources.en-US.js

define(function () {
   return {
       helloWorlLabelText: "Hello world!"
   }
});

No app.start, recebo o módulo de recursos com requirejs e designo todos os dados para app.resources. Dentro de cada módulo, um recurso específico é atribuído aos observáveis ​​e vinculado à vinculação de texto a rótulos e outros itens relacionados a textos. Igual a:

define(function (require) {
   var app = require('durandal/app'),
       router = require('durandal/plugins/router')
   };
   return{
       helloWorldLabelText: ko.observable(app.resources.helloWorldLabelText),

       canDeactivate: function () { 
      }
   }
});

On the view:

<label for="hello-world" data-bind="text: helloWorldLabelText"></label>

Os recursos são trocados apenas pela designação de novo módulo para app.resources.

Agora o problema é quando a linguagem é alterada e algumas das visualizações já foram renderizadas, os valores da linguagem anterior ainda estão lá. Então acabei reatribuindo observáveis ​​dentro deativar método. Também tentei usar o app.resources em observável, mas isso também não funcionou.

Eu não acho que acabei com a maneira mais limpa e talvez qualquer outra pessoa tivesse alguma outra maneira que pudesse compartilhar. Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion