AgentSkillsCN

localization-validator

本地化验证技能,用于验证项目的本地化质量

SKILL.md
--- frontmatter
name: localization-validator
description: 本地化验证技能,用于验证项目的本地化质量

本地化验证技能

技能描述

该技能用于验证项目的本地化质量,确保所有面向中文开发者和用户的内容都符合项目的本地化标准,同时遵循务实开发理念。

技能使用原则

  • 保证本地化质量,但避免过度严格:确保用户可见内容本地化,但不追求完美的本地化标准
  • 实用功能优先,理论完美次之:解决实际的本地化问题比预防所有可能更重要
  • 简单解决方案优于复杂方案:优先选择直接有效的本地化检查方式
  • 务实开发指导:评估本地化的必要性,避免过度本地化

检查项目

  1. 代码注释本地化 - 检查是否还有英文注释
  2. 测试用例描述本地化 - 检查测试文件中的 describe 和 it 语句是否使用中文
  3. 用户界面字符串本地化 - 检查硬编码的英文字符串
  4. 错误信息本地化 - 检查面向用户的错误信息
  5. 文档和注释一致性 - 确保所有文档都使用中文

验证规则

1. 代码注释检查

typescript
// ❌ 错误 - 英文注释
// Get user data from API

// ✅ 正确 - 中文注释
// 从 API 获取用户数据

2. 测试用例描述检查

typescript
// ❌ 错误 - 英文描述
describe("User Component", () => {
  it("should render user name correctly", () => {
    // ...
  });
});

// ✅ 正确 - 中文描述
describe("用户组件", () => {
  it("应该正确渲染用户名称", () => {
    // ...
  });
});

3. 硬编码字符串检查

typescript
// ❌ 错误 - 硬编码英文字符串
const serviceName = "unknown";
const status = "loading";

// ✅ 正确 - 使用中文常量
const UNKNOWN_SERVICE = "未知服务";
const LOADING_STATUS = "加载中";

4. 技术标识符例外

以下情况可以保留英文:

  • 技术标识符(如 "coze", "mcp", "stdio")
  • API 路径参数
  • 配置键名
  • 函数和变量名(遵循编程惯例)

验证流程

自动检查

  1. 使用 grep 查找英文注释模式:

    bash
    grep -r "//.*[A-Z][a-z].*" --include="*.ts" --include="*.tsx" src/
    
  2. 查找英文测试描述:

    bash
    grep -r "describe\|it(" --include="*.test.ts" --include="*.test.tsx" src/
    
  3. 查找硬编码英文字符串:

    bash
    grep -r '"[a-zA-Z]\{3,\}"' --include="*.ts" --include="*.tsx" src/
    

手动验证

  1. 检查自动检查的结果
  2. 确认技术标识符的例外情况
  3. 验证翻译的准确性和一致性

修复建议

优先级 1:高优先级

  • 用户界面中的硬编码英文字符串
  • 测试用例中的英文描述
  • 面向用户的错误信息

优先级 2:中优先级

  • 代码注释中的英文
  • 文档中的英文内容

优先级 3:低优先级

  • 开发者工具中的英文(如调试信息)
  • 技术标识符(如服务名称)

常见翻译对照

英文中文
unknown未知
loading加载中
error错误
success成功
failed失败
pending待处理
completed已完成
configuration配置
parameter参数
component组件
service服务
server服务器
client客户端

使用方法

当需要对项目进行本地化验证时:

  1. 运行自动检查:执行上述 grep 命令查找英文内容
  2. 分类问题:将发现的问题按优先级分类
  3. 制定修复计划:根据优先级制定修复顺序
  4. 执行修复:逐一修复发现的问题
  5. 验证修复:确保修复后没有引入新问题

长期维护

代码审查检查点

  • 所有新代码注释使用中文
  • 所有新增测试用例使用中文描述
  • 用户界面字符串已本地化
  • 错误信息已本地化

CI/CD 集成建议

可以将部分检查集成到 CI/CD 流程中,确保新代码符合本地化标准。

经验记录

xiaozhi-client 项目经验

在 xiaozhi-client 项目的本地化过程中发现:

  1. 大部分用户界面已经中文化,主要问题集中在测试文件和代码注释
  2. 技术标识符(如 "coze", "mcp")应该保持英文,便于技术交流
  3. 常量定义是处理硬编码字符串的好方法
  4. 测试用例描述中文化对团队协作很重要

最佳实践

  1. 在代码审查时加入本地化检查项
  2. 使用常量定义用户可见的字符串
  3. 保持技术标识符的英文形式
  4. 定期运行本地化验证工具