# Vue: LoadTranslations
URL: https://generaltranslation.com/ja/docs/vue/reference/types/load-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
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<TranslationCatalog>;
```

プラグインは、キャッシュされていない対象ロケールに対してのみローダーを呼び出します。デフォルトロケールではソーステキストを使用するため、ローダーは呼び出されません。

## パラメータ [#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`を削除してください。

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
