用途:为移动应用提供本地化实现模式参考,覆盖 Android、iOS 与 Kotlin Multiplatform(KMP)三端。
主要能力:Android 侧包含 strings.xml 字符串资源、带位置参数的格式化、plurals 复数规则、Compose 的 stringResource 与 pluralStringResource、API 33+ 的按应用语言偏好(localeConfig 与 LocaleManager)、AppCompatDelegate 兼容旧版本,以及通过 supportsRtl 与 start/end 属性实现 RTL 布局。iOS 侧包含 Localizable.strings、Xcode 15+ 的 String Catalogs(.xcstrings)、String(localized:) 与 NSLocalizedString、SwiftUI 的 LocalizedStringKey、.stringsdict 复数规则及 SwiftUI RTL 支持。KMP 侧给出 expect/actual 的 StringProvider 接口,Android 用 getIdentifier 取资源,iOS 用 NSBundle.localizedStringForKey,并提及 moko-resources 库的依赖与 MR.strings 访问方式。
使用方式:按平台在对应资源目录维护字符串与复数定义,代码中通过平台 API 读取;语言切换使用 LocaleManager.applicationLocales 或 AppCompatDelegate.setApplicationLocales;RTL 使用 start/end 而非 left/right。测试可用伪本地化、adb shell settings put system user_locale "ar-SA" 与 adb shell am restart,以及 Compose UI 测试中设置 Locale("de") 验证长文本布局。
适用场景:需要多语言、复数与 RTL 支持的 Android、iOS 及 KMP 应用。
限制:资料未提供具体版本兼容范围、性能数据或完整项目配置,部分 API 需较新系统或 Xcode 版本。