Как запомнить выбор языка ember-i18n при обновлении браузера

Я попробовал сначала что-то подобное в моем контроллере приложений:

init123: function() {
  var locale;
  if (this.session.get('lang') === null || this.session.get('lang') === undefined)
    locale = ENV.i18n.defaultLocale;
  else
    locale = this.session.get('lang');

  this.get('i18n').set('locale', locale);
}.on('init'),

но это работает только тогда, когда пользователь вошел в систему. Если нет, всегда устанавливается значение по умолчанию.

Затем я попробовал вещи с инициализатором, как на этот ответ.

Как установить i18n.locale из инициализатора из Artych

Но как мне запомнить последний выбор, сделанный в браузере?

Спасибо

2 ответа

Решение

Вы должны сохранять предпочтение где-то. Посмотрите на ht tps://github.com/genkgo/ember-localforage-adapter или ember-local-storage.

Если вы используете ember-simple-auth, вы можете сохранить его в сеансе.

Другие вопросы по тегам