英语、波斯语与阿拉伯语数字转换完全指南:RTLTMPro数字显示实战

📅 2026/8/24 8:50:36
英语、波斯语与阿拉伯语数字转换完全指南:RTLTMPro数字显示实战
英语、波斯语与阿拉伯语数字转换完全指南RTLTMPro数字显示实战【免费下载链接】RTLTMProRight-To-Left Text Mesh Pro for Unity. This plugin adds support for Persian and Arabic languages to TextMeshPro.项目地址: https://gitcode.com/gh_mirrors/rt/RTLTMProRTLTMPro是一款为 Unity 的 TextMeshPro 提供从右向左RTL语言支持的插件支持波斯语、阿拉伯语和希伯来语。它的核心亮点之一就是英语、波斯语与阿拉伯语数字的自动转换你在输入框里敲入的英文数字0-9会根据组件设置被实时转换为波斯语数字或阿拉伯语印度数字显示让中东地区玩家看到本土化的数字。为什么 RTL 文本需要数字转换中东市场的用户习惯阅读本地数字波斯语Farsi使用 ۰۱۲۳۴۵۶۷۸۹阿拉伯语Arabic使用 ٠١٢٣٤٥٦٧٨٩如果你的游戏或应用只是简单翻译了文字但价格、分数、日期仍显示12345本地用户会明显感到不地道。RTLTMPro 把数字转换做进了渲染管线无需手动复制粘贴转换后的文本输入英文数字即可自动呈现对应语种的数字字形。三种数字体系的映射关系定义在以下源码中可以自行查阅英文数字定义Assets/RTLTMPro/Scripts/Runtime/Types/EnglishNumbers.cs波斯语数字定义Assets/RTLTMPro/Scripts/Runtime/Types/FarsiNumbers.cs阿拉伯语数字定义Assets/RTLTMPro/Scripts/Runtime/Types/HinduNumbers.csRTLTMPro 数字转换的三个关键开关在 Inspector 的RTL Text Mesh Pro组件上控制数字行为的主要是三个布尔开关源码见Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs开关作用推荐场景Farsi勾选英文数字 → 波斯语数字不勾选英文数字 → 阿拉伯语数字按目标市场二选一Preserve Numbers勾选后不转换数字保持英文数字原样电话号码、版本号、代码Fix Tags转换时跳过富文本标签内部避免破坏 TMP 标签语法默认开启即可 记忆口诀Farsi 决定转成哪种Preserve Numbers 决定转不转Fix Tags 决定别改坏标签。数字的实际替换逻辑位于Assets/RTLTMPro/Scripts/Runtime/GlyphFixer.cs中的FixNumbers方法它逐位将英文数字替换为波斯语或阿拉伯语数字当开启 Fix Tags 时则走FixNumbersOutsideOfTags只转换富文本标签外部的数字保证size10这类标签不被误伤。实时编辑边打字边转换RTLTMPro 的一大优势是实时性——在输入框中直接输入英文数字右侧预览区立刻显示转换后的波斯语/阿拉伯语文本无需转换-复制-粘贴的繁琐流程这种实时预览对做本地化文案、日期格式、货币显示时尤其友好你随时可以看到Price: $199在波斯语环境中会变成قیمت: ۱۹۹之类的效果。数字转换实战清单把下面的配置步骤当作最快上手方法来执行确认字体资产包含对应数字字形创建 Font Asset 时把字符集设为 Unicode Range并从Assets/RTLTMPro/Ranges目录下的ArabicDigits.txt阿拉伯数字、ASCIIDigits.txt英文数字拷贝十六进制区间填入否则转换后的数字会显示为空白。创建 RTL 文本对象通过菜单GameObject/UI → RTLTMP创建组件或给现有 Text Mesh Pro UGUI 对象换成 RTL Text Mesh Pro 组件。选择数字风格面向伊朗玩家勾选Farsi面向阿拉伯国家玩家取消勾选Farsi需要保留原数字如订单号勾选Preserve Numbers验证富文本输入包含b123/b的文本确认数字被转换而标签未被破坏依赖 Fix Tags。多行与混合文本中英文混排、多行文本中数字同样会被逐位转换RTL 排版顺序也一并处理。常见问题速答Q为什么不转换数字了玩家看到的还是英文数字A检查是否勾选了Preserve Numbers——该开关优先级最高一旦开启就不做任何数字转换。Q转换后的数字显示为方框/空白A字体图集里没有对应字形。回到 Font Asset Creator把ArabicDigits.txt中的区间加入 Character Set 重新生成图集。Q富文本标签里的数字也被转换导致标签失效A确认Fix Tags处于勾选状态RTLTMPro 会跳过标签内部内容。小结RTLTMPro 用三个开关Farsi / Preserve Numbers / Fix Tags覆盖了英语、波斯语、阿拉伯语数字转换的全部常见需求并且全程实时生效、与 TextMeshPro 的富文本标签完全兼容。只需正确准备包含数字字形的字体资产你的 Unity 项目就能轻松面向中东市场展示地道的数字。✨【免费下载链接】RTLTMProRight-To-Left Text Mesh Pro for Unity. This plugin adds support for Persian and Arabic languages to TextMeshPro.项目地址: https://gitcode.com/gh_mirrors/rt/RTLTMPro创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考