getLocaleDirection
getLocaleDirection 関数のAPIリファレンス
概要
getLocaleDirection 関数は、GT クラスのインスタンスなしで、ロケールのテキスト方向(左から右または右から左)を判定します。
Intl.Locale API を使用して、有効な BCP-47 ロケールコードに対し、正確に方向を検出します。
この関数は、ロケールに応じて HTML 要素の dir 属性を設定する際に最もよく使用されます。
import { getLocaleDirection } from 'generaltranslation';
const direction = getLocaleDirection('ar-SA');
console.log(direction); // "rtl"
const englishDirection = getLocaleDirection('en-US');
console.log(englishDirection); // "ltr"リファレンス
パラメータ
Prop
Type
パラメータの説明
| パラメータ | 説明 | 
|---|---|
| locale | 文字方向を判定するための BCP-47 ロケールコード | 
戻り値
'ltr' | 'rtl' - locale のテキスト方向:
- 'ltr': 左から右(英語、スペイン語、フランス語、ドイツ語、中国語、日本語など、ほとんどの言語)
- 'rtl': 右から左(アラビア語、ヘブライ語、ペルシア語、ウルドゥー語などのセム系/中東の言語)
動作
方向検出アルゴリズム
この関数は Intl.Locale API の textInfo.direction プロパティを使用します:
- 指定された locale に対して Intl.Localeオブジェクトを作成する
- 言語固有の方向を取得するために textInfo.directionプロパティにアクセスする
- 右から左の言語には 'rtl'、それ以外には'ltr'を返す
- locale が無効な場合、またはエラーが発生した場合は既定で 'ltr'を返す
RTL言語の認識
以下のRTL言語を自動検出します:
- Arabic(アラビア語) (ar,ar-SA,ar-EG,ar-AEなど)
- Hebrew(ヘブライ語) (he,he-IL)
- Persian/Farsi(ペルシア語/ファルシー語) (fa,fa-IR)
- Urdu(ウルドゥー語) (ur,ur-PK,ur-IN)
- Pashto(パシュトー語) (ps)
- Sindhi(シンド語) (sd)
- Kurdish Sorani(クルド語ソラニー) (ckb)
- その他のRTLスクリプト
エラー処理
- 無効または不正なロケールコードは、デフォルトで 'ltr'にフォールバックします
- 無効な入力でも例外はスローされません
- エッジケースに対しても堅牢にフォールバック動作します
例
基本的な文字方向検出
import { getLocaleDirection } from 'generaltranslation';
// 左から右に表記する言語
console.log(getLocaleDirection('en-US')); // "ltr"
console.log(getLocaleDirection('es-ES')); // "ltr"
console.log(getLocaleDirection('fr-FR')); // "ltr"
console.log(getLocaleDirection('ja-JP')); // "ltr"
console.log(getLocaleDirection('zh-CN')); // "ltr"
// 右から左に表記する言語
console.log(getLocaleDirection('ar-SA')); // "rtl"
console.log(getLocaleDirection('he-IL')); // "rtl"
console.log(getLocaleDirection('fa-IR')); // "rtl"
console.log(getLocaleDirection('ur-PK')); // "rtl"注意事項
- 左横書きの言語(世界の大半の言語)では 'ltr'を返します
- 右横書きの言語(アラビア語、ヘブライ語、ペルシア語など)では 'rtl'を返します
- 正確な判定のために最新の Intl.LocaleAPI を使用します
- すべての BCP-47 ロケールコードで動作します
次のステップ
- GT クラスのメソッド getLocaleDirectionを使用する
- getLocalePropertiesで locale のプロパティを取得する
- isValidLocaleで locales を検証する
- getLocaleEmojiで locale の emoji を取得する
このガイドはどうでしたか?

