# General Translation Platform: resolveCanonicalLocale URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/locales/resolve-canonical-locale.mdx --- title: resolveCanonicalLocale description: GT インスタンスでロケールのエイリアスを正規ロケールコードに解決します。resolveCanonicalLocale の API リファレンス。 --- [GT](/docs/platform/core/reference/gt-class/constructor) インスタンスで、ロケールのエイリアスを内部で使用される正規の 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が見つからない場合は、入力されたロケールをそのまま返します。