Использование Angular-Translate Pascalprecht не меняет язык в JSON-файлах - PullRequest
0 голосов
/ 27 августа 2018

В моем файле Players.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> больше не меняют язык.

Если я очищаю кеш браузера и перезагружаю сайт, все работает как положено. Однако это нежелательно. Итак, какое изменение кода можно сделать, чтобы избавиться от этого?

...