多语言维护快速参考
常见场景
场景 1: 添加新文本
- 在代码中使用翻译:
const t = useTranslations('myNamespace');
return <div>{t('newKey')}</div>;
- 更新所有语言文件:
- 编辑
admin-ui/messages/zh-CN.json - 编辑
admin-ui/messages/en.json - 添加相同的键结构
- 编辑
场景 2: 修改现有文本
直接编辑对应语言文件的 JSON,更新值即可。
场景 3: 检查翻译是否完整
# Windows
.\scripts\check-i18n-keys.ps1
# Linux/Mac
./scripts/check-i18n-keys.sh
场景 4: 同步翻译文件结构
当添加了新键但忘记更新其他语言文件时:
# Windows - 先预览
.\scripts\sync-i18n-structure.ps1 -DryRun
# Windows - 实际同步
.\scripts\sync-i18n-structure.ps1
# Linux/Mac - 先预览
./scripts/sync-i18n-structure.sh --dry-run
# Linux/Mac - 实际同步
./scripts/sync-i18n-structure.sh
工作流程
日常开发流程
添加新功能时:
编写代码 → 使用翻译键 → 更新所有语言文件 → 运行检查脚本提交代码前:
运行 check-i18n-keys → 修复不一致 → 提交代码发现缺失翻译时:
运行 sync-i18n-structure → 翻译标记为 [TODO] 的文本 → 运行检查脚本确认
命令速查
| 操作 | Windows | Linux/Mac |
|---|---|---|
| 检查翻译键 | .\scripts\check-i18n-keys.ps1 |
./scripts/check-i18n-keys.sh |
| 同步结构(预览) | .\scripts\sync-i18n-structure.ps1 -DryRun |
./scripts/sync-i18n-structure.sh --dry-run |
| 同步结构(执行) | .\scripts\sync-i18n-structure.ps1 |
./scripts/sync-i18n-structure.sh |
注意事项
⚠️ 重要规则:
- ✅ 必须同时更新所有语言文件
- ✅ 保持所有语言文件的键结构一致
- ✅ 提交前运行检查脚本
- ❌ 不要只更新一个语言文件
- ❌ 不要删除其他语言文件中的键
获取帮助
详细文档请参考:I18N_MAINTENANCE_GUIDE.md