# generaltranslation: General Translation Core SDK: isSameDialect URL: https://generaltranslation.com/en-US/docs/core/class/methods/locales/is-same-dialect.mdx --- title: isSameDialect description: API reference for the GT isSameDialect method --- ## Overview The `isSameDialect` method checks if multiple BCP-47 locale codes represent the same dialect. It compares the language and region components of locale codes to determine if they represent the same linguistic variety. --- ## Reference ### Parameters ### Parameters description | Parameter | Description | |-----------|-------------| | `...locales` | Variable number of locale codes (strings) or arrays of locale codes to compare. All provided locales must represent the same dialect | ### Returns `boolean` - `true` if all provided locale codes represent the same dialect, `false` otherwise ### Throws No exceptions are thrown. Invalid locale codes are handled gracefully and return `false`. --- ## Behavior ### Dialect comparison logic The method uses the following logic to determine dialect equality: 1. **Normalize locales** - Standardizes all input locale codes 2. **Compare language codes** - All locales must have the same base language 3. **Handle region hierarchy** - A base language matches its regional variants 4. **Exact dialect matching** - Regional variants must match exactly ### Hierarchy rules - Base language (`'en'`) matches any regional variant (`'en-US'`, `'en-GB'`) - Regional variants match only exactly (`'en-US'` ≠ `'en-GB'`) - Script variants are considered in the comparison when present - Different languages never match (`'en'` ≠ `'es'`) ### Input flexibility The method accepts: - Multiple string parameters: `isSameDialect('en-US', 'en-GB')` - Arrays of strings: `isSameDialect(['en-US', 'en-GB'])` - Mixed format: `isSameDialect('en-US', ['en-GB', 'en-CA'])` - Single locale: `isSameDialect('en-US')` (always returns `true`) --- ## Examples ### Basic dialect comparison ```typescript const gt = new GT({ sourceLocale: 'en-US', targetLocale: 'es-ES' }); // Same exact dialects console.log(gt.isSameDialect('en-US', 'en-US')); // true console.log(gt.isSameDialect('zh-CN', 'zh-CN')); // true // Different dialects of same language 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 // Base language with regional variants console.log(gt.isSameDialect('en', 'en-US')); // true console.log(gt.isSameDialect('es', 'es-ES')); // true console.log(gt.isSameDialect('zh', 'zh-CN')); // true // Different languages console.log(gt.isSameDialect('en-US', 'es-ES')); // false console.log(gt.isSameDialect('fr-FR', 'de-DE')); // false ``` --- ## Notes - Uses standardized locale codes for accurate comparison - Accepts flexible input formats (strings, arrays, mixed) ## Next steps - Compare languages with [`isSameLanguage`](/docs/core/class/methods/locales/is-same-language) - Check locale hierarchy with [`isSupersetLocale`](/docs/core/class/methods/locales/is-superset-locale) - Validate locales with [`isValidLocale`](/docs/core/class/methods/locales/is-valid-locale)