getLocaleDirection
API Reference for the getLocaleDirection function
Overview
The getLocaleDirection function determines the text direction (left-to-right or right-to-left) for a locale without requiring a GT class instance.
It uses the Intl.Locale API to provide accurate direction detection for any valid BCP-47 locale code.
This function is most often used to set the dir attribute of a HTML element based on the locale.
import { getLocaleDirection } from 'generaltranslation';
const direction = getLocaleDirection('ar-SA');
console.log(direction); // "rtl"
const englishDirection = getLocaleDirection('en-US');
console.log(englishDirection); // "ltr"Reference
Parameters
Prop
Type
Parameters Description
| Parameter | Description |
|---|---|
locale | BCP-47 locale code to check text direction for |
Returns
'ltr' | 'rtl' - Text direction for the locale:
'ltr': Left-to-right (most languages including English, Spanish, French, German, Chinese, Japanese, etc.)'rtl': Right-to-left (Arabic, Hebrew, Persian, Urdu, and other Semitic/Middle Eastern languages)
Behavior
Direction Detection Algorithm
The function uses the Intl.Locale API's textInfo.direction property:
- Creates an
Intl.Localeobject for the provided locale - Accesses the
textInfo.directionproperty for language-specific direction - Returns
'rtl'for right-to-left languages,'ltr'for all others - Defaults to
'ltr'if the locale is invalid or causes an error
RTL Language Recognition
Automatically detects RTL languages including:
- Arabic (
ar,ar-SA,ar-EG,ar-AE, etc.) - Hebrew (
he,he-IL) - Persian/Farsi (
fa,fa-IR) - Urdu (
ur,ur-PK,ur-IN) - Pashto (
ps) - Sindhi (
sd) - Kurdish Sorani (
ckb) - And other RTL scripts
Error Handling
- Invalid or malformed locale codes default to
'ltr' - No exceptions thrown for invalid input
- Robust fallback behavior for edge cases
Examples
Basic Direction Detection
import { getLocaleDirection } from 'generaltranslation';
// Left-to-right languages
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"
// Right-to-left languages
console.log(getLocaleDirection('ar-SA')); // "rtl"
console.log(getLocaleDirection('he-IL')); // "rtl"
console.log(getLocaleDirection('fa-IR')); // "rtl"
console.log(getLocaleDirection('ur-PK')); // "rtl"Notes
- Returns
'ltr'for all left-to-right languages (most languages worldwide) - Returns
'rtl'for right-to-left languages (Arabic, Hebrew, Persian, etc.) - Uses the modern
Intl.LocaleAPI for accurate detection - Works with all BCP-47 locale codes
Next Steps
- Use GT class method
getLocaleDirection - Get locale properties with
getLocaleProperties - Validate locales with
isValidLocale - Get locale emoji with
getLocaleEmoji
How is this guide?