# General Translation Platform: isSameDialect URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/locales/is-same-dialect.mdx --- title: isSameDialect description: Проверяет, относятся ли две локали к одному и тому же диалекту. Справочник по API для isSameDialect. --- Проверяет, относятся ли несколько кодов локалей BCP-47 к одному и тому же диалекту в экземпляре [GT](/docs/platform/core/reference/gt-class/constructor). 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] * Использует стандартизированные коды локалей для точного сравнения. * Поддерживает гибкие форматы входных данных (строки, массивы, смешанные).