AngularJS如何使用浏览器语言检测?

时间:2015-06-16 10:04:36

标签: angularjs

您好我使用http.get从数据库获取文本。如何使用浏览器检测?如何使用if子句?我不想使用translate.toogle()

    var mainCtrl = function ($scope, $http, $sce, $location,$timeout,$routeParams, toastr) {

    $scope.showPage = false;     
    $timeout(function(){
        $scope.showPage = true;
            },2000);


        $scope.trustedHtml = function (plainText) {
            return $sce.trustAsHtml(plainText);
        }

        $http.get('admin/api/?s=getAbout').success(

         ##### if browser En_en
            function(r){
                $scope.about = r.text_en;

         ##### if browser De_de
            function(r){
                $scope.about = r.text_de;
            }
        );

};

2 个答案:

答案 0 :(得分:27)

您可以使用navigator.language获取浏览器语言:

var lang = $window.navigator.language || $window.navigator.userLanguage; 
if (lang === 'en-US') {
  console.log("language is english");
}

答案 1 :(得分:12)

navigator.languages
    ? navigator.languages[0]
    : (navigator.language || navigator.userLanguage)

是最好的方式。

参考:JavaScript for detecting browser language preference