Files
chill_notes/AI工程/SoftwareLocalizationSkill.md
2026-04-23 14:31:40 +08:00

5.2 KiB
Executable File
Raw Blame History

Software Localization Skill

AI 驱动的软件本地化/翻译技能

归档2026-04-23


📊 基本信息

项目 数据
名称 localization
作者 aaronbrethorst
来源 https://github.com/aaronbrethorst/claude-skills/tree/main/localizer
Stars 4
文件 7 个SKILL.md + 6 个支撑文件)

🎯 核心定位

软件本地化/翻译技能 — 将项目翻译成新语言、添加新语言环境、创建翻译、本地化字符串或处理 i18n/l10n 文件。

支持自动检测任何项目类型的本地化框架。


🔄 工作流程6步

Step 1: Detect Project Type

检测项目使用的本地化框架和文件格式。

框架 位置 格式 关键模式
React (react-i18next) public/locales/, src/locales/ JSON {"key": "value"}
React (react-intl) src/translations/, lang/ JSON {"key": {"defaultMessage": "..."}}
Vue (vue-i18n) src/locales/, locales/ JSON/YAML {"key": "value"}
Angular src/assets/i18n/, src/locale/ JSON/XLIFF JSON 或 XML
iOS *.lproj/Localizable.strings Strings "key" = "value";
Android res/values-*/strings.xml XML <string name="key">value</string>
Rails (i18n) config/locales/ YAML en:\n key: value
Django locale/*/LC_MESSAGES/ PO/POT msgid "key"\nmsgstr "value"
.NET (resx) Resources/, *.resx XML <data name="key"><value>...</value></data>
Flutter lib/l10n/, assets/translations/ ARB/JSON {"key": "value", "@key": {...}}
Go (go-i18n) locales/, translations/ JSON/TOML Various
PHP (Laravel) resources/lang/ PHP/JSON return ['key' => 'value'];
Next.js messages/, locales/ JSON {"namespace": {"key": "value"}}
Gettext *.po, *.pot PO msgid/msgstr pairs

Step 2: Validate Target Language

验证目标语言是否为有效的 ISO 639 语言代码。

需要确认的情况

  • "Chinese" → 需要确认:繁体(zh-TW/zh-HK)、简体(zh-CN/zh-Hans)
  • "Spanish" → 需要确认:西班牙(es-ES)、拉丁美洲(es-419)、墨西哥(es-MX)
  • "Portuguese" → 需要确认:巴西(pt-BR)还是葡萄牙(pt-PT)
  • "Serbian" → 需要确认:西里尔文(sr-Cyrl)还是拉丁文(sr-Latn)
  • "Norwegian" → 需要确认Bokmål(nb)还是Nynorsk(nn)
  • "Malay" → 需要确认:马来西亚(ms-MY)、新加坡(ms-SG)、文莱(ms-BN)

Step 3: Extract Source Strings

加载英语源文件并解析所有可翻译字符串。

注意

  • 精确保留 keys — 不修改 key 名称
  • 注意占位符{name}, {{count}}, %s, %d, %@
  • 注意 HTML/标记<b>, <a href="...">
  • 注意复数形式one, other, few, many
  • 注意上下文 — ICU 消息格式、性别变化等

Step 4: Dual Translation双翻译

使用两个独立子代理(translator-alphatranslator-beta)进行翻译。

Step 5: Verification验证

第三个子代理 translator-adjudicator 比较两个翻译结果,选择最佳翻译。

Step 6: Output

生成正确格式的本地化文件。


📁 支持文件

文件 说明
SKILL.md 主技能文件8.3 KB
ADJUDICATOR_INSTRUCTIONS.md 裁判指令6.0 KB
ISO_CODES.md ISO 639 语言代码参考3.5 KB
TRANSLATOR_INSTRUCTIONS.md 翻译员指令4.8 KB
translator-adjudicator.md 裁判代理配置
translator-alpha.md Alpha 翻译代理配置
translator-beta.md Beta 翻译代理配置

🧠 三代理架构

用户请求
    ↓
[检测项目类型] → [验证语言代码] → [提取源字符串]
    ↓
┌─────────────────┬─────────────────┐
↓                 ↓                 ↓
translator-alpha  translator-beta   两个独立翻译代理
↓                 ↓                 ↓
        ↓         ↓                 ↓
    translator-adjudicator          裁判代理(选择最佳)
        ↓
    输出最终翻译文件

💡 核心亮点

  1. 自动框架检测 — 支持 React/Vue/iOS/Android/Rails/Django/.NET/Flutter/Go/PHP 等
  2. 双翻译验证 — 两个独立翻译 + 裁判选择,质量更高
  3. ISO 语言代码验证 — 确保语言代码正确
  4. 精确字符串提取 — 保留占位符、HTML、复数形式等

📦 安装方式

# 使用 skills.sh
npx skills add aaronbrethorst/claude-skills

# 或下载本地
wget skill.zip

🔗 相关资源

资源 链接
GitHub https://github.com/aaronbrethorst/claude-skills/tree/main/localizer
SkillsMP https://skillsmp.com/skills/aaronbrethorst-claude-skills-localizer-skill-md
Manus https://manus.im/features/agent-skills

AI工程索引

相关笔记:


整理:知识库管理员 | 归档2026-04-23