用途:为 iOS/macOS 应用生成国际化(i18n)基础设施,支持多语言。当用户要本地化应用、提到 i18n/国际化/本地化、询问 String Catalogs 或 .strings 文件,或需要支持从右到左(RTL)语言时触发。
生成前检查:用命令查找已有本地化文件(find . -name ".xcstrings" -o -name "Localizable.strings" 2>/dev/null | head -5、find . -name ".lproj" -type d 2>/dev/null | head -5);检查部署目标(String Catalogs 需 iOS 16+ / macOS 13+);定位 .xcodeproj。随后确认本地化方案(String Catalogs 推荐,或传统 .strings)、初始语言(默认 en,可加 es、de、fr、ja、zh-Hans 等)以及是否需要复数、设备专属字符串、SwiftUI 预览。
生成内容:Resources/Localizable.xcstrings 字符串目录,以及 Sources/Localization/ 下的 LocalizedStrings.swift(类型安全访问)、LocalizationManager.swift(运行时语言切换)、LocalizedPreview.swift(SwiftUI 预览辅助)。类型安全示例:enum L10n { static let appName = String(localized: "app_name") },在 SwiftUI 中用 Text(L10n.appName)。
集成步骤:Xcode 中 File > New > File 新建 String Catalog,命名 Localizable.xcstrings 并加入目标;在项目 Info 的 Localizations 中添加语言;从 .strings 迁移可右键选择 Migrate to String Catalog;SwiftUI 中 Text("Hello, World!") 自动本地化,UIKit 用 String(localized: "hello_world") 或 NSLocalizedString。
能力与最佳实践:支持复数规则、字符串插值、运行时语言切换、数字/日期/列表格式化(FormatStyle)与 RTL 布局(.environment(.layoutDirection, .rightToLeft));建议描述性键名并添加译者注释;测试可在 Scheme 的 Run Options 设置 App Language 与 App Region,或用 SwiftUI 预览指定 locale;导出翻译用 Product > Export Localizations... 生成 .xliff。限制:String Catalogs 需 iOS 16+/macOS 13+;具体价格、平台和效果资料未提供。