# generaltranslation: General Translation Core SDK: isSameDialect URL: https://generaltranslation.com/ja/docs/core/class/methods/locales/is-same-dialect.mdx --- title: isSameDialect description: GT の isSameDialect メソッドの API リファレンス --- ## 概要 `isSameDialect` メソッドは、複数の BCP-47 ロケールコードが同じ方言を表すかどうかを確認します。 ロケールコードの言語と地域の要素を比較し、同じ言語上の変種を表しているかどうかを判定します。 *** ## リファレンス ### パラメータ ### パラメータの説明 | パラメータ | 説明 | | ------------ | ---------------------------------------------------------------------- | | `...locales` | 比較対象となる可変個のロケールコード (文字列) 、またはロケールコードの配列。指定するロケールはすべて同じ方言を表している必要があります。 | ### 戻り値 `boolean` - 指定されたすべてのロケールコードが同じ方言を表している場合は `true`、そうでない場合は `false` ### 例外 例外はスローされません。無効なロケールコードは適切に処理され、`false` が返されます。 *** ## 動作 ### 方言比較ロジック このメソッドは、方言が同一かどうかを判定するために、次のロジックを使用します。 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` を返します) *** ## 例 ### 方言の基本的な比較 ```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 ``` *** ## 注記 * 正確に比較できるよう、標準化されたロケールコードを使用します * 文字列、配列、混在形式など、柔軟な入力形式に対応しています ## 次のステップ * [`isSameLanguage`](/docs/core/class/methods/locales/is-same-language) を使って言語を比較する * [`isSupersetLocale`](/docs/core/class/methods/locales/is-superset-locale) を使ってロケール階層を確認する * [`isValidLocale`](/docs/core/class/methods/locales/is-valid-locale) を使ってロケールを検証する