# General Translation Platform: isValidLocale URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/locales/is-valid-locale.mdx --- title: isValidLocale 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` для некорректных или нераспознанных кодов локалей.