我在我的应用程序中使用angular-translate并使用angular-translate-loader-partial在我需要时加载资源模块。如果我尝试在资源服务的初始加载中使用$ translatePartialLoader.addPart(resource),则加载的“part”将不会在页面上进行转换,尽管它使用$ translatePartialLoader.isPartAvailable(resource)将其显示为可用。
在下面的代码中,'menus'资源得到了很好的翻译。 “人员”资源被“加载”但翻译不会发生。
这是angular.config中的代码块 -
$translatePartialLoaderProvider.addPart('menus');
$translateProvider.useLoader('$translatePartialLoader', {
urlTemplate: '/resources/files/{part}/{lang}.json'
});
$translateProvider.preferredLanguage('en-US');
我的资源服务在初始加载时进行此调用 -
$translatePartialLoader.addPart('people');
我在angular.run中进行了刷新 -
run(function ($rootScope, $translate) {
$rootScope.$on('$translatePartialLoaderStructureChanged', function () {
$translate.refresh();
});
}).
加载网站后,调用$ translatePartialLoader.addPart({part});将按设计工作。