javascript - 如何列出 angular-translate 加载的所有语言

标签 javascript angularjs

我在 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/

相关文章:

javascript - CSS/JavaScript 绝对定位与固定定位

javascript - 我的对象填充可观察数组中的信息不会显示在我的 View 中

javascript - 如何使用 AngularJS 设置 HTTP 调用和图像加载的基本 URL

angularjs - WP Rest API 获取特色图片

javascript - UI Router - 在状态之间转换时记住滚动位置

javascript - Dojo 类对象如何工作

javascript - Jstree - 如何获取父节点的子节点(换句话说,如何获取兄弟节点)

angularjs - 关闭Angular UI ngx-grid中的滚动?

node.js - 在带有 windows 主机的 ubuntu 虚拟服务器上运行 Node、Yeoman、Grunt 等

angularjs - Angular $ watch空值错误