# General Translation Platform: isSameDialect URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/locales/is-same-dialect.mdx --- title: isSameDialect description: 2 つのロケールが同じ方言を表しているかどうかを確認します。isSameDialect の API リファレンス。 --- 複数の BCP-47 ロケールコードが、[GT](/docs/platform/core/reference/gt-class/constructor) インスタンス上で同じ方言を表しているかどうかを確認します。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] * 正確に比較できるよう、標準化されたロケールコードを使用します。 * 文字列、配列、混在など、柔軟な入力形式に対応しています。