SuperAPI AI 工具集

i18n-mobile

前端与建站

查看项目

更新于 10-15 20:31

技能介绍

用途:为移动应用做国际化与本地化,覆盖 Android(Kotlin/Compose)、iOS(Swift/SwiftUI)和 React Native/Expo。核心原则是 UI 字符串来自平台资源或 RN 的 i18n 方案,而非视图中的字面量;使用系统 locale,并支持产品内的语言覆盖。

主要能力:Android 使用 res/values/strings.xml 与 values-pt-rBR 等本地化目录,复数用 <plurals> 的 quantity(one/other),Compose 用 stringResource、pluralStringResource,支持 LocaleList 与 per-app language(AppCompatDelegate.setApplicationLocales),预览用 tools:locale,调试用伪 locale(en-XA),布局用 start/end 与 autoMirrored。iOS 新代码用 String Catalog(.xcstrings)与 LocalizedStringResource/String(localized:),复数用 catalog variations,格式化用 locale 感知的 Date.FormatStyle,RTL 用 layoutDirection 与 Trailing/Leading,Widget 需在扩展中共享同一 catalog/App Group。React Native/Expo 用 expo-localization 获取设备 locale/RTL,目录可用 i18n-js、react-i18next 或 i18next(以仓库现有为准),I18nManager.forceRTL 需与 locale 对齐,必要时重载。

使用方式:日期、时间、数字、货币一律用平台格式化器(DateFormatter、NumberFormatter、DateTimeFormatter、Intl)并传入当前 locale;locale 回退链如 pt-BR → pt → default,生产 UI 不得出现原始 key;不翻译 ID、token、日志、API 名称。与后端共享 locale 时发送 Accept-Language 或 X-Locale/用户资料字段,错误用稳定 code 在客户端翻译,推送/邮件用资料中保存的 locale。

适用场景:移动端多语言 UI、复数与 RTL 适配、本地化格式显示、应用内语言切换。

限制与反模式:避免拼接句子、String(format:) 参数顺序硬编码、视图中 if language == 判断、UI 用 en_US_POSIX 格式化、遗漏 RTL 或 zero/few/many 复数、在 ViewModel 中为日志翻译。资料未提供具体安装命令、收费或平台支持范围。