我在 angular-translate 的文档或 API 中找不到它.如何通过 Angular 翻译检索所有已加载的语言?
假设我有一个像这样的 LanguageCtrl:
angular.module('myApp')
.controller('LanguageCtrl', ['$translate', '$scope',
function ($translate, $scope) {
$scope.switchLang = function (lang) {
$translate.use(lang);
};
$scope.currentLang = function () {
return $translate.use();
};
$scope.isCurrentLang = function (lang) {
return $translate.use() === lang;
};
$scope.languages = function(){
return $translate.IS_THERE_AN_API_FUNCTION_TO_GET_ALL_LANGUAGES();
}
}]);
然后我加载这些语言:
angular.module('myApp', ['pascalprecht.translate'])
.config(['$translateProvider', function ($translateProvider) {
$translateProvider.translations('de', de);
$translateProvider.translations('fr', fr);
$translateProvider.translations('en', en);
$translateProvider.preferredLanguage('en');
}]);
现在我想显示所有语言:
<ul ng-controller="LanguageCtrl">
<li ng-repeat="lang in languages" ng-class="{active: isCurrentLang(lang)}">
<a href="" ng-click="switchLang(lang)">lang</a>
</li>
</ul>
最佳答案
不幸的是,目前还没有 API 可以获取所有已注册的语言。简而言之:这还是不可能的。
如果您愿意,可以在 github 上提出一个问题来提出该功能。但是,请记住,使用异步加载程序时,语言在加载之前不会注册。
关于javascript - 如何列出 angular-translate 加载的所有语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659748/