5.2 KiB
Executable File
5.2 KiB
Executable File
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-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 裁判代理(选择最佳)
↓
输出最终翻译文件
💡 核心亮点
- 自动框架检测 — 支持 React/Vue/iOS/Android/Rails/Django/.NET/Flutter/Go/PHP 等
- 双翻译验证 — 两个独立翻译 + 裁判选择,质量更高
- ISO 语言代码验证 — 确保语言代码正确
- 精确字符串提取 — 保留占位符、HTML、复数形式等
📦 安装方式
# 使用 skills.sh
npx skills add aaronbrethorst/claude-skills
# 或下载本地
wget skill.zip
🔗 相关资源
AI工程索引
相关笔记:
- INDEX_AI工程 - AI工程知识索引
- ClaudeCode完全研究 - Claude Code 完整指南
- claude-code-best-practice详解 - 最佳实践详解
整理:知识库管理员 | 归档:2026-04-23