我正在尝试实现翻译的异步获取。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
方法文档。
将不胜感激任何帮助。