как запомнить выбор языка 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

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

Спасибо


person PowPi    schedule 17.07.2015    source источник


Ответы (2)


Вам нужно где-то сохранить предпочтение. Взгляните на ember-localforage-adapter или ember-local-storage.

person brian    schedule 17.07.2015

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

person lpinto.eu    schedule 18.08.2016