search-syntax-pro/.claude/specs/add-russian-korean-i18n/translation-review.md
Zain 19525d16cd feat(i18n): 添加俄语和韩语国际化支持
- 更新 Language 类型定义,新增 ru-RU 和 ko-KR 支持
- 添加俄语和韩语的 Chrome i18n 消息文件
- 在 translations.ts 中新增俄语和韩语翻译
- 更新 README 文档中的支持语言列表
- 版本号升级至 1.8.7
2025-12-09 10:50:05 +08:00

162 行
7.8 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 俄语和韩语翻译对照表 (Translation Review)
> **状态**: ✅ 已完成 - 等待人工审核
> **生成时间**: 2025-12-08
> **翻译总数**: 1036 (518 × 2 语言)
## 📋 翻译概览
| 语言 | Locale | 翻译数量 | 文件类型 | 状态 |
|------|--------|---------|---------|------|
| 俄语 | ru-RU | 518 | React i18n | ✅ 已完成 |
| 俄语 | ru | 14 | Chrome Extension | ✅ 已完成 |
| 韩语 | ko-KR | 518 | React i18n | ✅ 已完成 |
| 韩语 | ko | 14 | Chrome Extension | ✅ 已完成 |
## 🎯 抽样对照 (Sample Translations)
### 通用翻译 (Common)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `common.save` | 保存 | Save | Сохранить | 저장 |
| `common.cancel` | 取消 | Cancel | Отмена | 취소 |
| `common.confirm` | 确认 | Confirm | Подтвердить | 확인 |
| `common.delete` | 删除 | Delete | Удалить | 삭제 |
| `common.edit` | 编辑 | Edit | Редактировать | 편집 |
| `common.search` | 搜索 | Search | Поиск | 검색 |
| `common.loading` | 加载中... | Loading... | Загрузка... | 로딩 중... |
| `common.success` | 成功 | Success | Успешно | 성공 |
| `common.error` | 错误 | Error | Ошибка | 오류 |
| `common.warning` | 警告 | Warning | Предупреждение | 경고 |
### 语言名称 (Language Names)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `common.languages.zh-CN` | 简体中文 | Simplified Chinese | Упрощённый китайский | 중국어 간체 |
| `common.languages.en-US` | English | English | English | English |
| `common.languages.ru-RU` | Русский | Russian | Русский | 러시아어 |
| `common.languages.ko-KR` | 한국어 | Korean | Корейский | 한국어 |
### 按钮和操作 (Buttons & Actions)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `common.button.confirm` | 确认 | Confirm | Подтвердить | 확인 |
| `common.button.cancel` | 取消 | Cancel | Отмена | 취소 |
| `common.button.save` | 保存 | Save | Сохранить | 저장 |
| `common.button.reset` | 重置 | Reset | Сбросить | 초기화 |
| `common.button.close` | 关闭 | Close | Закрыть | 닫기 |
| `common.button.back` | 返回 | Back | Назад | 돌아가기 |
| `common.button.next` | 下一步 | Next | Далее | 다음 |
| `common.button.submit` | 提交 | Submit | Отправить | 제출 |
### 搜索引擎名称 (Search Engine Names)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `engines.baidu.name` | 百度 | Baidu | Baidu | 바이두 |
| `engines.google.name` | 谷歌 | Google | Google | 구글 |
| `engines.bing.name` | 必应 | Bing | Bing | 빙 |
| `engines.duckduckgo.name` | DuckDuckGo | DuckDuckGo | DuckDuckGo | 덕덕고 |
| `engines.brave.name` | Brave | Brave | Brave | 브레이브 |
| `engines.yandex.name` | Yandex | Yandex | Yandex | 얀덱스 |
| `engines.twitter.name` | Twitter/X | Twitter/X | Twitter/X | 트위터/X |
| `engines.reddit.name` | Reddit | Reddit | Reddit | 레딧 |
| `engines.github.name` | GitHub | GitHub | GitHub | 깃허브 |
| `engines.stackoverflow.name` | Stack Overflow | Stack Overflow | Stack Overflow | 스택 오버플로 |
### 带变量的翻译 (Translations with Variables)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `popup.footer.currentEngine` | 当前引擎: {engine} | Current Engine: {engine} | Текущий поисковик: {engine} | 현재 엔진: {engine} |
| `history.total` | 共 {total} 条 | Total {total} | Всего {total} | 총 {total}개 |
| `history.showing` | 显示 {showing} / {total} | Showing {showing} / {total} | Показано {showing} / {total} | {showing} / {total}개 표시 |
| `settings.historyLimit.description` | 最多保存 {limit} 条 | Keep up to {limit} records | Хранить до {limit} записей | 최대 {limit}개 보관 |
### 语法特性翻译 (Syntax Features)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `syntax.site.label` | 网站搜索 | Site Search | Поиск по сайту | 사이트 검색 |
| `syntax.filetype.label` | 文件类型 | File Type | Тип файла | 파일 형식 |
| `syntax.exact.label` | 精确匹配 | Exact Match | Точное совпадение | 정확히 일치 |
| `syntax.dateRange.label` | 日期范围 | Date Range | Диапазон дат | 날짜 범위 |
| `syntax.exclude.label` | 排除关键词 | Exclude Words | Исключить слова | 제외 키워드 |
### 设置页面 (Settings)
| 键名 | 中文 (zh-CN) | 英文 (en-US) | 俄语 (ru-RU) | 韩语 (ko-KR) |
|------|-------------|-------------|-------------|-------------|
| `settings.title` | 设置 | Settings | Настройки | 설정 |
| `settings.language.label` | 界面语言 | Interface Language | Язык интерфейса | 인터페이스 언어 |
| `settings.theme.label` | 主题模式 | Theme Mode | Режим темы | 테마 모드 |
| `settings.theme.light` | 浅色 | Light | Светлая | 라이트 |
| `settings.theme.dark` | 深色 | Dark | Тёмная | 다크 |
| `settings.theme.auto` | 跟随系统 | Follow System | Следовать системе | 시스템 설정 |
## 🔍 关键翻译策略
### 俄语翻译特点 (Russian)
1. **格变处理**: 使用主格形式,避免复杂的格变
2. **简洁性**: 优先使用短词而非长词组
3. **专业性**: 保持技术术语的准确性
4. **UI适配**: 考虑俄语字母宽度,保持界面紧凑
### 韩语翻译特点 (Korean)
1. **敬语等级**: 使用中性的해요体,适合软件界面
2. **汉字词**: 优先使用常用的汉字词(한자어)
3. **简洁性**: 避免过长的表达,保持UI紧凑
4. **外来词**: 技术术语使用惯用的外来词表达
### 共同原则
- ✅ **保留变量**: 所有 `{variable}` 占位符完全保留
- ✅ **保留品牌**: Baidu、Google、GitHub等品牌名不翻译
- ✅ **UI优化**: 翻译长度适合UI显示,避免溢出
- ✅ **一致性**: 同一术语在整个应用中翻译一致
## ✅ 验证检查
### 自动验证 (已通过)
- ✅ 翻译键名完整性: 518/518 (100%)
- ✅ 变量占位符正确性: 已保留所有 `{variable}`
- ✅ TypeScript 类型检查: 通过
- ✅ 构建验证: 通过
- ✅ 文件大小: translations.js (95.34 kB, gzip: 26.37 kB)
### 需人工审核项目
1. **语法正确性**: 检查母语者的语法和用词
2. **文化适配性**: 确认表达符合目标文化习惯
3. **专业术语**: 验证技术术语翻译的准确性
4. **UI适配**: 确认翻译长度在实际界面中显示合适
## 📝 审核建议
### 俄语审核重点
- [ ] 检查技术术语翻译的行业标准性
- [ ] 验证动词时态和体的使用
- [ ] 确认缩写和简称的正确性
### 韩语审核重点
- [ ] 确认敬语等级的统一性
- [ ] 验证汉字词选用的准确性
- [ ] 检查外来词拼写是否符合标准
## 🎉 完成状态
- ✅ 俄语 Chrome Extension i18n (14条)
- ✅ 俄语 React i18n (518条)
- ✅ 韩语 Chrome Extension i18n (14条)
- ✅ 韩语 React i18n (518条)
- ✅ TypeScript 类型定义更新
- ✅ README.md 文档更新
- ✅ 构建验证通过
**下一步**:
1. 加载扩展到浏览器进行实际UI测试
2. 邀请母语者进行专业审核
3. 根据反馈进行优化调整
4. 更新版本号准备发布