Javascript 角度平移和ngRoute$routeParams

Javascript 角度平移和ngRoute$routeParams,javascript,angularjs,json,ngroute,angular-translate,Javascript,Angularjs,Json,Ngroute,Angular Translate,我正在使用angular translate为3种语言(英语、葡萄牙语和西班牙语)添加支持,一切正常 // config angular translate app.config(['$translateProvider', function ($translateProvider) { // configures staticFilesLoader $translateProvider.useStaticFilesLoader({ prefix: 'translatio

我正在使用angular translate为3种语言(英语、葡萄牙语和西班牙语)添加支持,一切正常

    // config angular translate
app.config(['$translateProvider', function ($translateProvider) {
  // configures staticFilesLoader
  $translateProvider.useStaticFilesLoader({
    prefix: 'translations/locale-',
    suffix: '.json'
  });

  $translateProvider.preferredLanguage('en');
}]);
这样我就有3个文件,其中包含3种语言的所有翻译。但我现在面临的问题是,

如果我需要翻译来自json文件的数据,并使用ngRoute通过$routeParams动态更改,该怎么办

以下是我在进入i18n之前所做的工作

// MyController

app.controller('MyController', ['$scope', '$routeParams', '$http',
    function($scope, $routeParams,  $http) {
        $http.get('someFolder/' + $routeParams.itemId + '.json').success(function(data) {
            $scope.item = data;
        });
    }]);
其中一个json文件

{
  "id": "blue",
  "color": "Blue",
  "description": "The color blue is one of trust, honesty and loyalty"
 }
我有一个包含json文件的文件夹,其中加载了项目ID。我的html如下所示:

<dl class="dl-horizontal" ng-controller="MyController">
    <dt>{{ 'item.label.color' | translate }}</dt>
    <dd>{{ item.color }}</dd>
    <dt>{{ 'item.label.description' | translate }}</dt>
    <dd>{{ item.description }}</dd>
</dl>

{{'item.label.color'| translate}}
{{item.color}}
{{'item.label.description'| translate}}
{{item.description}}
我能够翻译项目的标签,因为它在所有json文件中总是相同的,但我真正需要的是翻译值

有什么解决办法吗


提前感谢

请看PartialLoader,而不是静态文件加载程序。这允许您将模板分解为多个部分,并分别请求每个部分

$translateProvider.useLoader('$translatePartialLoader', {
    urlTemplate: '{part}/i18n/{lang}.json',
    loadFailureHandler: 'TranslationErrorHandler'
});
有了这个,你就知道了

$translatePartialLoader.addPart('common');

这将加载“common/i18n/.json”

谢谢,我们将对此进行研究。如果workedI无法解决PartialLoader的问题,我会回来通知您。我找不到关于它的好文件。可以使用两种装载机吗?因为应用程序已经使用了静态文件加载程序,如果可以在该控制器上使用PartialLoader来获取带有http的json文件,那就太好了谢谢你的回复,但是由于我对angularjs(实际上是编程)不熟悉,我创建了静态html文件,而不是使用http动态加载json数据,这样我就可以轻松地使用静态文件加载程序进行翻译。我知道它改变了应用程序的工作方式,但我觉得处理复杂的应用程序并不舒服。谢谢你的awnser,也许在未来的项目中我会使用这个加载器