Knockout 本地化下拉选择

Knockout localisation dropdown selection

我需要一些关于在敲除时设置本地化的建议。

我使用 https://github.com/tfsjohan/Knockout-Localization-Binding 进行本地化,但由于它使用的是静态语言环境,我正在尝试使用带绑定的下拉菜单。

<select data-bind="options: choices, value: selectedChoice"></select>


        <label for="name" data-bind="restext: 'name'"></label><br />

        <label data-bind="restext: 'email'"></label><br />

        <label data-bind="restext: 'street'"></label><br />

        <label data-bind="restext: 'zip'"></label><br />

        <label data-bind="restext: 'city'"></label><br />

这是 jsFiddle http://jsfiddle.net/efkgqwa5/1/ 基本上,我希望 select 选项从资源中加载值(en、sv、...将来可能是其他条目),默认选择的是 en。然后当我改成sv时,它会改变其他语言。

好吧,只需将 locale 设为 self.locale 并在您使用语言环境变量

的地方反映绑定处理程序中的变化,这里的小修改就可以解决问题

ViewModel:

 var vm = function(){
        var self=this;
        self.choices= ["en", "sv"];
        self.selectedChoice= ko.observable();
        self.name= ko.observable();
        self.email= ko.observable();
        self.locale=ko.observable('en');

       self.selectedChoice.subscribe(function(newValue) {
        self.locale(newValue); //updates everywhere
       });

工作fiddlehere