使用angular-translate时,我的lang文件加载两次

时间:2014-02-09 16:31:34

标签: angularjs internationalization

我的config.js文件如下:

angular.module('mean').config(['$routeProvider', '$translateProvider', '$locationProvider',
  function($routeProvider, $translateProvider, $locationProvider) {
    $routeProvider.
    when('/items', {
      templateUrl: '/views/main.html',
      controller: 'ItemsController'
    }).
    when('/items/create', {
      templateUrl: '/views/main.html',
      controller: 'ItemsController'
    }).

    when('/articles/create', {
        templateUrl: 'views/articles/create.html'
    }).
    when('/articles/:articleId/edit', {
        templateUrl: 'views/articles/edit.html'
    }).
    when('/articles/:articleId', {
        templateUrl: 'views/articles/view.html'
    }).
    when('/', {
        templateUrl: '/views/index.html'
    }).
    otherwise({
        redirectTo: '/'
    });

    $locationProvider.html5Mode(true);
    $translateProvider.useStaticFilesLoader({
      prefix: '/lang/',
      suffix: '.json'
    });

    $translateProvider.fallbackLanguage('en-US');
    $translateProvider.useCookieStorage();
    $translateProvider.preferredLanguage('en-US');
  }
]);

我在en-US.json文件夹中有lang个文件。但由于某种原因,此文件加载两次,如Firebug控制台中所示: enter image description here

有关为何会这样做的任何想法?

1 个答案:

答案 0 :(得分:5)

那是因为你将 fallbackLanguage preferredLanguage 设置为同一个,所以他需要加载“both”。在这种情况下,preferredLanguage就足够了。