angular实现语言国际化

1.需要的js

<script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
<script src="js/angular-translate.js"></script>
<script type="text/javascript" src="js/cookie_util.js" ></script>

2.创建angular.js文件夹

在里面配置文件如下:

var app = angular.module("MyApp",['pascalprecht.translate']);
var langKey = getCookie("ngId");

app.config(['$translateProvider',function($translateProvider){

  //添加识别手机系统语言

  translateProvider($translateProvider);
  var Terminal = {
    // 辨别移动终端的语言:zh-cn、en-us、ko-kr、ja-jp...
    language : (navigator.browserLanguage || navigator.language).toLowerCase()
  }

  // alert(Terminal.language);

  if(langKey==""||langKey==null){

    $translateProvider.preferredLanguage("en");

    return false;

  }else{

    $translateProvider.preferredLanguage(langKey);

    return false;
  }
}]);

app.controller('TranslateController', function($translate, $scope) {

  $scope.changeLanguage = function(langKey) {

    addCookie("ngId",langKey);

    langKey = langKey;

    $translate.use(langKey);

  }

});

3.创建angularThesaurus.js主要配置词库

function translateProvider($translateProvider){

  $translateProvider.translations('zh',{

    'TITLE':'你好',

    'FOO':'IBM的java开发工具',

  });
  $translateProvider.translations('en',{

    'VUE':'vue.js',

    'span':'span'

  });

}

4.html页面

 

<!DOCTYPE html>
<html ng-app="MyApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div ng-controller="TranslateController">
<button ng-click="changeLanguage('zh')" value="英文" >英文</button>
<button ng-click="changeLanguage('en')" value="中文" >中文</button>
</div>
<div>
<h1 translate="TITLE"><!--{{ 'TITLE' | translate }}--></h1>
<span translate="FOO"></span>
</div>

<a href="rest.html">跳转</a>
</body>
</html>

 

posted @ 2016-10-20 17:52  焚情  阅读(1905)  评论(0编辑  收藏  举报