# General Translation Platform: resolveCanonicalLocale
URL: https://generaltranslation.com/ru/docs/platform/core/reference/utility-functions/locales/resolve-canonical-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Определяет канонический код локали по её алиасу без экземпляра GT. Справочник API для resolveCanonicalLocale.

[`resolveCanonicalLocale`](/docs/platform/core/reference/gt-class-methods/locales/resolve-canonical-locale) — это автономная служебная функция из основной библиотеки General Translation, которая определяет канонический код локали BCP-47 по алиасу локали, используемый внутри системы. Это функция, обратная [`resolveAliasLocale`](/docs/platform/core/reference/gt-class-methods/locales/resolve-alias-locale).

## Обзор [#overview]

Импортируйте `resolveCanonicalLocale` напрямую из `generaltranslation` и вызовите её, передав код локали и необязательное пользовательское сопоставление. Для этого не нужны API-ключ или экземпляр [GT](/docs/platform/core/reference/gt-class/constructor). Если нужно определить локаль через экземпляр с унаследованным от него сопоставлением, используйте вместо этого метод [`resolveCanonicalLocale`](/docs/platform/core/reference/gt-class-methods/locales/resolve-canonical-locale) экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor).

```typescript
import { resolveCanonicalLocale } from 'generaltranslation';

const canonical = resolveCanonicalLocale('en', { en: { code: 'en-US' } });
// "en-US"
```

Сигнатура:

```typescript
resolveCanonicalLocale(
  locale: string,
  customMapping?: CustomMapping
): string
```

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

* **Прямой поиск.** Ищет каноническую локаль для алиаса в [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping).
* **Без изменений.** Возвращает исходную локаль без изменений, если для неё не задано каноническое сопоставление.

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

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

### `locale` [#locale]

**Тип** `string` · **Обязательно**

Код локали-алиаса, который нужно сопоставить.

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

**Тип** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Необязательно**

Пользовательское сопоставление для определения канонической локали.

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

**Тип** `string`

Каноническая локаль для алиаса или входная локаль без изменений, если для неё нет канонического сопоставления.

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

```typescript
import { resolveCanonicalLocale } from 'generaltranslation';

// Без mapping — возвращает входное значение без изменений
console.log(resolveCanonicalLocale('en-US')); // "en-US"

// С пользовательским сопоставлением — разрешает алиас
console.log(resolveCanonicalLocale('en', { en: { code: 'en-US' } })); // "en-US"
```

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

* Это функция, обратная [`resolveAliasLocale`](/docs/platform/core/reference/utility-functions/locales/resolve-alias-locale).
* Если каноническое сопоставление не найдено, возвращает входную локаль без изменений.

## Sitemap

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