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

General Translation сравнивает языковые и региональные компоненты кодов локалей, чтобы определить, обозначают ли они одну и ту же языковую разновидность.

## Обзор [#overview]

Вызовите `isSameDialect` у экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), передав два или более кода локали (или массивы кодов). Метод вернёт `true`, если все они соответствуют одному и тому же диалекту.

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

console.log(gt.isSameDialect('en-US', 'en-GB')); // false
console.log(gt.isSameDialect('en', 'en-US')); // true
```

Сигнатура:

```typescript
isSameDialect(...locales: (string | string[])[]): boolean
```

*Примечание: `isSameDialect` выполняется локально и не требует ключа API. Недопустимые коды локалей обрабатываются корректно и возвращают `false`. О сравнении без экземпляра `GT` см. в описании автономной функции [`isSameDialect`](/docs/platform/core/reference/utility-functions/locales/is-same-dialect).*

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

### Логика сравнения диалектов

Метод определяет равенство диалектов следующим образом:

1. **Нормализация локалей** — приводит все входные коды локалей к стандартному виду.
2. **Сравнение кодов языков** — все локали должны иметь один и тот же базовый язык.
3. **Обработка иерархии регионов** — базовый язык соответствует своим региональным вариантам.
4. **Точное сопоставление диалектов** — региональные варианты должны совпадать полностью.

### Правила иерархии

* Базовый язык (`'en'`) соответствует любому региональному варианту (`'en-US'`, `'en-GB'`).
* Региональные варианты совпадают только при точном совпадении (`'en-US'` ≠ `'en-GB'`).
* Если указан вариант письменности, он учитывается при сравнении.
* Разные языки никогда не совпадают (`'en'` ≠ `'es'`).

### Гибкость входных данных

Метод принимает:

* Несколько строковых параметров: `isSameDialect('en-US', 'en-GB')`
* Массивы строк: `isSameDialect(['en-US', 'en-GB'])`
* Смешанный формат: `isSameDialect('en-US', ['en-GB', 'en-CA'])`
* Одну локаль: `isSameDialect('en-US')` (всегда возвращает `true`)

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

| Параметр              | Описание                                                                        | Тип                      | Необязательный | По умолчанию |
| --------------------- | ------------------------------------------------------------------------------- | ------------------------ | -------------- | ------------ |
| [`locales`](#locales) | Произвольное количество кодов локалей или массивов кодов локалей для сравнения. | `(string \| string[])[]` | Нет            | —            |

### `...locales` [#locales]

**Тип** `(string | string[])[]` · **Обязательно**

Переменное число кодов локалей (строк) или массивов кодов локалей для сравнения. Все указанные локали должны относиться к одному и тому же диалекту.

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

**Тип** `boolean`

`true`, если все указанные коды локалей относятся к одному и тому же диалекту; в противном случае — `false`. Исключения не выбрасываются: недопустимые коды локалей обрабатываются корректно и приводят к значению `false`.

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

```typescript
// Базовое сравнение диалектов
const gt = new GT({ sourceLocale: 'en-US', targetLocale: 'es-ES' });

// Одинаковые диалекты
console.log(gt.isSameDialect('en-US', 'en-US')); // true
console.log(gt.isSameDialect('zh-CN', 'zh-CN')); // true

// Разные диалекты одного языка
console.log(gt.isSameDialect('en-US', 'en-GB')); // false
console.log(gt.isSameDialect('es-ES', 'es-MX')); // false
console.log(gt.isSameDialect('pt-PT', 'pt-BR')); // false

// Базовый язык с региональными вариантами
console.log(gt.isSameDialect('en', 'en-US')); // true
console.log(gt.isSameDialect('es', 'es-ES')); // true
console.log(gt.isSameDialect('zh', 'zh-CN')); // true

// Разные языки
console.log(gt.isSameDialect('en-US', 'es-ES')); // false
console.log(gt.isSameDialect('fr-FR', 'de-DE')); // false
```

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

* Использует стандартизированные коды локалей для точного сравнения.
* Поддерживает гибкие форматы входных данных (строки, массивы, смешанные).

## Sitemap

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