# General Translation Platform: resolveCanonicalLocale
URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/locales/resolve-canonical-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: GT インスタンスでロケールのエイリアスを正規ロケールコードに解決します。resolveCanonicalLocale の API リファレンス。

[GT](/docs/platform/core/reference/gt-class/constructor) インスタンスで、General Translation がロケールのエイリアスに対して内部で使用する正規の BCP-47 コードを返します。これは [`resolveAliasLocale`](/docs/platform/core/reference/gt-class-methods/locales/resolve-alias-locale) の逆です。General Translation ではカスタムマッピングを使用しているため、翻訳や書式設定は内部で標準コードに対して行いつつ、独自のロケールコードを公開できます。

## 概要 [#overview]

ロケールコードを指定して [`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスで `resolveCanonicalLocale` を呼び出します。指定したコードが設定済みのエイリアスであれば正規のロケールを返し、そうでなければ入力されたロケールをそのまま返します。

```typescript
const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    cn: { code: 'zh', name: 'Mandarin' },
  },
});

const canonical = gt.resolveCanonicalLocale('cn');
console.log(canonical); // "zh"
```

シグネチャ：

```typescript
resolveCanonicalLocale(
  locale?: string,
  customMapping?: CustomMapping
): string
```

*注記: `resolveCanonicalLocale` はローカルで実行されるため、APIキーは不要です。引数を省略した場合は、インスタンスの対象ロケールと `customMapping` が使用されます。`GT` インスタンスなしで解決する場合は、スタンドアロンの [`resolveCanonicalLocale`](/docs/platform/core/reference/utility-functions/locales/resolve-canonical-locale) を参照してください。*

## 仕組み [#how-it-works]

* **順方向の参照。** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) 内でエイリアスに対応する正規ロケールを参照します。
* **パススルー。** 正規マッピングがない場合は、入力されたロケールをそのまま返します。
* **インスタンスのフォールバック。** `locale` を省略するとインスタンスの対象ロケールが使用され、`customMapping` を省略するとインスタンスの `customMapping` が使用されます。
* **例外をスローします。** 利用可能なロケールがない場合 (引数にもインスタンスの対象ロケールにもない場合) 。

## パラメータ [#parameters]

| パラメータ                              | 説明                                        | 型                                                                     | 任意 | デフォルト                |
| ---------------------------------- | ----------------------------------------- | --------------------------------------------------------------------- | -- | -------------------- |
| [`locale`](#locale)                | 正規の形式に解決する対象のエイリアスロケールコード。                | `string`                                                              | はい | `this.targetLocale`  |
| [`customMapping`](#custom-mapping) | インスタンスの mapping の代わりに使用する カスタムマッピング。 | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | はい | `this.customMapping` |

### `locale` [#locale]

**型** `string` · **省略可能** · **デフォルト** `this.targetLocale`

解決対象のエイリアスロケールコードです。省略した場合は、インスタンスの対象ロケールが使用されます。

### `customMapping` [#custom-mapping]

**型** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **任意** · **デフォルト** `this.customMapping`

インスタンスのマッピングの代わりに使用するカスタムマッピングです。

## 戻り値 [#returns]

**型** `string`

別名に対応する正規のロケール。対応する正規ロケールがない場合は、入力されたロケールがそのまま返されます。

## 例 [#examples]

```typescript
const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    cn: { code: 'zh', name: 'Mandarin' },
  },
});

// エイリアスを正規ロケールに解決する
console.log(gt.resolveCanonicalLocale('cn')); // "zh"

// マッピングされていないロケールは元の値を返す
console.log(gt.resolveCanonicalLocale('es')); // "es"
```

## メモ [#notes]

* これは[`resolveAliasLocale`](/docs/platform/core/reference/gt-class-methods/locales/resolve-alias-locale)の逆の動作です。
* 正規のmappingが見つからない場合は、入力されたロケールをそのまま返します。

## Sitemap

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