我正在尝试实现翻译的异步获取。publicOnly我按照文档的说法设置了true:
// config/ember-intl.js
module.exports = function() {
return {
publicOnly: true
}
};
跳过设置locales密钥的步骤,因为翻译存储在/translations文件夹中。
接下来,我应该修改beforeModel钩子以异步获取翻译,这就是文档非常模糊的地方:
// app/routes/application.js
export default Ember.Route.extend({
intl: Ember.inject.service(),
async beforeModel() {
let translations = await fetch('/api/translations.json');
this.get('intl').addTranslations('en-us', translations);
this.get('intl').setLocale('en-us');
}
});
这些行应该如何工作:
let translations = await fetch('/api/translations.json');
this.get('intl').addTranslations('en-us', translations);
translations.json在运行时,我在文件夹中的任何地方都没有文件dist。我dist/translations/en-us.json只有我唯一的翻译,不知道如何使它工作。
服务 API缺少addTranslations方法文档。
将不胜感激任何帮助。