Angular 翻译来自 REST 的数据

Angular Translate for data coming from REST

我必须转换来自 REST 服务的数据。数据在数据库中,客户需要这个。

在前端我有这个:

控制器:

CreateListService.getCharacteristic().then(function(response){
     vm.createListData = response.data;
});

查看:

<select 
    name="" 
    id="territory"
    class="form-control"
    data-ng-options="item.labelEn for item in vm.createListData.territory track by vm.createListData.territory" 
    ng-model="territory">       
</select>

JSON:

{  
   "confidentiality":[  
      {  
         "id":200,
         "labelFr":"Publique",
         "labelEn":"Public"
      },
      {  
         "id":201,
         "labelFr":"Restreinte",
         "labelEn":"Restricted"
      }
   ],
   "issuer":[  
      {  
         "id":600,
         "labelFr":"Federal Register - OFAC",
         "labelEn":"Federal Register - OFAC"
      },
      {  
         "id":601,
         "labelFr":"Ofac",
         "labelEn":"Internet Ofac"
      }
   ],
   "scope":[  
      {  
         "id":700,
         "labelFr":"Locale",
         "labelEn":"Local"
      },
      {  
         "id":701,
         "labelFr":"Groupe",
         "labelEn":"Group"
      }
   ]
}

是: Angular 1.4.9, Angular 翻译:2.11.1

我的问题是当用户更改语言时如何更改视图中的值(基于剩余键:labelFr 和 labelEn)?

我在视图中这样尝试: item.{{labelLang}} 对于 vm.createListData.scope 中的项目 vm.createListData.scope

在控制器中: $rootScope.labelLang = "label" + capitalizeFirstLetter($scope.selectedLang); 但值未更新。

感谢您提供所有信息!

尝试 angular-translate 两种或更多语言。

angular-translate

https://daveceddia.com/angular/multilingual-angular-using-two-or-more-languages-in-your-app/

当您已经获得翻译后的标签时,您只需将其输出到视图中即可。 您在 data-ng-options 中使用了错误的语法。 试试这个

item[labelLang] for item in vm.createListData.scope track by vm.createListData.scope