我们如何为 macOS 应用添加国际化和多语言支持
我们如何为 macOS 应用添加国际化和多语言支持 支持多语言对于拓展全球用户至关重要。本文将以我们的 macOS 应用 iTrans 为例,介绍我们如何通过 Swift 和 Xcode 实现国际化(i18n)和中文本地化。 1. 审查所有用户可见文本 第一步是查找代码中所有用户可见的字符串。我们在 SwiftUI 视图、模型和操作符中搜索所有硬编码文本。 2. 提取待本地化字符串 我们将所有硬编码字符串替换为支持本地化的 API: 在 SwiftUI 中, Text 视图使用 LocalizedStringKey 。 其他字符串使用 NSLocalizedString 。 Text(LocalizedStringKey("Unlock your iPhone")) // 或 NSLocalizedString("Untitled", comment: "File with no name") 3. 创建本地化文件 我们为每种支持的语言创建了 Localizable.strings 文件: en.lproj/Localizable.strings —— 英文 zh-Hans.lproj/Localizable.strings —— 简体中文 每个文件都包含所有用户可见文本的键值对。 英文示例: "Unlock your iPhone" = "Unlock your iPhone"; 中文示例: "Unlock your iPhone" = "解锁你的 iPhone"; 4. 将本地化文件添加到 Xcode 工程 为了让 Xcode 识别本地化文件: 我们通过项目导航器将 Localizable.strings 文件添加到工程。 在文件检查器中,启用本地化并勾选所有支持的语言。 5. 测试本地化效果 Xcode 让我们可以轻松测试不同语言下的应用效果: 在 Scheme 编辑器中,将应用语言设置为“简体中文”并运行应用。 我们还验证了所有界面文本在英文和中文下都能正确显示。 6. ...