# General Translation Platform: isValidLocale URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/locales/is-valid-locale.mdx --- title: isValidLocale description: 値が有効なロケールコードかどうかを確認します。isValidLocale の API リファレンス。 --- [GT](/docs/platform/core/reference/gt-class/constructor) インスタンスで、ロケールコードが適切な形式であり、有効な BCP-47 ロケールとして認識されるかどうかを検証します。General Translation は `Intl` API を使用して、ロケールの構造、言語として認識されるかどうか、リージョンや文字体系の妥当性を確認し、カスタムのロケールマッピングにも対応しています。 ## 概要 [#overview] [`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスに対して、必要に応じてロケールコードを指定して `isValidLocale` を呼び出します。省略した場合は、そのインスタンスの `targetLocale` が使われます。 ```typescript const gt = new GT({ sourceLocale: 'en', targetLocale: 'es' }); console.log(gt.isValidLocale('en-US')); // true console.log(gt.isValidLocale('invalid-locale')); // false ``` シグネチャ: ```typescript isValidLocale( locale?: string, customMapping?: CustomMapping ): boolean ``` *注: `isValidLocale` は `Intl` API を使ってローカルで実行されるため、APIキーは不要です。これらの引数を省略した場合は、インスタンスの `targetLocale` と `customMapping` が使用されます。`GT` インスタンスを使わずに検証する場合は、スタンドアロンの [`isValidLocale`](/docs/platform/core/reference/utility-functions/locales/is-valid-locale) を参照してください。* ## 仕組み [#how-it-works] * **BCP-47 の検証。** ブラウザの `Intl` API を使用して、BCP-47 ロケールを包括的に検証します。 * **カスタムマッピング の解決。** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) のキーであるロケールは、まず正規の `code` に解決され、その正規コードが標準の `Intl` チェックで検証されます。カスタムマッピング されたロケールが自動的に有効になるわけではありません。 * **Private-use コード。** private-use 言語コード (`qaa`–`qtz`) をサポートします。 * **ロケール fallback。** `locale` を省略した場合は、インスタンスの `targetLocale` が使用されます。 * **ロケール未指定。** ロケールが指定されておらず、かつインスタンスに `targetLocale` が設定されていない場合は、`Error` をスローします。 ## パラメーター [#parameters] | パラメーター | 説明 | Type | Optional | Default | | ---------------------------------- | ---------------------------------- | --------------------------------------------------------------------- | -------- | -------------------- | | [`locale`](#locale) | 検証対象の BCP-47 ロケールコード。 | `string` | はい | `this.targetLocale` | | [`customMapping`](#custom-mapping) | 追加の有効なロケールを確認するための カスタムマッピング。 | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | はい | `this.customMapping` | ### `locale` [#locale] **Type** `string` · **任意** · **デフォルト** `this.targetLocale` 検証対象の BCP-47 ロケールコード。指定しない場合は、このインスタンスの `targetLocale` が使用されます。 ### `customMapping` [#custom-mapping] **型** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **任意** · **既定値** `this.customMapping` 有効なロケールを追加でチェックするためのカスタムマッピングです。指定しない場合は、このインスタンスの `customMapping` が使用されます。 ## 戻り値 [#returns] **型** `boolean` ロケールが有効な場合は `true`、無効な場合は `false` を返します。ロケールが指定されておらず、かつインスタンスに `targetLocale` が設定されていない場合は、`Error` をスローします。 ## 例 [#examples] ```typescript const gt = new GT({ sourceLocale: 'en', targetLocale: 'es' }); const isValid = gt.isValidLocale('en-US'); console.log(isValid); // true const isInvalid = gt.isValidLocale('invalid-locale'); console.log(isInvalid); // false ``` ## メモ [#notes] * ブラウザの `Intl` API を使用して、BCP-47 ロケールを包括的に検証します。 * カスタムマッピングのキーは正規の `code` に解決されたうえで、標準の `Intl` チェックで検証されます (自動的に有効とは見なされません) 。 * private-use 言語コード (`qaa`–`qtz`) をサポートします。 * 形式が不正なロケールコードや認識されないロケールコードに対しては `false` を返します。