localize

star 241

运行本地化工作流:提取字符串、验证本地化就绪状态、检查硬编码文本,并生成可供翻译的字符串表。

pixel-cellar By pixel-cellar schedule Updated 3/29/2026

name: localize description: "运行本地化工作流:提取字符串、验证本地化就绪状态、检查硬编码文本,并生成可供翻译的字符串表。" argument-hint: "[scan|extract|validate|status]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash

当此技能被调用时:

  1. 解析子命令参数:

    • scan — 扫描本地化问题(硬编码字符串、缺失键)
    • extract — 提取新字符串并生成/更新字符串表
    • validate — 验证现有翻译的完整性和格式
    • status — 报告整体本地化状态
  2. 对于 scan

    • 搜索 src/ 中的硬编码面向用户的字符串:
      • UI 代码中未被本地化函数包裹的字符串字面量
      • 应该参数化的拼接字符串
      • 使用位置占位符(%s%d)而非命名占位符({playerName})的字符串
    • 搜索本地化反模式:
      • 未使用区域感知函数的日期/时间格式化
      • 未考虑区域设置的数字格式化
      • 嵌入在图片或纹理中的文本(标记资源文件)
      • 假设从左到右文本方向的字符串
    • 报告所有发现,包含文件路径和行号
  3. 对于 extract

    • 扫描所有源文件中的本地化字符串引用
    • assets/data/ 中的现有字符串表(如有)进行对比
    • 为尚未有键的字符串生成新条目
    • 按照命名约定建议键名:[category].[subcategory].[description]
    • 输出要添加到字符串表的新字符串的差异
  4. 对于 validate

    • 读取 assets/data/ 中的所有字符串表文件
    • 检查每个条目的:
      • 缺失翻译(键存在但某区域没有翻译)
      • 占位符不匹配(源文本有 {name} 但翻译缺失)
      • 字符串长度违规(超过 UI 元素的字符限制)
      • 孤立键(翻译存在但代码中没有引用该键)
    • 按区域和严重级别分组报告验证结果
  5. 对于 status

    • 统计可本地化字符串总数
    • 按区域:统计已翻译、未翻译和过时(源文本自翻译后已更改)的数量
    • 生成覆盖率矩阵:
## 本地化状态
生成日期:[日期]

| 区域 | 总计 | 已翻译 | 缺失 | 过时 | 覆盖率 |
|------|------|--------|------|------|--------|
| en (源) | [N] | [N] | 0 | 0 | 100% |
| [区域] | [N] | [N] | [N] | [N] | [X]% |

### 问题
- 源代码中发现 [N] 个硬编码字符串
- [N] 个字符串超出字符限制
- [N] 个占位符不匹配
- [N] 个孤立键(可清理)

规则

  • 英语 (en) 始终为源区域
  • 每个字符串表条目必须包含解释上下文的翻译者注释
  • 永远不要直接修改翻译文件 — 生成差异供审核
  • 字符限制必须按 UI 元素定义并自动执行
  • 从右到左 (RTL) 语言支持应从一开始就考虑,而非事后追加
Install via CLI
npx skills add https://github.com/pixel-cellar/Claude-Code-Game-Studios --skill localize
Repository Details
star Stars 241
call_split Forks 57
navigation Branch main
article Path SKILL.md
More from Creator
pixel-cellar
pixel-cellar Explore all skills →