跳到主要内容
知仓学习社ZHICANG

i18n-helper

国际化/本地化助手 — 扫描代码中的硬编码文本、生成 i18n 配置、批量翻译

不碰外部(只输出文字)无严重或高危命中laolaoshiren/claude-code-skills-zh

它会碰到什么

扫了多少1 个文本文件,1 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

🌍 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 感知的格式化函数

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 849
本站分层T2
该仓技能数20
原文件路径skills/i18n-helper/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 20 个技能