loadDictionary
loadDictionary() 関数の APIリファレンス。
概要
loadDictionary は、指定した locale の翻訳用 JSON ファイルを読み込みます。
この関数は、gt-react を単体の i18n ライブラリとして使用したい方向けです。
この関数は主に、既存の翻訳を維持したまま、i18n 対応済みの既存プロジェクトを General Translation に移行する際に使用されます。
複数の翻訳が存在する場合、loadDictionary で読み込まれた dictionary の翻訳が常に他より優先されます。
loadDictionary は、文字列の翻訳を含む JSON files のみをサポートします。
リファレンス
パラメータ
Prop
Type
説明
| 種別 | 説明 |
|---|---|
locale | 翻訳を読み込む対象の locale。 |
戻り値
指定された locale の翻訳を id にマッピングした dictionary を返す Promise<any>。
セットアップ
通常は、./public/locales ディレクトリから dictionary を読み込みます。
loadDictionary をファイル内で定義してください。
その関数が、指定された locale の翻訳を含むオブジェクトに解決される Promise を返すようにしてください。
export default async function loadDictionary(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
}次に、それを <GTProvider> コンポーネントに渡します。
import { GTProvider } from 'gt-react';
import loadDictionary from './loadDictionary';
<GTProvider loadDictionary={loadDictionary}>
<App />
</GTProvider>質問: loadTranslations と loadDictionary の違いは何ですか?
loadTranslationsは、アプリの翻訳を取得する際のカスタム読み込み処理を定義するために使用します。 たとえば、CDN(コンテンツ配信ネットワーク)、データベース、またはアプリのバンドルから翻訳を取得します。 これらの翻訳は通常、CLI(コマンドラインインターフェース)ツールで機械的に生成・管理され、ユーザーが直接編集するのには適していません。loadDictionaryは、gt-reactをスタンドアロンのライブラリとして利用する場合を想定しています。 ユーザーが自前の翻訳を持ち込み、翻訳インフラは使用しません。
注意事項
loadDictionaryは、アプリのカスタム翻訳を読み込むために使用します。loadDictionaryで読み込まれた dictionary は、loadTranslationsで読み込まれた翻訳よりも優先されます。
次のステップ
- 自分で翻訳を作成したい場合は、custom translations を参照してください。
- 独自の翻訳ローダーの実装については、
loadTranslationsを参照してください。
このガイドはいかがですか?