getLocaleDirection
Справка по API функции getLocaleDirection
Обзор
Функция getLocaleDirection определяет направление текста (слева направо или справа налево) для заданной локали без необходимости создавать экземпляр класса GT.
Она использует API Intl.Locale для точного определения направления для любого корректного кода локали по стандарту BCP‑47.
Эту функцию чаще всего используют для установки атрибута dir HTML‑элемента в зависимости от локали.
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' — направление письма для локали:
'ltr': слева направо (большинство языков, включая английский, испанский, французский, немецкий, китайский, японский и т. д.)'rtl': справа налево (арабский, иврит, персидский, урду и другие семитские/ближневосточные языки)
Поведение
Алгоритм определения направления письма
Функция использует свойство textInfo.direction из API Intl.Locale:
- Создаёт объект
Intl.Localeдля переданной локали - Получает значение
textInfo.direction, определяющее направление письма для языка - Возвращает
'rtl'для языков с письмом справа налево,'ltr'— для всех остальных - По умолчанию возвращает
'ltr', если локаль некорректна или приводит к ошибке
Распознавание языков с письмом справа налево (RTL)
Автоматически определяет языки с письмом справа налево, включая:
- арабский (
ar,ar-SA,ar-EG,ar-AEи др.) - иврит (
he,he-IL) - персидский (фарси) (
fa,fa-IR) - урду (
ur,ur-PK,ur-IN) - пушту (
ps) - синдхи (
sd) - курдский (сорани) (
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'для языков с письмом справа налево (арабский, иврит, персидский и т. д.) - Использует современный API
Intl.Localeдля точного определения - Работает со всеми локалями по стандарту BCP‑47
Дальнейшие шаги
- Используйте метод класса GT
getLocaleDirection - Получайте свойства локали с помощью
getLocaleProperties - Валидируйте локали с помощью
isValidLocale - Получайте эмодзи локали с помощью
getLocaleEmoji
Насколько полезно это руководство?