# generaltranslation: General Translation Core SDK: getLocaleDirection URL: https://generaltranslation.com/zh/docs/core/functions/locales/get-locale-direction.mdx --- title: getLocaleDirection description: getLocaleDirection 函数的 API 参考文档 --- ## 概述 `getLocaleDirection` 函数用于确定某个区域设置的文本方向 (从左到右或从右到左) ,且无需 GT 类实例。 它使用 `Intl.Locale` API,可为任何有效的 BCP-47 区域设置代码准确检测文本方向。 此函数最常用于根据区域设置为 HTML 元素设置 `dir` 属性。 ```typescript import { getLocaleDirection } from 'generaltranslation'; const direction = getLocaleDirection('ar-SA'); console.log(direction); // "rtl" const englishDirection = getLocaleDirection('en-US'); console.log(englishDirection); // "ltr" ``` *** ## 参考 ### 参数 ### 参数说明 | 参数 | 说明 | | -------- | ----------------------- | | `locale` | 要检查其文本方向的 BCP-47 区域设置代码 | ### 返回值 `'ltr' | 'rtl'` - 该区域设置的文本方向: * `'ltr'`:从左到右 (大多数语言,包括英语、西班牙语、法语、德语、中文、日语等) * `'rtl'`:从右到左 (阿拉伯语、希伯来语、波斯语、乌尔都语,以及其他闪米特语和中东语言) *** ## 行为 ### 方向检测算法 该函数使用 `Intl.Locale` API 的 `textInfo.direction` 属性: 1. 为给定的区域设置创建一个 `Intl.Locale` 对象 2. 读取 `textInfo.direction` 属性以获取该语言的书写方向 3. 对从右向左书写的语言返回 `'rtl'`,其他语言均返回 `'ltr'` 4. 如果区域设置无效或触发错误,则默认返回 `'ltr'` ### RTL 语言识别 自动检测 RTL 语言,包括: * **阿拉伯语** (`ar`, `ar-SA`, `ar-EG`, `ar-AE` 等) * **希伯来语** (`he`, `he-IL`) * **波斯语/法尔西语** (`fa`, `fa-IR`) * **乌尔都语** (`ur`, `ur-PK`, `ur-IN`) * **普什图语** (`ps`) * **信德语** (`sd`) * **索拉尼库尔德语** (`ckb`) * 以及其他 RTL 书写系统 ### 错误处理 * 无效或格式不正确的区域设置代码默认返回 `'ltr'` * 对无效输入不会抛出异常 * 对各种边界情况都能稳健回退 *** ## 示例 ### 基本方向判断 ```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" ``` *** ## 说明 * 对所有从左到右书写的语言,返回 `'ltr'` (世界上大多数语言) * 对所有从右到左书写的语言,返回 `'rtl'` (阿拉伯语、希伯来语、波斯语等) * 使用现代 `Intl.Locale` API 进行准确识别 * 适用于所有 BCP-47 区域设置代码 ## 后续步骤 * 使用 GT 类方法 [`getLocaleDirection`](/docs/core/class/methods/locales/get-locale-direction) * 使用 [`getLocaleProperties`](/docs/core/functions/locales/get-locale-properties) 获取区域设置信息 * 使用 [`isValidLocale`](/docs/core/functions/locales/is-valid-locale) 验证区域设置是否有效 * 使用 [`getLocaleEmoji`](/docs/core/functions/locales/get-locale-emoji) 获取区域设置对应的表情符号