我为每个部分/控制器都有一个单独的语言json文件。为了避免一次加载所有json文件,我在控制器中添加了addPart
语句而不是模块配置:
$translatePartialLoader.addPart('editName');
当我浏览到partial时,我看到只在需要时才从服务器请求json文件。但是当我通过单击功能键 F5 来随时刷新部分时,不会从服务器请求json文件,并且不会翻译视图上显示的文本。不知道我能做些什么来解决这个问题。任何帮助是极大的赞赏。这是代码:
angular.module('pp')
.controller('informationList', [
'$scope', '$rootScope', '$location', '$translatePartialLoader', '$translate',
function($scope, $rootScope, $location, $translatePartialLoader, $translate) {
$translatePartialLoader.addPart('informationList');
$translate.refresh();
}
]);
答案 0 :(得分:1)
您的问题听起来与我的相似。
这(从app config调用)有效:
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
答案 1 :(得分:1)
你能添加一个
吗?$translateProvider.use('EN');
到config - 部分正好位于“preferredLanguage('EN')的正下方;” - 行?
这可以解决您的问题。
事实上,目前需要定义额外的行 - 即使它听起来有点像“重复”:-)。