# 泰语国际化支持实现 ## 概述 本项目已成功添加泰语国际化支持,现在支持三种语言: - 英语 (English) - 默认语言 - 中文简体 (中文) - 泰语 (ไทย) ## 实现内容 ### 1. 语言管理器更新 更新了 `LanguageManager.swift` 文件,在 `Language` 枚举中添加了泰语支持: ```swift enum Language: String, CaseIterable { case english = "en" case chinese = "zh-Hans" case thai = "th" // 新增泰语支持 var displayName: String { switch self { case .english: return "English" case .chinese: return "中文" case .thai: return "ไทย" // 泰语显示名称 } } var flag: String { switch self { case .english: return "🇺🇸" case .chinese: return "🇨🇳" case .thai: return "🇹🇭" // 泰国国旗 } } } ``` ### 2. 本地化文件 创建了泰语本地化文件 `MyQrCode/th.lproj/Localizable.strings`,包含以下内容: #### 主要功能翻译 - **扫描功能**: เครื่องสแกนบาร์โค้ด (Barcode Scanner) - **创建功能**: เครื่องสร้าง QR Code (QR Code Creator) - **历史记录**: ประวัติการบันทึก (History Records) - **设置**: การตั้งค่า (Settings) #### 用户界面元素 - **按钮**: สแกนใหม่ (Rescan), แชร์ (Share), ยกเลิก (Cancel) - **提示信息**: วาง QR code หรือบาร์โค้ดในกรอบ (Place QR code or barcode in the frame) - **错误信息**: ข้อผิดพลาดการสแกน (Scan Error) #### 权限和设置 - **相机权限**: ต้องการสิทธิ์กล้อง (Camera Permission Required) - **语言设置**: การตั้งค่าภาษา (Language Settings) - **应用信息**: ข้อมูลแอป (App Information) ### 3. 完整的本地化覆盖 泰语本地化文件包含了应用中的所有用户可见文本,包括: - 主界面文本 - 扫描器界面 - 二维码创建界面 - 历史记录界面 - 设置界面 - 错误信息和提示 - 输入表单标签 - 验证消息 ## 使用方法 ### 用户切换语言 1. 打开应用 2. 进入设置界面 3. 点击"语言设置" 4. 选择"ไทย" (泰语) 5. 语言将立即生效 ### 开发者添加新文本 当需要添加新的用户界面文本时,请: 1. 在 `en.lproj/Localizable.strings` 中添加英文版本 2. 在 `zh-Hans.lproj/Localizable.strings` 中添加中文版本 3. 在 `th.lproj/Localizable.strings` 中添加泰语版本 4. 在代码中使用 `"key".localized` 来获取本地化文本 ## 技术特点 ### 1. 自动语言检测 - 应用启动时自动检测用户的语言偏好 - 支持运行时语言切换 - 语言设置持久化保存 ### 2. 完整的本地化支持 - 所有用户界面文本都已本地化 - 支持格式化字符串 (如 `%@`, `%d`) - 错误信息和提示信息完整翻译 ### 3. 用户体验优化 - 语言切换即时生效 - 显示国旗图标便于识别 - 支持语言代码显示 ## 文件结构 ``` MyQrCode/ ├── en.lproj/ │ └── Localizable.strings # 英文本地化 ├── zh-Hans.lproj/ │ └── Localizable.strings # 中文本地化 ├── th.lproj/ │ └── Localizable.strings # 泰语本地化 (新增) ├── LanguageManager.swift # 语言管理器 (已更新) └── LanguageSettingsView.swift # 语言设置界面 ``` ## 测试建议 1. **功能测试**: 确保所有界面在不同语言下正常显示 2. **文本长度测试**: 泰语文本可能较长,确保UI布局适应 3. **特殊字符测试**: 确保泰语特殊字符正确显示 4. **语言切换测试**: 验证语言切换功能正常工作 ## 注意事项 1. **文本长度**: 泰语翻译通常比英文长,需要确保UI布局能够适应 2. **字体支持**: 确保应用使用的字体支持泰语字符 3. **文化适应性**: 某些概念可能需要根据泰国文化进行调整 4. **维护更新**: 添加新功能时需要同步更新所有语言版本 ## 未来扩展 如需添加更多语言支持,只需: 1. 在 `Language` 枚举中添加新语言 2. 创建对应的 `.lproj` 目录和 `Localizable.strings` 文件 3. 添加翻译内容 这种模块化的设计使得添加新语言支持变得简单高效。