Update from Sync Service

This commit is contained in:
FNS Service
2026-04-23 14:31:40 +08:00
parent 1b5af49bb1
commit 47da84c160

View File

@@ -0,0 +1,162 @@
# 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 裁判代理(选择最佳)
输出最终翻译文件
```
---
## 💡 核心亮点
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*