使用pascalprecht的Angular-translate不会更改JSON文件中的语言

时间:2018-08-27 20:11:17

标签: angularjs angular-translate

在我的player.factory.js文件中,我有以下代码:

angular.module('app').factory('Players', function ($window, $translate) {

var player1 = $translate.instant('ALL_PLAYER1');
var player2 = $translate.instant('ALL_PLAYER2');
var player3 = $translate.instant('ALL_PLAYER3');
var player4 = $translate.instant('ALL_PLAYER4');
var player5 = $translate.instant('ALL_PLAYER5');

  var DEFAULTS = [
    player1,
    player2,
    player3,
    player4,
    player5
  ];

    var data = $window.JSON.parse($window.localStorage.getItem('players')) || DEFAULTS;

这里player<X>的默认值存储在JSON文件中。

在我的app.js文件中,一切开始。以下是用德语或英语存储的ALL_PLAYER<X>的(默认)值:

ALL_PLAYER1: 'Player 1',
ALL_PLAYER2: 'Player 2',
ALL_PLAYER3: 'Player 3',
ALL_PLAYER4: 'Player 4',
ALL_PLAYER5: 'Player 5',

出于测试目的,我从这里切换

$translateProvider.preferredLanguage('de');

$translateProvider.preferredLanguage('de');

反之亦然。

这样做时,所有值都会根据需要更改。但是,只要我为player<X>提供了真实的玩家名称,player<X>的所有其他值就不再更改语言。

如果我清除浏览器的缓存并重新加载网站,则一切正常。但是,这是不需要的。那么,可以进行哪些代码更改来摆脱这种情况?

0 个答案:

没有答案