Ember.js 如何从初始值设定项中设置i18n.locale
我想在EmberJS中的初始值设定项中设置“i18n.locale” 我通过Ember CLI与Ember-i18n一起使用1.12 我试过这个Ember.js 如何从初始值设定项中设置i18n.locale,ember.js,ember-cli,ember-i18n,Ember.js,Ember Cli,Ember I18n,我想在EmberJS中的初始值设定项中设置“i18n.locale” 我通过Ember CLI与Ember-i18n一起使用1.12 我试过这个 import Ember from 'ember'; export function initialize(container, application) { Ember.set('i18n.locale', 'de'); } export default { name: 'user-locale', initialize: initi
import Ember from 'ember';
export function initialize(container, application) {
Ember.set('i18n.locale', 'de');
}
export default {
name: 'user-locale',
initialize: initialize
}
但是我接收到的
断言失败:如果没有给出obj,路径“i18n.locale”必须是全局的。
您可以将i18n
作为服务:i18n
获取,并使用实例初始值设定项设置i18n.locale
//app/instance-initializers/user-locale.js
export function initialize(instance) {
var i18n = instance.container.lookup('service:i18n');
i18n.set('locale', 'de');
}
export default {
name: 'user-locale',
after: "ember-i18n",
initialize: initialize
}
InstanceInitializers指南:
从Ember 1.13.8开始,您现在必须作为一项功能访问容器
const i18n=instance.container().lookup('service:i18n')代码>