Skip to content
功能特色定价方案合作伙伴博客帮助关于我们联系我们
免费开始登录
返回博客
guides2026-07-145 分钟阅读

阿拉伯语菜单RTL用户体验:镜像布局、数字方向与价格标签

迪拜City Walk土耳其餐厅:45 AED保持LTR而描述按RTL流动。unicode-bidi: plaintext解决方案。

th

thMenu Team

thmenu.com

迪拜City Walk的一家土耳其餐厅上月推出阿拉伯语菜单。第一个投诉数小时内就来了:"Adana Kebap 45 AED"显示为难以辨认的乱码。问题不在翻译,而在于在RTL流中管理嵌入的拉丁数字。本指南通过真实生产实例介绍镜像布局、价格标签方向和多行阿拉伯语描述中的line-clamp行为。

镜像与价格方向

在HTML根设置dir="rtl",Flex和Grid自动镜像。产品名在右,价格在左 — 正是阿拉伯语读者所期望的。对于"45 AED",Unicode BiDi算法默认正确处理:数字LTR,上下文RTL。

问题始于像"5分钟内就绪"这样混合数字和阿拉伯字形的描述。换行时数字跳到错误一侧。解决方案:在描述元素上应用unicode-bidi: plaintext

Line-clamp与多行换行

卡片通常限制2-3行。拉丁文无问题,阿拉伯语最后一行经常消失或数字跳跃。原因:line-clamp先截断,BiDi后重排。

  • unicode-bidi: plaintext — 每行保持其方向
  • text-align: start — 按locale对齐
  • word-break: normal — 保留阿拉伯连字

数字与货币

沙特菜单显示"45 ر.س";阿联酋偏好"AED 45"。locale配置中位置位于currency.position。东阿拉伯数字(٠١٢٣٤٥٦٧٨٩)受老年受众欢迎,但海湾地区使用拉丁数字。

thMenu默认使用Intl.NumberFormat的numberingSystem: "latn",可为埃及和黎凡特覆盖为"arab"。

常见问题

dir="rtl"够吗?不,混合卡片需要unicode-bidi: plaintext。

阿拉伯数字必须吗?不,仅埃及/黎凡特。

镜像logo?品牌不,方向图标是。

觉得有用?分享给朋友。