# 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 | `value` | | Rails (i18n) | `config/locales/` | YAML | `en:\n key: value` | | Django | `locale/*/LC_MESSAGES/` | PO/POT | `msgid "key"\nmsgstr "value"` | | .NET (resx) | `Resources/`, `*.resx` | XML | `...` | | 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/标记** — ``, `` 等 - **注意复数形式** — `one`, `other`, `few`, `many` - **注意上下文** — ICU 消息格式、性别变化等 ### Step 4: Dual Translation(双翻译) 使用两个独立子代理(`translator-alpha` 和 `translator-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、复数形式等 --- ## 📦 安装方式 ```bash # 使用 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工程索引 相关笔记: - [[INDEX_AI工程]] - AI工程知识索引 - [[ClaudeCode完全研究]] - Claude Code 完整指南 - [[claude-code-best-practice详解]] - 最佳实践详解 --- *整理:知识库管理员 | 归档:2026-04-23*