# General Translation Platform: isValidLocale
URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/locales/is-valid-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Проверяет, является ли значение допустимым кодом локали. Справочник API для isValidLocale.

Проверяет, имеет ли код локали корректный формат и распознаётся ли он как допустимая локаль BCP-47 в экземпляре [GT](/docs/platform/core/reference/gt-class/constructor). General Translation проверяет структуру локали, распознавание языка и корректность региона и письменности с помощью API `Intl`, с поддержкой пользовательских сопоставлений локалей.

## Обзор [#overview]

Вызовите `isValidLocale` у экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), при необходимости передав код локали. Если его не указать, будет использовано значение `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` выполняется локально с использованием API `Intl` и не требует ключа API. Если эти аргументы не указаны, используется `targetLocale` и `customMapping` экземпляра. Для проверки без экземпляра `GT` см. автономную [`isValidLocale`](/docs/platform/core/reference/utility-functions/locales/is-valid-locale).*

## Как это работает [#how-it-works]

* **Проверка BCP-47.** Выполняет полную проверку локалей BCP-47 с помощью браузерных API `Intl`.
* **Разрешение пользовательских сопоставлений.** Локали, которые используются как keys в [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping), преобразуются в их канонический `code`, после чего этот канонический код проверяется стандартными средствами `Intl` — локаль с пользовательским сопоставлением не считается автоматически допустимой.
* **Коды private-use.** Поддерживает языковые коды private-use (`qaa`–`qtz`).
* **Резервная локаль.** Если `locale` не указана, используется `targetLocale` экземпляра.
* **Отсутствующая локаль.** Вызывает `Error`, если локаль не указана и для экземпляра не настроен `targetLocale`.

## Параметры [#parameters]

| Параметр                           | Описание                                                                       | Тип                                                                   | Необязательно | По умолчанию         |
| ---------------------------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------------------- | ------------- | -------------------- |
| [`locale`](#locale)                | Код локали BCP-47, который нужно проверить.                                    | `string`                                                              | Да            | `this.targetLocale`  |
| [`customMapping`](#custom-mapping) | Пользовательское сопоставление для проверки дополнительных допустимых локалей. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Да            | `this.customMapping` |

### `locale` [#locale]

**Тип** `string` · **Необязательный** · **По умолчанию** `this.targetLocale`

Код локали BCP-47, которую нужно проверить. Если не указан, используется `targetLocale` этого экземпляра.

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

**Тип** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Необязательно** · **По умолчанию** `this.customMapping`

Пользовательское сопоставление для проверки дополнительных допустимых локалей. Если не указано, используется `customMapping` этого экземпляра.

## Returns [#returns]

**Type** `boolean`

`true`, если локаль корректна; иначе — `false`. Вызывает `Error`, если локаль не указана и для экземпляра не задан `targetLocale`.

## Примеры [#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]

* Выполняет полную проверку локалей BCP-47 с помощью браузерных API `Intl`.
* Ключи пользовательского сопоставления приводятся к их каноническому `code`, который затем проверяется стандартными средствами `Intl` (они не считаются валидными автоматически).
* Поддерживает коды языков для частного использования (`qaa`–`qtz`).
* Возвращает `false` для некорректных или нераспознанных кодов локалей.

## Sitemap

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