2

我在我的应用程序中使用 angular-translate 并使用 angular-translate-loader-partial 根据需要加载资源模块。如果我尝试在资源服务中的初始加载中使用 $translatePartialLoader.addPart(resource),则正在加载的“部分”不会在页面上进行翻译,尽管它使用 $translatePartialLoader.isPartAvailable(resource) 将其显示为可用。

在下面的代码中,“菜单”资源得到​​了很好的翻译。'people' 资源已“加载”,但翻译不会发生。

这是 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}); 将按设计工作。

4

0 回答 0