Javascript 角度平移和ngRoute$routeParams
我正在使用angular translate为3种语言(英语、葡萄牙语和西班牙语)添加支持,一切正常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
// 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,也许在未来的项目中我会使用这个加载器