You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 KiB
20 KiB
界面标签本地化修复报告
概述
本次修复主要解决了应用中硬编码中文字符串的问题,将所有用户界面标签进行了本地化处理,支持英文、中文和泰文三种语言。
修复的文件
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"
) - 重复的注释和空行
- 完全相同的键值对(如
- 修复效果:
- 消除了所有重复键,确保本地化系统正常工作
- 保持了所有必要的本地化键
- 提高了文件的可维护性
新增的本地化键
验证消息
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
- 项目 %dno_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行重复内容,确保每个本地化键只出现一次
二维码解析器(扩展)
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用户IDspotify_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
- 生日格式
语言支持
所有新增的本地化键都支持以下三种语言:
- 英文 (en.lproj/Localizable.strings)
- 简体中文 (zh-Hans.lproj/Localizable.strings)
- 泰文 (th.lproj/Localizable.strings)
修复效果
- 用户体验改善: 用户界面现在完全支持多语言,用户可以根据系统语言设置看到相应的界面文本
- 国际化支持: 应用现在可以更好地支持不同语言环境的用户
- 代码质量提升: 消除了硬编码字符串,提高了代码的可维护性
- 一致性: 所有界面标签都使用统一的本地化机制
测试建议
- 在不同语言环境下测试应用的界面显示
- 验证所有修复的组件在不同语言下的显示效果
- 检查本地化字符串的完整性和准确性
- 测试动态语言切换功能
注意事项
- 所有新增的本地化键都包含了适当的注释,便于后续维护
- 使用了
String(format:)
来处理包含变量的本地化字符串 - 保持了原有的功能逻辑不变,只修改了显示文本
- 建议在后续开发中继续使用本地化机制,避免硬编码字符串