我在我的应用程序控制器中首先尝试了类似的东西:
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'),
但这仅在用户登录时有效。如果没有,则始终设置默认值。
然后我尝试使用initalizer,就像这个答案一样。
来自Artych的How to set the i18n.locale from within an initializer
但我怎么记得在浏览器中完成的最后一个选择?
THX
答案 0 :(得分:1)
您需要在某处保留偏好。请查看ember-localforage-adapter或ember-local-storage个包。
答案 1 :(得分:1)
如果您使用的是ember-simple-auth,则可以将其保存到会话中。