# General Translation Platform: isSameDialect
URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/locales/is-same-dialect.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 2 つのロケールが同じ方言を表しているかどうかを確認します。isSameDialect の API リファレンス。

General Translation は、ロケールコードの言語とリージョンの構成要素を比較し、それらが同じ方言を表すかどうかを判定します。

## 概要 [#overview]

[`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスで `isSameDialect` を呼び出し、2 つ以上のロケールコード (またはロケールコードの配列) を渡します。すべてが同じ方言を表している場合は、`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'`) 。
* script バリアントは、存在する場合、比較時に考慮されます。
* 異なる言語同士は一致しません (`'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[])[]` · **必須**

比較対象のロケールコード (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.
