2015-06-16 16 views
20

Xin chào, tôi nhận được văn bản từ cơ sở dữ liệu với http.get. Làm cách nào để phát hiện trình duyệt? Làm thế nào để sử dụng nếu mệnh đề? Tôi không muốn sử dụng translate.toogle()AngularJS cách sử dụng phát hiện ngôn ngữ trình duyệt?

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; 
      } 
     ); 

}; 

Trả lời

26

Bạn có thể lấy ngôn ngữ trình duyệt sử dụng navigator.language:

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

$ window.navigator.language chỉ là ngôn ngữ giao diện người dùng của trình duyệt và không phải là ngôn ngữ được chấp nhận. –

+0

Tính năng này không hoạt động với Chrome. Giải pháp từ Anushree tốt hơn. – Epharion

+0

Tôi sẽ sử dụng if (lang.indexOf ('en')! = -1) vì có: en-Au, en-SG, en-GB ... v.v. – DavidDunham

Các vấn đề liên quan