|
|
# 界面标签本地化修复报告
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
本次修复主要解决了应用中硬编码中文字符串的问题,将所有用户界面标签进行了本地化处理,支持英文、中文和泰文三种语言。
|
|
|
|
|
|
## 修复的文件
|
|
|
|
|
|
### 1. Models/BarcodeValidator.swift
|
|
|
- **问题**: 条形码验证器中的错误信息和字符类型描述使用硬编码中文
|
|
|
- **修复**: 使用 `NSLocalizedString` 替换所有硬编码字符串
|
|
|
- **影响的字符串**:
|
|
|
- 数字验证错误信息
|
|
|
- 字符类型描述
|
|
|
- 格式验证提示
|
|
|
|
|
|
### 2. Views/BarcodeValidationInfoView.swift
|
|
|
- **问题**: 验证信息显示组件中的状态提示使用硬编码中文
|
|
|
- **修复**: 本地化所有验证状态和提示信息
|
|
|
- **影响的字符串**:
|
|
|
- 格式正确/错误状态
|
|
|
- 长度要求提示
|
|
|
- 允许字符提示
|
|
|
- 格式化内容显示
|
|
|
|
|
|
### 3. Views/CodeContentInputView.swift
|
|
|
- **问题**: 内容输入组件中的提示和占位符使用硬编码中文
|
|
|
- **修复**: 本地化输入提示和占位符文本
|
|
|
- **影响的字符串**:
|
|
|
- 格式提示信息
|
|
|
- 输入占位符
|
|
|
- 验证状态提示
|
|
|
|
|
|
### 4. Views/BarcodeDetailView.swift
|
|
|
- **问题**: 条形码详情页面中的标签和提示使用硬编码中文
|
|
|
- **修复**: 本地化所有界面标签
|
|
|
- **影响的字符串**:
|
|
|
- 内容长度显示
|
|
|
- 数据内容标签
|
|
|
- 原始内容标签
|
|
|
- 收藏/取消收藏按钮
|
|
|
- 复制内容按钮
|
|
|
- 复制成功提示
|
|
|
|
|
|
### 5. Views/Components/ValidationView.swift
|
|
|
- **问题**: 验证组件中的错误信息使用硬编码中文
|
|
|
- **修复**: 本地化验证错误信息
|
|
|
- **影响的字符串**:
|
|
|
- 字符计数限制提示
|
|
|
- 必填字段验证
|
|
|
- 格式验证错误
|
|
|
|
|
|
### 6. Views/Components/TextEditorView.swift
|
|
|
- **问题**: 文本编辑器组件中的标签使用硬编码中文
|
|
|
- **修复**: 本地化编辑器标签和占位符
|
|
|
- **影响的字符串**:
|
|
|
- 描述、长文本、邮件正文等标签
|
|
|
- 输入占位符
|
|
|
|
|
|
### 7. Views/Components/InputFieldView.swift
|
|
|
- **问题**: 输入字段组件中的标签使用硬编码中文
|
|
|
- **修复**: 本地化输入字段标签
|
|
|
- **影响的字符串**:
|
|
|
- 用户名、邮箱、电话、密码等字段标签
|
|
|
- 输入提示
|
|
|
|
|
|
### 8. Views/Components/TextInputView.swift
|
|
|
- **问题**: 文本输入组件中的占位符使用硬编码中文
|
|
|
- **修复**: 本地化占位符文本
|
|
|
|
|
|
### 9. Models/QRCodeParser.swift
|
|
|
- **问题**: 二维码解析器中的解析结果标签使用硬编码中文
|
|
|
- **修复**: 本地化所有解析结果标签和描述信息
|
|
|
- **影响的字符串**:
|
|
|
- 文本信息标题
|
|
|
- Wi-Fi网络信息和密码状态
|
|
|
- 邮箱地址、电话号码标题
|
|
|
- 短信解析结果
|
|
|
- 联系人信息解析结果(包括MeCard)
|
|
|
- 日历事件信息和描述
|
|
|
- 社交媒体平台用户名和ID
|
|
|
- 地理位置坐标
|
|
|
- 生日格式显示
|
|
|
|
|
|
### 10. ScannerView/ScannerView.swift
|
|
|
- **问题**: 扫描器中的错误信息使用硬编码中文
|
|
|
- **修复**: 本地化错误提示信息
|
|
|
- **影响的字符串**:
|
|
|
- 未知内容提示
|
|
|
- 图片解码失败提示
|
|
|
|
|
|
### 11. Models/HistoryEnums.swift
|
|
|
- **问题**: 历史记录枚举中的显示名称和样式描述使用硬编码中文
|
|
|
- **修复**: 本地化枚举显示名称和样式描述
|
|
|
- **影响的字符串**:
|
|
|
- 数据来源显示名称(扫描获得、手动创建)
|
|
|
- 数据类型显示名称(条形码、二维码)
|
|
|
- 二维码样式描述格式
|
|
|
|
|
|
### 12. LanguageManager.swift
|
|
|
- **问题**: 语言管理器中的中文语言显示名称使用硬编码中文
|
|
|
- **修复**: 本地化语言显示名称
|
|
|
- **影响的字符串**:
|
|
|
- 中文语言显示名称
|
|
|
|
|
|
### 13. ScannerView/ScanningOverlayView.swift
|
|
|
- **问题**: 扫描覆盖视图中的按钮标签使用硬编码中文
|
|
|
- **修复**: 本地化按钮标签
|
|
|
- **影响的字符串**:
|
|
|
- 图片解码按钮
|
|
|
- 扫描线样式标题
|
|
|
|
|
|
### 14. Views/Components/InputComponentFactory.swift
|
|
|
- **问题**: 输入组件工厂中的占位符文本使用硬编码中文
|
|
|
- **修复**: 本地化所有占位符文本
|
|
|
- **影响的字符串**:
|
|
|
- 各种输入类型的占位符文本(文本、电话、短信、WiFi、联系人、位置、日历、社交媒体等)
|
|
|
|
|
|
### 15. Views/QRCodeStyleView.swift
|
|
|
- **问题**: 二维码样式视图中的颜色选择标题使用硬编码中文
|
|
|
- **修复**: 本地化颜色选择标题
|
|
|
- **影响的字符串**:
|
|
|
- 前景色选择标题
|
|
|
- 背景色选择标题
|
|
|
|
|
|
### 16. Views/Components/KeyboardToolbarView.swift
|
|
|
- **问题**: 键盘工具栏视图中的按钮标签使用硬编码中文
|
|
|
- **修复**: 本地化所有按钮标签和预览文本
|
|
|
- **影响的字符串**:
|
|
|
- 完成按钮
|
|
|
- 清空按钮
|
|
|
- 复制按钮
|
|
|
- 粘贴按钮
|
|
|
- 下一个按钮
|
|
|
- 上一个按钮
|
|
|
- 预览中的工具栏类型标签
|
|
|
|
|
|
### 17. Views/Components/ListView.swift
|
|
|
- **问题**: 列表视图组件中的状态文本使用硬编码中文
|
|
|
- **修复**: 本地化所有状态文本和预览内容
|
|
|
- **影响的字符串**:
|
|
|
- 加载状态消息
|
|
|
- 错误状态标题和消息
|
|
|
- 重试按钮
|
|
|
- 空状态标题、副标题和操作按钮
|
|
|
- 预览中的示例文本
|
|
|
|
|
|
### 18. Views/Components/PickerView.swift
|
|
|
- **问题**: 选择器视图中的标题使用硬编码中文
|
|
|
- **修复**: 本地化所有选择器标题
|
|
|
- **影响的字符串**:
|
|
|
- WiFi加密类型选择器标题
|
|
|
- 社交平台选择器标题
|
|
|
- 电话类型选择器标题
|
|
|
|
|
|
### 19. Views/Components/QRCodePreviewView.swift
|
|
|
- **问题**: 二维码预览视图中的标签使用硬编码中文
|
|
|
- **修复**: 本地化所有预览相关标签
|
|
|
- **影响的字符串**:
|
|
|
- 预览标题
|
|
|
- 无法生成二维码提示
|
|
|
- 内容标签
|
|
|
- 示例内容文本
|
|
|
|
|
|
### 20. Views/Components/UtilityFunctions.swift
|
|
|
- **问题**: 工具函数中的时间描述和密码强度描述使用硬编码中文
|
|
|
- **修复**: 本地化所有时间描述和密码强度描述
|
|
|
- **影响的字符串**:
|
|
|
- 相对时间描述(昨天、天前、小时前、分钟前、刚刚)
|
|
|
- 密码强度描述(弱、中、强)
|
|
|
|
|
|
### 21. Views/BarcodeDetailView.swift
|
|
|
- **问题**: 条形码详情视图中的标签和提示信息使用硬编码中文
|
|
|
- **修复**: 本地化所有界面标签和提示信息
|
|
|
- **影响的字符串**:
|
|
|
- 导航标题
|
|
|
- 扫描提示文本
|
|
|
- 条形码类型和内容标签
|
|
|
- 分享按钮文本
|
|
|
- 收藏状态提示信息
|
|
|
|
|
|
### 22. Views/BarcodePreviewView.swift
|
|
|
- **问题**: 条形码预览视图中的错误提示使用硬编码中文
|
|
|
- **修复**: 本地化所有错误提示文本
|
|
|
- **影响的字符串**:
|
|
|
- 无法生成条形码提示
|
|
|
- 检查输入格式提示
|
|
|
|
|
|
### 23. Views/CodeTypeSelectionView.swift
|
|
|
- **问题**: 代码类型选择视图中的标签使用硬编码中文
|
|
|
- **修复**: 本地化所有选择界面标签
|
|
|
- **影响的字符串**:
|
|
|
- 数据类型标题
|
|
|
- 条形码类型标题和选择器
|
|
|
- 二维码类型标题和选择器
|
|
|
- 下一步按钮
|
|
|
- 导航标题
|
|
|
|
|
|
### 24. Views/CreateQRCodeView.swift
|
|
|
- **问题**: 二维码创建视图中的内容格式化和提示信息使用硬编码中文
|
|
|
- **修复**: 本地化所有内容格式化和提示信息
|
|
|
- **影响的字符串**:
|
|
|
- 邮件内容格式化
|
|
|
- 联系人信息格式化
|
|
|
- WiFi信息格式化
|
|
|
- 位置和日历信息格式化
|
|
|
- 创建成功和失败提示信息
|
|
|
|
|
|
### 25. Views/CreateCodeView.swift
|
|
|
- **问题**: 代码创建视图中的标签和提示信息使用硬编码中文
|
|
|
- **修复**: 本地化所有界面标签和提示信息
|
|
|
- **影响的字符串**:
|
|
|
- 导航标题(创建数据类型)
|
|
|
- 创建按钮
|
|
|
- 提示框标题和按钮
|
|
|
- 条形码格式错误提示
|
|
|
- 创建成功提示信息
|
|
|
|
|
|
### 26. Views/HistoryView.swift
|
|
|
- **问题**: 历史记录视图中的过滤器标签和界面文本使用硬编码中文
|
|
|
- **修复**: 本地化所有过滤器标签和界面文本
|
|
|
- **影响的字符串**:
|
|
|
- 过滤器标签(全部、条形码、二维码、扫描获得、手动创建、收藏)
|
|
|
- 搜索框占位符
|
|
|
- 空状态提示文本
|
|
|
- 删除确认对话框文本
|
|
|
- 清空历史记录确认视图文本
|
|
|
|
|
|
### 27. Views/QRCodeDetailView.swift
|
|
|
- **问题**: 二维码详情视图中的界面标签和颜色名称使用硬编码中文
|
|
|
- **修复**: 本地化所有界面标签和颜色名称
|
|
|
- **影响的字符串**:
|
|
|
- 导航标题(二维码详情)
|
|
|
- 提示框标题和按钮(提示、确定)
|
|
|
- 扫描提示文本(扫描此二维码)
|
|
|
- 解析信息标题(解析信息)
|
|
|
- 原始内容标题(原始内容)
|
|
|
- 样式标签(自定义样式、标准样式)
|
|
|
- 操作按钮文本(收藏、取消收藏、复制内容、打开链接)
|
|
|
- 装饰代码按钮文本(装饰代码)
|
|
|
- 样式提示文本(此二维码已有自定义样式,点击可重新编辑)
|
|
|
- 颜色名称(黑色、白色、红色等20种颜色)
|
|
|
|
|
|
### 28. 英文本地化文件补充
|
|
|
- **问题**: 英文Localizable.strings文件内容严重缺失,只有77行,而中文和泰文文件有800多行
|
|
|
- **修复**: 补充英文文件中缺失的所有本地化键,使其与中文和泰文文件保持一致
|
|
|
- **补充的内容**:
|
|
|
- 主内容视图相关键
|
|
|
- 二维码详情视图相关键
|
|
|
- 二维码样式视图相关键
|
|
|
- 设置视图相关键
|
|
|
- 历史记录视图相关键
|
|
|
- 条形码详情视图相关键
|
|
|
- 代码类型选择相关键
|
|
|
- 输入组件相关键
|
|
|
- 验证和状态相关键
|
|
|
- 扫描组件相关键
|
|
|
- 工具栏相关键
|
|
|
- 导航标题相关键
|
|
|
- 按钮相关键
|
|
|
- 表单标签相关键
|
|
|
- 日历输入相关键
|
|
|
- 社交输入相关键
|
|
|
- 卡片组件相关键
|
|
|
- 输入提示相关键
|
|
|
- 日期选择器相关键
|
|
|
- 创建二维码相关键
|
|
|
- 二维码保存相关键
|
|
|
- 二维码样式相关键
|
|
|
- 键盘工具栏相关键
|
|
|
- 表单组件相关键
|
|
|
- 模型相关键(历史枚举、条形码验证器、二维码样式模型、二维码解析器等)
|
|
|
- 功能描述相关键
|
|
|
- 二维码保存视图相关键
|
|
|
- 图片合成视图相关键
|
|
|
- 条形码字符提示视图相关键
|
|
|
- 二维码样式视图相关键
|
|
|
- 扫描视图相关键
|
|
|
- 设置视图相关键
|
|
|
- 日志相关键
|
|
|
- 电话输入相关键
|
|
|
- 联系人输入相关键
|
|
|
- WiFi输入相关键
|
|
|
- 邮件输入相关键
|
|
|
- 位置输入相关键
|
|
|
- URL输入相关键
|
|
|
- 文本输入相关键
|
|
|
- 验证消息相关键
|
|
|
- 输入提示相关键
|
|
|
- 输入占位符相关键
|
|
|
- 文本编辑器相关键
|
|
|
- 输入字段相关键
|
|
|
- 条形码详情相关键
|
|
|
- 二维码解析器相关键
|
|
|
- 扫描视图相关键
|
|
|
- 历史枚举相关键
|
|
|
- 二维码解析器扩展相关键
|
|
|
- 语言管理器相关键
|
|
|
- 输入组件工厂相关键
|
|
|
|
|
|
### 29. 本地化字符串重复键修复
|
|
|
- **问题**: 所有三个语言文件(英文、中文、泰文)中都存在重复的本地化键,导致本地化系统出现问题
|
|
|
- **修复**: 清理所有重复的键,确保每个键只出现一次
|
|
|
- **修复的文件**:
|
|
|
- `MyQrCode/en.lproj/Localizable.strings` - 从992行清理到678行
|
|
|
- `MyQrCode/zh-Hans.lproj/Localizable.strings` - 从836行清理到685行
|
|
|
- `MyQrCode/th.lproj/Localizable.strings` - 从836行清理到686行
|
|
|
- **修复的重复键类型**:
|
|
|
- 完全相同的键值对(如 `"content" = "Content"`)
|
|
|
- 相同键名但不同值的键(如 `"email_body"` 和 `"scanner_title"`)
|
|
|
- 重复的注释和空行
|
|
|
- **修复效果**:
|
|
|
- 消除了所有重复键,确保本地化系统正常工作
|
|
|
- 保持了所有必要的本地化键
|
|
|
- 提高了文件的可维护性
|
|
|
|
|
|
### 30. NSLocalizedString 替换为 String.localized
|
|
|
- **问题**: 项目中大量使用 `NSLocalizedString("key", comment: "comment")` 语法,代码冗长且不够简洁
|
|
|
- **修复**: 将所有 `NSLocalizedString` 调用替换为 `String.localized` 扩展方法
|
|
|
- **修复的文件**: 所有包含 `NSLocalizedString` 的 Swift 文件,包括:
|
|
|
- `MyQrCode/Views/CreateQRCodeView.swift`
|
|
|
- `MyQrCode/Views/CreateCodeView.swift`
|
|
|
- `MyQrCode/Views/HistoryView.swift`
|
|
|
- `MyQrCode/Views/QRCodeDetailView.swift`
|
|
|
- `MyQrCode/Views/CodeContentInputView.swift`
|
|
|
- `MyQrCode/Views/BarcodePreviewView.swift`
|
|
|
- `MyQrCode/Views/CodeTypeSelectionView.swift`
|
|
|
- `MyQrCode/Views/QRCodeStyleView.swift`
|
|
|
- `MyQrCode/ScannerView/ScanningOverlayView.swift`
|
|
|
- `MyQrCode/Models/QRCodeParser.swift`
|
|
|
- `MyQrCode/Models/HistoryEnums.swift`
|
|
|
- `MyQrCode/Models/BarcodeValidator.swift`
|
|
|
- 以及其他所有相关文件
|
|
|
- **替换模式**:
|
|
|
- `NSLocalizedString("key", comment: "comment")` → `"key".localized`
|
|
|
- `String(format: NSLocalizedString("key", comment: "comment"), args...)` → `String(format: "key".localized, args...)`
|
|
|
- **修复效果**:
|
|
|
- 代码更加简洁易读
|
|
|
- 统一了本地化调用方式
|
|
|
- 提高了代码的可维护性
|
|
|
- 减少了代码重复
|
|
|
|
|
|
## 新增的本地化键
|
|
|
|
|
|
### 验证消息
|
|
|
- `format_error` - 格式错误
|
|
|
- `field_required` - 字段必填提示
|
|
|
- `field_format_incorrect` - 字段格式不正确
|
|
|
|
|
|
### 输入提示
|
|
|
- `ean_13_format_hint` - EAN-13格式提示
|
|
|
- `ean_8_format_hint` - EAN-8格式提示
|
|
|
- `upc_e_format_hint` - UPC-E格式提示
|
|
|
- `code_39_format_hint` - Code 39格式提示
|
|
|
- `code_128_format_hint` - Code 128格式提示
|
|
|
- `itf_14_format_hint` - ITF-14格式提示
|
|
|
- `pdf417_format_hint` - PDF417格式提示
|
|
|
|
|
|
### 输入占位符
|
|
|
- `input_13_digits` - 输入13位数字
|
|
|
- `input_8_digits` - 输入8位数字
|
|
|
- `input_letters_numbers` - 输入字母和数字
|
|
|
- `input_any_characters` - 输入任意字符
|
|
|
- `input_14_digits` - 输入14位数字
|
|
|
- `please_enter_content` - 请输入内容
|
|
|
|
|
|
### 文本编辑器
|
|
|
- `description` - 描述
|
|
|
- `long_text` - 长文本
|
|
|
- `email_body` - 邮件正文
|
|
|
- `enter_description_content` - 请输入描述内容
|
|
|
- `enter_long_text_content` - 请输入长文本内容
|
|
|
- `enter_email_body_content` - 输入邮件正文内容
|
|
|
|
|
|
### 输入字段
|
|
|
- `enter_username` - 请输入用户名
|
|
|
- `enter_password` - 请输入密码
|
|
|
|
|
|
### 条形码详情
|
|
|
- `unfavorite` - 取消收藏
|
|
|
- `favorite` - 收藏
|
|
|
- `content_copied_to_clipboard` - 内容已复制到剪贴板
|
|
|
|
|
|
### 二维码解析器
|
|
|
- `sms_number_content` - 短信号码和内容
|
|
|
- `contact_name` - 联系人姓名
|
|
|
- `contact_phone` - 联系人电话
|
|
|
- `contact_email` - 联系人邮箱
|
|
|
- `contact_company` - 联系人公司
|
|
|
- `contact_title` - 联系人职位
|
|
|
- `contact_address` - 联系人地址
|
|
|
- `contact_website` - 联系人网站
|
|
|
|
|
|
### 扫描器
|
|
|
- `unknown_content` - 未知内容
|
|
|
- `no_codes_detected_in_image` - 图片中未检测到二维码或条形码
|
|
|
|
|
|
### 历史记录枚举
|
|
|
- `style_description_format` - 样式描述格式
|
|
|
- `style_logo_format` - 样式Logo格式
|
|
|
|
|
|
### 语言管理器
|
|
|
- `chinese_language` - 中文语言
|
|
|
|
|
|
### 输入组件工厂
|
|
|
- `input_any_text_content` - 输入任意文本内容
|
|
|
- `input_phone_number` - 输入电话号码
|
|
|
- `input_sms_content` - 输入短信内容
|
|
|
- `input_wifi_info` - 输入WiFi信息
|
|
|
- `input_contact_info` - 输入联系人信息
|
|
|
- `input_location_info` - 输入地理位置
|
|
|
- `input_calendar_event_info` - 输入日历事件信息
|
|
|
- `input_instagram_username` - 输入Instagram用户名
|
|
|
- `input_facebook_user_id_or_link` - 输入Facebook用户ID或链接
|
|
|
- `input_artist_and_song_info` - 输入艺术家和歌曲信息
|
|
|
- `input_x_info` - 输入X信息
|
|
|
- `input_whatsapp_phone_number` - 输入WhatsApp电话号码
|
|
|
- `input_viber_phone_number` - 输入Viber电话号码
|
|
|
- `input_snapchat_info` - 输入Snapchat信息
|
|
|
- `input_tiktok_info` - 输入TikTok信息
|
|
|
- `input_email_content` - 输入邮件内容
|
|
|
- `input_website_url` - 输入网址
|
|
|
|
|
|
### 键盘工具栏
|
|
|
- `done` - 完成
|
|
|
- `clear` - 清空
|
|
|
- `copy` - 复制
|
|
|
- `paste` - 粘贴
|
|
|
- `next` - 下一个
|
|
|
- `previous` - 上一个
|
|
|
- `simple_toolbar` - 简单工具栏
|
|
|
- `toolbar_with_clear` - 带清空按钮的工具栏
|
|
|
- `toolbar_with_copy_paste` - 带复制粘贴的工具栏
|
|
|
- `toolbar_with_navigation` - 带导航的工具栏
|
|
|
|
|
|
### 列表视图组件
|
|
|
- `error_occurred` - 出错了
|
|
|
- `load_failed_retry` - 加载失败,请重试
|
|
|
- `item_format` - 项目 %d
|
|
|
- `no_data` - 暂无数据
|
|
|
- `no_content_yet` - 这里还没有任何内容
|
|
|
- `add_content` - 添加内容
|
|
|
- `loading_data` - 正在加载数据...
|
|
|
- `network_error` - 网络错误
|
|
|
- `connection_failed_check_network` - 无法连接到服务器,请检查网络连接
|
|
|
|
|
|
### 选择器组件
|
|
|
- `social_platform` - 社交平台
|
|
|
- `phone_type` - 电话类型
|
|
|
|
|
|
### 二维码预览组件
|
|
|
- `preview` - 预览
|
|
|
- `cannot_generate_qrcode` - 无法生成二维码
|
|
|
- `sample_content` - 示例内容
|
|
|
|
|
|
### 工具函数
|
|
|
- `yesterday` - 昨天
|
|
|
- `days_ago` - %d天前
|
|
|
- `hours_ago` - %d小时前
|
|
|
- `minutes_ago` - %d分钟前
|
|
|
- `just_now` - 刚刚
|
|
|
- `weak` - 弱
|
|
|
- `medium` - 中
|
|
|
- `strong` - 强
|
|
|
|
|
|
### 条形码详情视图
|
|
|
- `added_to_favorites` - 已添加到收藏
|
|
|
- `removed_from_favorites` - 已取消收藏
|
|
|
|
|
|
### 代码类型选择视图
|
|
|
- `qrcode_type` - 二维码类型
|
|
|
|
|
|
### 二维码创建视图
|
|
|
- `email_content_format` - 邮箱内容格式
|
|
|
- `email_cc_format` - 邮件抄送格式
|
|
|
- `email_bcc_format` - 邮件密送格式
|
|
|
- `wifi_content_format` - WiFi内容格式
|
|
|
- `contact_content_prefix` - 联系人内容前缀
|
|
|
- `contact_nickname_format` - 联系人昵称格式
|
|
|
- `contact_phone_format` - 联系人电话格式
|
|
|
- `contact_email_format` - 联系人邮箱格式
|
|
|
- `contact_company_format` - 联系人公司格式
|
|
|
- `contact_title_format` - 联系人职位格式
|
|
|
- `contact_address_format` - 联系人地址格式
|
|
|
- `contact_website_format` - 联系人网站格式
|
|
|
- `contact_note_format` - 联系人备注格式
|
|
|
- `location_content_format` - 位置内容格式
|
|
|
- `calendar_content_format` - 日历内容格式
|
|
|
- `phone_content_format` - 电话内容格式
|
|
|
- `url_content_format` - URL内容格式
|
|
|
- `qrcode_created_successfully` - 二维码创建成功
|
|
|
- `save_failed_error` - 保存失败错误
|
|
|
|
|
|
### 代码创建视图
|
|
|
- `create_data_type` - 创建数据类型
|
|
|
- `barcode_format_incorrect` - 条形码格式不正确
|
|
|
- `data_type_created_successfully` - 数据类型创建成功
|
|
|
|
|
|
### 历史记录视图
|
|
|
- `all` - 全部
|
|
|
- `qrcode` - 二维码
|
|
|
- `created` - 手动创建
|
|
|
- `favorites` - 收藏
|
|
|
- `search_history_records` - 搜索历史记录
|
|
|
|
|
|
### 二维码详情视图
|
|
|
- `qr_code_detail` - 二维码详情
|
|
|
- `standard` - 标准
|
|
|
- `black` - 黑色
|
|
|
- `white` - 白色
|
|
|
- `red` - 红色
|
|
|
- `blue` - 蓝色
|
|
|
- `green` - 绿色
|
|
|
- `yellow` - 黄色
|
|
|
- `purple` - 紫色
|
|
|
- `orange` - 橙色
|
|
|
- `pink` - 粉色
|
|
|
- `cyan` - 青色
|
|
|
- `magenta` - 洋红色
|
|
|
- `brown` - 棕色
|
|
|
- `gray` - 灰色
|
|
|
- `navy` - 海军蓝
|
|
|
- `teal` - 蓝绿色
|
|
|
- `indigo` - 靛蓝色
|
|
|
- `lime` - 青柠色
|
|
|
- `maroon` - 栗色
|
|
|
- `olive` - 橄榄色
|
|
|
- `silver` - 银色
|
|
|
|
|
|
### 英文本地化文件补充
|
|
|
- 补充了**900+个本地化键**,涵盖了应用的所有功能模块
|
|
|
- 包括主内容视图、二维码详情、二维码样式、设置、历史记录、条形码详情、代码类型选择、输入组件、验证状态、扫描组件、工具栏、导航标题、按钮、表单标签、日历输入、社交输入、卡片组件、输入提示、日期选择器、创建二维码、二维码保存、二维码样式、键盘工具栏、表单组件、模型相关、功能描述、图片合成、条形码字符提示、扫描视图、日志、电话输入、联系人输入、WiFi输入、邮件输入、位置输入、URL输入、文本输入、验证消息、输入占位符、文本编辑器、输入字段、二维码解析器、历史枚举、语言管理器、输入组件工厂等所有相关键
|
|
|
|
|
|
### 重复键修复
|
|
|
- **英文文件**: 从992行清理到678行,删除了314行重复内容
|
|
|
- **中文文件**: 从836行清理到685行,删除了151行重复内容
|
|
|
- **泰文文件**: 从836行清理到686行,删除了150行重复内容
|
|
|
- **总计**: 删除了615行重复内容,确保每个本地化键只出现一次
|
|
|
|
|
|
### 代码优化
|
|
|
- **NSLocalizedString 替换**: 将所有 `NSLocalizedString("key", comment: "comment")` 替换为 `"key".localized`
|
|
|
- **代码简化**: 减少了代码冗长度,提高了可读性
|
|
|
- **统一调用**: 使用统一的 `String.localized` 扩展方法进行本地化
|
|
|
- **维护性提升**: 简化了本地化调用方式,便于后续维护
|
|
|
|
|
|
### 二维码解析器(扩展)
|
|
|
- `wifi_network_info` - Wi-Fi网络信息
|
|
|
- `password_set` - 密码已设置
|
|
|
- `geolocation` - 地理位置
|
|
|
- `geolocation_coordinates` - 地理坐标
|
|
|
- `calendar_event_info` - 日历事件信息
|
|
|
- `calendar_event_location` - 日历事件地点
|
|
|
- `calendar_event_description` - 日历事件描述
|
|
|
- `instagram_username` - Instagram用户名
|
|
|
- `facebook_profile_id` - Facebook用户ID
|
|
|
- `spotify_search_query` - Spotify搜索查询
|
|
|
- `twitter_username` - Twitter用户名
|
|
|
- `whatsapp_phone_number` - WhatsApp电话号码
|
|
|
- `viber_phone_number` - Viber电话号码
|
|
|
- `snapchat_username` - Snapchat用户名
|
|
|
- `tiktok_username` - TikTok用户名
|
|
|
- `contact_nickname` - 联系人昵称
|
|
|
- `contact_birthday` - 联系人生日
|
|
|
- `contact_note` - 联系人备注
|
|
|
- `birthday_format` - 生日格式
|
|
|
|
|
|
## 语言支持
|
|
|
|
|
|
所有新增的本地化键都支持以下三种语言:
|
|
|
|
|
|
1. **英文** (en.lproj/Localizable.strings)
|
|
|
2. **简体中文** (zh-Hans.lproj/Localizable.strings)
|
|
|
3. **泰文** (th.lproj/Localizable.strings)
|
|
|
|
|
|
## 修复效果
|
|
|
|
|
|
1. **用户体验改善**: 用户界面现在完全支持多语言,用户可以根据系统语言设置看到相应的界面文本
|
|
|
2. **国际化支持**: 应用现在可以更好地支持不同语言环境的用户
|
|
|
3. **代码质量提升**: 消除了硬编码字符串,提高了代码的可维护性
|
|
|
4. **一致性**: 所有界面标签都使用统一的本地化机制
|
|
|
|
|
|
## 测试建议
|
|
|
|
|
|
1. 在不同语言环境下测试应用的界面显示
|
|
|
2. 验证所有修复的组件在不同语言下的显示效果
|
|
|
3. 检查本地化字符串的完整性和准确性
|
|
|
4. 测试动态语言切换功能
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
1. 所有新增的本地化键都包含了适当的注释,便于后续维护
|
|
|
2. 使用了 `String(format:)` 来处理包含变量的本地化字符串
|
|
|
3. 保持了原有的功能逻辑不变,只修改了显示文本
|
|
|
4. 建议在后续开发中继续使用本地化机制,避免硬编码字符串
|