# General Translation Platform: getLocaleDirection URL: https://generaltranslation.com/ru/docs/platform/core/reference/utility-functions/locales/get-locale-direction.mdx --- title: getLocaleDirection description: Возвращает направление текста для локали без экземпляра GT. Справочник API для getLocaleDirection. --- [`getLocaleDirection`](/docs/platform/core/reference/gt-class-methods/locales/get-locale-direction) — это отдельная вспомогательная функция из основной библиотеки General Translation, которая возвращает направление текста для локали — слева направо или справа налево. Чаще всего её используют для установки атрибута `dir` HTML-элемента в зависимости от локали. ## Обзор [#overview] Импортируйте `getLocaleDirection` напрямую из `generaltranslation` и вызовите её, передав код локали. Для этого не требуется API-ключ или экземпляр [GT](/docs/platform/core/reference/gt-class/constructor). Если нужен вариант на основе экземпляра, используйте метод [`getLocaleDirection`](/docs/platform/core/reference/gt-class-methods/locales/get-locale-direction) у экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor). ```typescript import { getLocaleDirection } from 'generaltranslation'; const direction = getLocaleDirection('ar-SA'); console.log(direction); // "rtl" const englishDirection = getLocaleDirection('en-US'); console.log(englishDirection); // "ltr" ``` Сигнатура: ```typescript getLocaleDirection(locale: string): 'ltr' | 'rtl' ``` ## Как это работает [#how-it-works] Функция использует свойство `textInfo.direction` API `Intl.Locale`: 1. Создаёт объект `Intl.Locale` для указанной локали. 2. Считывает свойство `textInfo.direction`, чтобы определить направление письма для данного языка. 3. Возвращает `'rtl'` для языков с написанием справа налево и `'ltr'` для всех остальных. 4. По умолчанию возвращает `'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'`. * При недопустимом вводе исключения не выбрасываются. ## Параметры [#parameters] | Параметр | Описание | Type | Необязательный | По умолчанию | | ------------------- | -------------------------------------------------------------- | -------- | -------------- | ------------ | | [`locale`](#locale) | Код локали BCP-47, для которой проверяется направление текста. | `string` | Нет | — | ### `locale` [#locale] **Тип** `string` · **Обязательно** Код локали в формате BCP-47, для которой нужно определить направление текста. ## Возвращает [#returns] **Тип** `'ltr' | 'rtl'` Направление текста для данной локали: * `'ltr'`: слева направо (большинство языков, включая английский, испанский, французский, немецкий, китайский и японский). * `'rtl'`: справа налево (арабский, иврит, персидский, урду и другие семитские и ближневосточные языки). ## Примеры [#examples] ```typescript 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" ``` ## Примечания [#notes] * Возвращает `'ltr'` для всех языков с написанием слева направо (а это большинство языков мира). * Возвращает `'rtl'` для языков с написанием справа налево (арабский, иврит, персидский и другие). * Использует современный API `Intl.Locale` для точного определения. * Работает со всеми кодами локалей BCP-47.