# General Translation Platform: isSupersetLocale
URL: https://generaltranslation.com/en-GB/docs/platform/core/reference/gt-class-methods/locales/is-superset-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Check whether one locale can represent another, more specific locale. API reference for isSupersetLocale.

Checks whether one locale is a superset of another in the BCP-47 hierarchy, on a [GT](/docs/platform/core/reference/gt-class/constructor) instance. A superset locale is more general and can serve as a fallback for more specific locales. General Translation uses this to reason about locale fallback chains.

## Overview [#overview]

Call `isSupersetLocale` on a [`GT`](/docs/platform/core/reference/gt-class/constructor) instance with a candidate superset locale and a candidate subset locale. It returns `true` when the first is a superset of the second.

```typescript
const gt = new GT();

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

Signature:

```typescript
isSupersetLocale(superLocale: string, subLocale: string): boolean
```

*Note: `isSupersetLocale` runs locally and does not require an API key. For comparisons without a `GT` instance, see the standalone [`isSupersetLocale`](/docs/platform/core/reference/utility-functions/locales/is-superset-locale).*

## How it works [#how-it-works]

* **BCP-47 hierarchy.** Uses the BCP-47 locale hierarchy for comparison.
* **Reflexive.** A locale is always a superset of itself.
* **Base languages.** Base languages are supersets of their regional variants, but a regional variant is not a superset of its base language.
* **Different languages.** Returns `false` for completely different languages.

## Parameters [#parameters]

| Parameter                      | Description                          | Type     | Optional | Default |
| ------------------------------ | ------------------------------------ | -------- | -------- | ------- |
| [`superLocale`](#super-locale) | The locale to check as the superset. | `string` | No       | —       |
| [`subLocale`](#sub-locale)     | The locale to check as the subset.   | `string` | No       | —       |

### `superLocale` [#super-locale]

**Type** `string` · **Required**

The locale to check as the superset (the broader locale).

### `subLocale` [#sub-locale]

**Type** `string` · **Required**

The locale to be checked as the subset (the more specific locale).

## Returns [#returns]

**Type** `boolean`

`true` if `superLocale` is a superset of `subLocale`, `false` otherwise.

## Examples [#examples]

```typescript
const gt = new GT();

// Base language is superset of regional variant
console.log(gt.isSupersetLocale('en', 'en-US')); // true
console.log(gt.isSupersetLocale('es', 'es-ES')); // true
console.log(gt.isSupersetLocale('zh', 'zh-CN')); // true

// Regional variant is NOT superset of base language
console.log(gt.isSupersetLocale('en-US', 'en')); // false
console.log(gt.isSupersetLocale('es-ES', 'es')); // false

// Same locales
console.log(gt.isSupersetLocale('en-US', 'en-US')); // true

// Different languages
console.log(gt.isSupersetLocale('en', 'es-ES')); // false
```

## Notes [#notes]

* Uses the BCP-47 locale hierarchy for comparison.
* A locale is always a superset of itself.
* Base languages are supersets of their regional variants.
* Returns `false` for completely different languages.

## Sitemap

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