# General Translation Platform: resolveCanonicalLocale
URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/locales/resolve-canonical-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Возвращает код канонической локали BCP-47, который используется внутри системы для алиаса локали, на экземпляре GT. Справочник API для resolveCanonicalLocale.

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

## Обзор [#overview]

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

```typescript
const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    cn: { code: 'zh', name: 'Mandarin' },
  },
});

const canonical = gt.resolveCanonicalLocale('cn');
console.log(canonical); // "zh"
```

Сигнатура:

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

*Примечание: `resolveCanonicalLocale` выполняется локально и не требует API-ключа. Если аргументы опущены, используется целевая локаль экземпляра и `customMapping`. Чтобы выполнить определение без экземпляра `GT`, см. автономную функцию [`resolveCanonicalLocale`](/docs/platform/core/reference/utility-functions/locales/resolve-canonical-locale).*

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

* **Прямой поиск.** Ищет каноническую локаль для алиаса в [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping).
* **Сквозная передача.** Возвращает входную локаль без изменений, если для неё нет канонического сопоставления.
* **Резервное значение экземпляра.** Если `locale` не указана, используется целевая локаль экземпляра; если `customMapping` не указан, используется `customMapping` экземпляра.
* **Выбрасывает ошибку**, если локаль недоступна (не передан ни аргумент, ни целевая локаль экземпляра).

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

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

### `locale` [#locale]

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

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

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

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

Пользовательское сопоставление, используемое вместо сопоставления экземпляра.

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

**Тип** `string`

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

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

```typescript
const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    cn: { code: 'zh', name: 'Mandarin' },
  },
});

// Разрешить алиас в каноническую локаль
console.log(gt.resolveCanonicalLocale('cn')); // "zh"

// Локаль без маппинга возвращает исходное значение
console.log(gt.resolveCanonicalLocale('es')); // "es"
```

## Заметки [#notes]

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

## Sitemap

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