GT ClassMethodsLocales

isSameDialect

GT の isSameDialect メソッドのAPIリファレンス

概要

isSameDialect メソッドは、複数の BCP-47 ロケールコードが同じ方言を表しているかを判定します。 ロケールコードの言語および地域コンポーネントを比較し、同一の言語変種かどうかを判断します。


リファレンス

パラメータ

Prop

Type

パラメーターの説明

パラメーター説明
...locales比較対象となるロケールコード(文字列)またはロケールコード配列を可変長で受け取ります。指定された対応ロケールはすべて同一の方言を表している必要があります

戻り値

boolean - 指定されたすべてのロケールコードが同一の方言を表す場合は true、それ以外は false

例外

例外は発生しません。無効なロケールコードは適切に処理され、false を返します。


挙動

方言比較ロジック

このメソッドは、方言が等しいかどうかを判定するために次のロジックを用います。

  1. locales の正規化 - すべての入力ロケールコードを正規化する
  2. 言語コードの比較 - すべての locales は同じ基底言語である必要がある
  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'])
  • 単一の locale: isSameDialect('en-US')(常に true を返す)

基本的な方言比較

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

注意

  • 正確な比較のために標準化されたロケールコードを使用します
  • 柔軟な入力形式(文字列、配列、混在)を受け付けます

次のステップ

このガイドはどうでしたか?

isSameDialect