我有一个单独的语言json文件为每个部分/控制器。为了避免一次加载所有json文件,我在控制器中添加了addPart
语句,而不是模块配置:
$translatePartialLoader.addPart('editName');
当我浏览到部分时,我看到只有在需要时才从服务器请求json文件。但是,当我通过单击功能键F5不断刷新部分时,随机时间,json文件不会从服务器请求,视图上显示的文本也不会翻译。不知道我能做些什么来弥补。非常感谢任何帮助。下面是代码:
angular.module('pp')
.controller('informationList', [
'$scope', '$rootScope', '$location', '$translatePartialLoader', '$translate',
function($scope, $rootScope, $location, $translatePartialLoader, $translate) {
$translatePartialLoader.addPart('informationList');
$translate.refresh();
}
]);
你的问题听起来和我的很相似。
这个(从app配置中调用)有效:
angular.module('myApp').config(function ($translateProvider, $translatePartialLoaderProvider) {
$translateProvider.useLoader('$translatePartialLoader', {
'urlTemplate': '{part}-{lang}.json'
});
$translateProvider.preferredLanguage('EN');
$translatePartialLoaderProvider.addPart('headline');
$translatePartialLoaderProvider.addPart('languages');
});
这个(从控制器调用)没有:
angular.module('myApp').controller('Ctrl', ['$scope', '$translate', '$translatePartialLoader', function ($scope, $translate, $translatePartialLoader) {
$translatePartialLoader.addPart('headline');
$translatePartialLoader.addPart('languages');
$translate.refresh();
}]);
这里有一个柱塞来演示这个问题。http://plnkr.co/edit/sZC2XST8BMZcMCYbgtxt?p=preview
你能不能加一个
$translateProvider.use('EN');
放到"preferredLanguage('EN');"下面的config -部分——行吗?
这会解决你的问题。
实际上当前需要定义额外的行-尽管它可能听起来有点像"duplicate":-)。