В моем файле 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>
больше не меняют язык.
Если я очищаю кеш браузера и перезагружаю сайт, все работает как положено. Однако это нежелательно. Итак, какое изменение кода можно сделать, чтобы избавиться от этого?