i18n-generate-skill
- 该项目是i18n多语言生成,封装成一个skills, 其他人也可以直接使用这个skill,后面会发布在github,可以通过npx skills add来安装, 使用的时候,只需要读取excel文件,来生成在指定目录下的多语言格式
SKILL.md
---
name: i18n-generate-skill
description: 从 Excel 表格生成 i18n 多语言文件到指定目录(支持 js/ts/json)
metadata:
author: i18n-generate-skill
version: "1.0.0"
---
# i18n Excel 生成器
从 Excel 翻译表中读取文案,并按语言生成文件。
## 何时使用
- 用户需要将 Excel 翻译内容转换为 i18n 文件。
- 用户提供了 Excel 路径和输出目录。
- 目标输出格式是 `js`、`ts` 或 `json`。
## 必填输入
- `excelPath`:`.xlsx` 文件路径
- `outputDir`:生成文件输出目录
## 可选输入
- `sheetName`(默认 `i18n`)
- `formats`(默认 `ts`,支持 `js,ts,json`)
- `langs`(语言 code,逗号分隔;不传时自动识别)
- `keyColumn`(默认 `key`)
- `tsAsConst`(默认 `false`,仅对 `ts` 生效)
## 执行流程
1. 先校验 `excelPath` 文件存在。
2. 执行命令:
`node tools/excel-to-i18n.mjs --excel "<excelPath>" --out "<outputDir>" [--sheet "<sheetName>"] [--formats "ts,json"] [--langs "sc,en,ja"] [--key "<keyColumn>"] [--ts-as-const]`
3. 检查 `outputDir` 中生成结果是否完整。
4. 输出生成语言列表与每种语言的 key 数量。
## 表头规则
- 支持直接使用语言 code 作为列名:`sc tc en ja ko th id es fr de pt it ar tr ru vi`。
- 也支持本地化列名(内置映射),如:`简体中文`、`繁體中文`、`English`、`日本語 (日语)`、`한국어 (韩语)` 等。
- key 列支持:`key` / `Key` / `i18n key`。
tools/excel-to-i18n.mjs
本地验证
常用参数
--sheet "i18n-active":指定工作表名--formats "ts,json":同时生成多种格式(js/ts/json)--langs "sc,en,ja":只生成指定语言--key "key":指定 key 列名
node tools/excel-to-i18n.mjs --excel "./i18n.xlsx" --out "./i18n" --sheet "i18n" --formats "ts"
node tools/excel-to-i18n.mjs --excel "./i18n.xlsx" --out "./src/i18n" --sheet "i18n-active" --formats "ts,json" --langs "sc,en,ja" --key "key"
skills使用
把 ./i18n.xlsx 生成到 ./src/i18n,输出格式为ts,工作表为 i18n
- 稳一点描述
请使用 i18n-generate-skill,把 "D:\misc\demo\i18n.xlsx" 生成到 "D:\misc\demo\src\i18n",工作表 i18n,输出 ts
表头映射规则
生成器支持:
- 语言 code 列名:
sc tc en ja ko th id es fr de pt it ar tr ru vi - 本地化列名(示例):
简体中文、繁體中文、English、日本語 (日语)、한국어 (韩语) - key 列名:
key
i18n.xlsx
key sc en
home.title 首页 Home
login.submit 登录 Sign in
表头翻译字典 (容错处理)
- 例如:
English/英文/英语->en简体中文->sc繁體中文->tci18n key/i18n_key->key
- “容错”你的表头命名,让不同语言/不同团队命名习惯都能被识别