# tools-i18n **Repository Path**: ace-security/tools-i18n ## Basic Information - **Project Name**: tools-i18n - **Description**: 代码国际化辅助 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用说明 这是一个把前端代码中的中文替换为 i18n key 的桌面工具,适用于 `.vue/.js/.ts/.jsx/.tsx` 文件。 ## 1. 运行方式 在项目根目录执行: ```powershell python tools\main.py 或者 下载dist文件夹下 i18n.exe,直接打开 ``` ## 2. 你需要先准备什么 - Python 3.9 及以上版本 - 一套可用的翻译服务密钥(`google` / `baidu` / `tencent` 三选一),建议腾讯,申请简单,每月500万字符 ## 3. 翻译密钥申请(重点) 下面是三种翻译服务的官方申请入口和简化步骤,任选一种即可。 ### 3.1 Google(配置项:`google_key`) - 申请网址:[Google Cloud Translation](https://cloud.google.com/translate) - 控制台入口:[Google Cloud Console](https://console.cloud.google.com/) - 申请步骤: 1. 登录 Google Cloud,创建项目。 2. 在项目中启用 `Cloud Translation API`。 3. 绑定结算账号(Google Cloud 接口通常要求开启结算)。 4. 在 “API 和服务 -> 凭据” 中创建 API Key。 5. 把生成的 Key 填到工具里的 `google_key`。 ### 3.2 百度翻译(配置项:`baidu_appid` + `baidu_secret`) - 申请网址:[百度翻译开放平台](https://fanyi-api.baidu.com/) - 控制台入口:[百度翻译开发者管理后台](https://api.fanyi.baidu.com/manage/developer) - 申请步骤: 1. 登录百度账号并完成开发者认证。 2. 创建“通用文本翻译”应用。 3. 在应用详情页获取 `APP ID` 和 `密钥`。 4. 分别填到工具里的 `baidu_appid`、`baidu_secret`。 ### 3.3 腾讯云机器翻译(配置项:`tencent_sid` + `tencent_skey` + `tencent_region`) - 申请网址:[腾讯云机器翻译 TMT](https://cloud.tencent.com/product/tmt) - 控制台入口:[腾讯云访问管理 CAM](https://console.cloud.tencent.com/cam/capi) - 申请步骤: 1. 登录腾讯云并开通机器翻译服务(TMT)。 2. 在访问管理中创建/获取 `SecretId` 和 `SecretKey`。 3. 选择地域并填写到 `tencent_region`(常见如 `ap-guangzhou`)。 4. 分别填到工具里的 `tencent_sid`、`tencent_skey`、`tencent_region`。 ## 4. 操作流程(建议按顺序) 1. 选择项目目录(包含你要处理的代码文件)。 2. 设置 `前缀`(例如:`user`、`orderPage`)。 3. 选择翻译服务并填写对应密钥。 4. 选择完,目录后, 会在选择的目录下生成, `i18n_zh.json` 与 `i18n_en.json` 文件存放 ,国际化词条。 5. 点击“扫描代码文件”。 6. 在列表中勾选要处理的文件(默认全选)。 7. 点击“开始处理勾选文件”。 8. 处理完成后检查日志,并进行人工抽查。 ## 5. 关键规则(生成 key 的方式) - 词条格式为 `a.b` - `a`:你在界面输入的前缀 - `b`:中文翻译后的英文,自动转驼峰(最多 4 个单词),例如 `userName` - 如果重复会自动加数字后缀,例如:`userName2` - 如果 `i18n_zh.json` 已有相同中文,会复用旧 key,不重复新增 ## 6. 替换行为说明 - 只处理代码文件:`.vue/.js/.ts/.jsx/.tsx` - 非代码文件(例如 `.png/.jpg`)不会显示在待处理列表 - 单文件内中文会先聚合再批量翻译,减少 API 调用次数 - JS/TS 文本替换为:`$i18n.t('a.b')` - Vue 模板文本替换为:`{{ $t('a.b') }}` - GUI 主线程只负责界面,扫描/翻译/写文件在后台线程执行 - “翻译密钥配置”区域可切换服务并填写参数 - 运行日志支持“清空”按钮 ## 7. 注意事项 - 工具会直接改写源码,强烈建议先新建 Git 分支再执行 - 动态拼接字符串、复杂表达式建议人工复查 - 如果接口报错,请先检查: - 密钥是否填错 - 服务是否已开通 - 账号是否有可用额度/结算状态正常