# vue: LoadTranslations URL: https://generaltranslation.com/ja/docs/vue/reference/types/load-translations.mdx --- title: LoadTranslations description: 指定したロケールの翻訳カタログ全体を読み込みます。LoadTranslations の API リファレンス。 --- ターゲットカタログがアプリケーションファイル、データベース、API、または別のホストにある場合は、このコールバックを [`createGT()`](/docs/vue/reference/functions/create-gt) または [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) に渡します。 ## 概要 [#overview] ```ts type LoadTranslations = ( locale: string ) => Promise; ``` プラグインは、キャッシュされていない対象ロケールに対してのみローダーを呼び出します。デフォルトロケールではソーステキストを使用するため、ローダーは呼び出されません。 ## パラメータ [#parameters] | パラメータ | 説明 | 型 | 任意 | デフォルト | | -------- | --------------- | -------- | --- | ----- | | `locale` | 完全なカタログを返すロケール。 | `string` | いいえ | — | 通常の[`createGT()`](/docs/vue/reference/functions/create-gt)プラグインは、指定されたロケールをそのまま渡します。[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa)プラグインは、まず設定済みの`locales`および`customMapping`に照らしてロケールを解決し、ファイルパスでは設定時の表記を保持します。 ## 戻り値 [#returns] **型** `Promise<`[`TranslationCatalog`](/docs/vue/reference/types/translation-catalog)`>` `locale` に対応する、ハッシュをキーとする完全なカタログで解決します。翻訳が利用できず、アプリケーションでソースコンテンツを使用する必要がある場合は、`{}` で解決します。 `null`、`undefined`、または形状が異なる部分的な値を返さないでください。公開コールバック型ではカタログオブジェクトが必要です。 ## 読み込みの動作 [#loading-behavior] * 正常に取得された結果は、そのプラグインの存続期間中キャッシュされます。 * 同じロケールに対する同時読み込みでは、1 つの Promise が共有されます。 * `plugin.loadTranslations(locale)` は、アクティブなロケールを変更せずに事前読み込みを行います。 * リアクティブな `plugin.setLocale(locale)` は、切り替え前に読み込みを行います。 * [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) は、Promise が解決される前に初期対象ロケールを読み込みます。 * [`createGT()`](/docs/vue/reference/functions/create-gt) プラグインをインストールすると、初期対象ロケールの読み込みがバックグラウンドで開始されるため、先にソースコンテンツをレンダリングできます。 ## 失敗 [#failures] コールバックが拒否されると、`gt-vue` は診断情報をログに記録し、同じエラーを再スローして、実行中のエントリを削除し、結果をキャッシュしません。後続の呼び出しで再試行できます。 そのため、命令型の `loadTranslations()` 呼び出し、リアクティブなロケール変更、または SPA の初期化は拒否されます。`app.use(createGT(...))` によって開始されるバックグラウンド読み込みでは、ログ記録後に拒否をキャッチするため、アプリケーションはソースコンテンツで継続できます。 ## 例 [#example] ```ts title="src/loadTranslations.ts" import type { LoadTranslations } from 'gt-vue'; const loadTranslations: LoadTranslations = async (locale) => { try { return (await import(`./_gt/${locale}.json`)).default; } catch (error) { console.error(`No translation catalog for ${locale}`, error); return {}; } }; export default loadTranslations; ``` 上記のloaderでは、存在しないファイルを正常な空のカタログとして扱います。カタログが存在しない、または無効な場合に初期化を中止するには、`try`/`catch`を削除してください。