多语言维护快速参考

常见场景

场景 1: 添加新文本

  1. 在代码中使用翻译
const t = useTranslations('myNamespace');
return <div>{t('newKey')}</div>;
  1. 更新所有语言文件
    • 编辑 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

工作流程

日常开发流程

  1. 添加新功能时

    编写代码 → 使用翻译键 → 更新所有语言文件 → 运行检查脚本
    
  2. 提交代码前

    运行 check-i18n-keys → 修复不一致 → 提交代码
    
  3. 发现缺失翻译时

    运行 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