angularjs国际化

1,引入文件

<script type="text/javascript" src="./plugin/angular-1.3.16/angular.js"></script>

<!--angularjs官方提供的国际化文件-->

<script type="text/javascript" src="./plugin/angular-1.3.16/angular-translate.js"></script>

<!--用来读取本地配置文件的模块-->

<script type="text/javascript" src="https://cdn.bootcss.com/angular-translate-loader-static-files/2.15.1/angular-translate-loader-static-files.js"></script>

 

2,js配置依赖关系

var app = angular.module('myApp', ['pascalprecht.translate'])------加载angularjs-translate依赖模块
.config(['$translateProvider',function($translateProvider){ -----$translateProvider 服务配置 $translate 服务实现
  var lang = window.localStorage.lang||'cn';
  $translateProvider.preferredLanguage(lang);-------->告诉 angular.js 默认已注册的语言
  $translateProvider.useStaticFilesLoader({ ---------->告诉 angular.js 应该加载本地那些国际化语言配置文件
    prefix: '/i18n/', ----->指定文件前缀,即路径
    suffix: '.json' ------->指定文件后缀
})     ----->不会加载路径下全部语言文件,它会按照默认注册的语言去加载.

.filter("T", ['$translate', function($translate) {
    return function(key) {
      if(key){
        return $translate.instant(key);
      }
    };
}])

 

3,配置文件

 

4,页面使用

<input type="text" class="username" placeholder="{{'username' | translate}}"  ng-model="username" name="username" >

 

或者(配置filter才可使用此方法)

<input type="text" class="username" placeholder="{{'username' | T}}"  ng-model="username" name="username" >

 

posted @ 2017-06-06 15:56  javadongx  阅读(242)  评论(0)    收藏  举报

javadong@qq.com