SuperAPI AI 工具集

rtl

前端与建站

查看项目

更新于 10-15 21:51

技能介绍

用途:在改动可能影响 RTL 语言用户时,审计并维护 stream-chat-react-native 的从右到左布局兼容性。仓库已支持希伯来语,阿拉伯语、波斯语、乌尔都语集成方常见。React Native 会通过 I18nManager.isRTL 自动翻转部分布局属性,但绝对定位、硬编码边距、transform、滑动手势和 SVG 图标需手动处理。

主要能力与规则:运行时读取方向,使用 I18nManager.isRTL,不要假设 LTR;优先使用 start/end 逻辑属性(paddingStart、marginEnd、borderStartWidth、insetStart)而非 left/right;flexDirection: 'row' 会自动翻转,不要用 'row-reverse' 手动补偿;Text 默认对齐随书写方向,仅在需要固定视觉边时设 textAlign;混排文本设 writingDirection 或使用 WritingDirectionAwareText;方向性图标(箭头、回复、发送、线程、搜索、消息气泡)需镜像,对称图标(对勾、铃铛、齿轮、爱心)不要镜像;滑动手势需将 translationX 乘以 I18nManager.isRTL ? -1 : 1;修复应保持 LTR 行为向后兼容。

使用方式:收到“RTL 审计”或“RTL 审查”请求时,按检查清单审阅 diff 或指定文件,并按 HIGH(可见破损)、MEDIUM(间距错位)、LOW(风格)分组返回发现。编写新代码时套用推荐模式。

适用场景:修改布局、定位、手势、transform、图标或文本的差异;已知易出问题文件包括 ScrollToBottomButton、Avatar 系列、MessageComposer、MessageList、MessageReactionPicker、Reply、AutoCompleteSuggestionItem、ImageGallery 等。

限制:主题中没有 RTL 专用令牌;he.json 是唯一内置 RTL 语言;I18nManager.forceRTL(true) 需重新加载 bundle 才生效,测试需 mock I18nManager.isRTL;视觉改动需在希伯来语或 forceRTL 下人工验证。具体安装命令与费用暂未提供。