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

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

## Обзор [#overview]

Вызовите `standardizeLocale` для экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), при необходимости передав код локали. Если его не указать, будет использовано значение `targetLocale` этого экземпляра.

```typescript
const gt = new GT({ sourceLocale: 'en', targetLocale: 'es-ES' });

console.log(gt.standardizeLocale('en-us')); // "en-US"
```

Сигнатура:

```typescript
standardizeLocale(locale?: string): string
```

*Примечание: `standardizeLocale` выполняется локально и не требует API Key. Если `locale` не указана, используется `targetLocale` экземпляра. О нормализации без экземпляра `GT` см. в описании автономной [`standardizeLocale`](/docs/platform/core/reference/utility-functions/locales/standardize-locale).*

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

* **Канонизация.** Использует `Intl.getCanonicalLocales`, который нормализует регистр: языковые подтеги становятся строчными, а подтеги региона — прописными.
* **Подстановка локали.** Если `locale` не указана, используется `targetLocale` экземпляра.
* **Без изменений при ошибке.** Возвращает входную строку без изменений, если её не удаётся стандартизировать.
* **Отсутствие локали.** Выбрасывает `Error`, если локаль не указана и у экземпляра не настроен `targetLocale`.

Распространённые исправления регистра для кодов с дефисом:

* `en-us` → `en-US` (регион в верхнем регистре)
* `EN-gb` → `en-GB` (язык в нижнем регистре, регион — в верхнем)
* `fr-ca` → `fr-CA` (правильный регистр во всём коде)

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

| Параметр            | Описание                              | Тип      | Необязательный | По умолчанию        |
| ------------------- | ------------------------------------- | -------- | -------------- | ------------------- |
| [`locale`](#locale) | Код локали BCP-47 для стандартизации. | `string` | Да             | `this.targetLocale` |

### `locale` [#locale]

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

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

## Возвращает [#returns]

**Тип** `string`

Стандартизованный код локали BCP-47 либо исходная строка без изменений, если стандартизовать её невозможно. Вызывает `Error`, если локаль не указана и для экземпляра не настроен `targetLocale`.

## Примеры [#examples]

```typescript
const gt = new GT({ sourceLocale: 'en', targetLocale: 'es-ES' });

// Регистр нормализуется для кодов с дефисом
console.log(gt.standardizeLocale('en-us')); // "en-US"
console.log(gt.standardizeLocale('EN-gb')); // "en-GB"
console.log(gt.standardizeLocale('fr-ca')); // "fr-CA"

// Уже стандартизированные локали передаются без изменений
console.log(gt.standardizeLocale('es-ES')); // "es-ES"
console.log(gt.standardizeLocale('ja-JP')); // "ja-JP"
```

## Примечания [#notes]

* Нормализует регистр: коды языков приводятся к нижнему регистру, а коды регионов — к верхнему.
* Возвращает входную строку без изменений, если код не удаётся стандартизировать.
* Сохраняет расширения и варианты локали, если они присутствуют.

## Sitemap

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