mcpField
I
i18n-helper

i18n-helper

github.com/laolaoshirenDevelopment90088 installsUpdated 2d ago
Repository

About i18n-helper

i18n-helper is a skill for developers adding or maintaining localization in software projects. It scans hard-coded text, generates language files, updates code references, and checks translation coverage based on the project’s framework.

Key features

  1. 01Identify project types and i18n frameworks
  2. 02Scan for hard-coded text
  3. 03Generate language files in multiple formats
  4. 04Replace text with i18n calls
  5. 05Find missing translations and track completion

Use cases

  1. 01Add localization to an existing project
  2. 02Extract and translate language strings in batches
  3. 03Find incomplete translation entries

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laolaoshiren/claude-code-skills-zh --skill i18n-helper

After installing, type/i18n-helperin Claude Code to confirm it loaded.

Details

From the project README

🌍 i18n-helper — 国际化/本地化助手

触发条件

当用户要求以下操作时激活此技能:

  • 扫描代码中的硬编码中文/英文文本
  • 为项目添加国际化支持(i18n)
  • 批量提取和翻译语言文件
  • 检查翻译完整性(缺失 key 检测)

工作流程

1. 项目分析
  • 检测项目类型(React/Vue/Angular/Node.js/Python/Java 等)
  • 识别已使用的 i18n 框架(react-intl, vue-i18n, i18next, gettext 等)
  • 扫描源代码目录结构
2. 硬编码文本扫描
  • 在 .js/.jsx/.ts/.tsx/.vue/.py/.java/.go 等文件中搜索硬编码字符串
  • 排除:变量名、URL、正则表达式、import 路径、日志调试信息
  • 标记:用户可见的 UI 文本、错误提示、通知消息
3. 语言文件生成

根据项目框架生成对应格式:

  • JSON (i18next/react-intl): { "key": "value" }
  • YAML (vue-i18n): key: value
  • PO/POT (gettext): 标准格式
  • Properties (Java): key=value
4. 代码替换
  • 将硬编码文本替换为 i18n 函数调用
  • 保持原有格式和变量插值
  • 示例:
    // 替换前
    alert('保存成功');
    // 替换后
    alert(t('alert.saveSuccess'));
    
5. 完整性检查
  • 对比主语言文件与翻译文件的 key 差异
  • 输出缺失翻译的 key 列表
  • 统计翻译完成度百分比

输出格式

## 📊 i18n 扫描报告

### 硬编码文本
| 文件 | 行号 | 内容 | 建议 key |
|------|------|------|----------|
| src/App.tsx | 42 | '欢迎使用' | page.welcome |

### 语言文件
已生成 `locales/zh-CN.json` 和 `locales/en-US.json`

### 翻译完整性
- zh-CN: 45/45 (100%) ✅
- en-US: 42/45 (93.3%) ⚠️ 缺少 3 个 key

支持的 i18n 框架

  • react-intl / FormatJS
  • vue-i18n
  • i18next / react-i18next / next-i18next
  • Angular @ngx-translate
  • Python gettext / Flask-Babel
  • Java ResourceBundle / Spring MessageSource
  • Go go-i18n

注意事项

  • 不要翻译技术术语(API、SDK、HTTP 等)
  • 保留变量占位符 {name} {{count}} %s 等格式
  • 复数形式和性别变体需要特殊处理
  • 日期、数字、货币格式需使用 locale 感知的格式化函数

Comments

Markdown supported