angular-translate服务不是第一次翻译

时间:2015-02-27 12:44:11

标签: angularjs angular-translate

我正在使用angular-translate $翻译服务根据页面翻译标题和元描述标签内容(用于搜索引擎优化目的)。

我有一个函数,当具有语言的select组合框组件发生变化时调用该函数:

$scope.changeLanguage = function (langKey) {
            $scope.langKey = langKey;
            $translate.uses(langKey);
            $rootScope.title = $translate('PAGE_TITLE');

            tmhDynamicLocale.set(langKey).then(function (){
                LocationService.setLangKey($scope.langKey);                     
                $window.moment.lang(langKey);    
            });
        };

我的所有应用程序内容都已翻译但标题。

我的应用程序默认语言是英语。当我改为西班牙语时(第一次)它没有翻译。在那之后,如果我改为英语,然后再次西班牙语,那就有效了。所有下一次都会有效。

2 个答案:

答案 0 :(得分:0)

翻译service会返回一个承诺

$translate('PAGE_TITLE').then(function(result) {
    $rootScope.title = result
});

答案 1 :(得分:0)

我想我已经这样修好了:

$translate.uses(langKey).then(function() {
     $rootScope.title = $translate('PAGE_TITLE');
});