# General Translation Platform: isValidLocale
URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/locales/is-valid-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
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` を返します。

## Sitemap

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