翻訳の非同期フェッチを実現しようとしています。ドキュメントが言うように、私はpublicOnly
toを設定しました: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
自分の唯一無二の翻訳しか持っておらず、それを機能させる方法の手がかりもありません.
サービス APIaddTranslations
にメソッドのドキュメントがありません。
助けていただければ幸いです。