用途:指导 Apple 平台 App 的本地化与国际化,核心是 Xcode 15 引入的 String Catalog(.xcstrings),它以单一 JSON 格式取代旧的 .strings 与 .stringsdict,便于维护、对比 diff 和接入翻译流程。
主要能力:覆盖 String Catalog 的创建与自动提取(从 SwiftUI 视图、String(localized:)、NSLocalizedString、Interface Builder、Info.plist、App Shortcuts 提取字符串);SwiftUI 的 LocalizedStringKey、LocalizedStringResource 与 AttributedString 本地化;UIKit/Foundation 的 NSLocalizedString、Bundle.localizedString;复数变化(各语言复数规则不同,如阿拉伯语有 6 种形式);设备与宽度变体;RTL 布局镜像与 leading/trailing 语义方向;DateFormatter、NumberFormatter、MeasurementFormatter 等区域感知格式化;App Shortcuts/App Intents 短语本地化;以及旧格式迁移。
必要用法:需在 Xcode 15+ 使用 .xcstrings,Xcode 26+ 才支持自动符号生成、#bundle 宏与 AI 注释生成;LocalizedStringResource 需 iOS 15+,App Shortcuts 本地化需 iOS 16+。构建设置需开启“Use Compiler to Extract Swift Strings”与“Localization Prefers String Catalogs”。翻译状态含 New、Needs Review、Reviewed、Stale。导出使用 XLIFF。
限制与注意:避免硬编码字符串、拼接已本地化字符串、使用 .left/.right、硬编码日期格式、漏写翻译注释或忽略复数形式;旧版 iOS 需退回 .strings。具体调试细节以官方文档为准。