Config

loadDictionary

loadDictionary() 関数のAPIリファレンス

概要

loadDictionary は、指定した locale の翻訳用 JSON ファイルを読み込みます。

この関数は、gt-react を単体の i18n ライブラリとして利用したい方向けです。

この関数は主に、既存の翻訳を保持したまま、i18n を導入済みの既存プロジェクトを General Translation に移行する用途で使われます。

複数の翻訳が存在する場合、loadDictionary で読み込まれた dictionaries の翻訳が常に他よりも優先されます。 loadDictionary は、文字列の翻訳を含む JSON ファイルのみをサポートします。

リファレンス

パラメータ

Prop

Type

説明

種別説明
locale翻訳を読み込む対象の locale。

戻り値

指定された locale の翻訳で、id を対応する文字列にマッピングした dictionary を解決値とする Promise<any>


セットアップ

通常、dictionary は ./public/locales ディレクトリから読み込みます。

loadDictionary をファイルに定義します。 指定された locale の翻訳を含むオブジェクトに解決される Promise を返すように関数を実装してください。

src/loadDictionary.js
export default async function loadDictionary(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
}

次に、それを <GTProvider> コンポーネントに渡します。

src/App.js
import { GTProvider } from 'gt-react';
import loadDictionary from './loadDictionary';

<GTProvider loadDictionary={loadDictionary}>
  <App />
</GTProvider>

質問: loadTranslationsloadDictionary の違いは何ですか?

  • loadTranslations は、アプリの翻訳を取得する際のカスタム読み込み処理を定義するために使用します。 たとえば CDN(コンテンツ配信ネットワーク)、データベース、またはアプリのバンドルから翻訳を取得します。 これらは通常、CLI ツールで管理される機械生成の翻訳であり、ユーザーが直接編集するのには向きません。
  • loadDictionary は、gt-react をスタンドアロンのライブラリとして利用するケースを想定しています。 ユーザーが自前の翻訳を用意し、翻訳インフラは使用しません。

注意事項

  • loadDictionary は、アプリのカスタム翻訳を読み込むために使用します。
  • loadDictionary で読み込まれた dictionaries は、loadTranslations で読み込まれた翻訳よりも優先されます。

次のステップ

  • 独自の翻訳を作成したい場合は、カスタム翻訳を参照してください。
  • カスタム翻訳ローダーの実装については、loadTranslationsを参照してください。

このガイドはどうでしたか?

loadDictionary