Transmart - 利用 AI 自动化您的 i18n
简体中文 | English
Transmart 是一个开源的开发者工具,利用 ChatGPT 实现 i18n 翻译自动化。给定一个基础语言并指定需要输出的所有语言,运行它将生成所有 i18n 区域设置文件。
它由两部分组成:Cli 和 Core。Core 是 Transmart 的 NodeJS 核心实现,而 Cli 是封装了 Core 的命令行工具。在大多数情况下,只使用 Cli 就足够了。
该项目目前正在积极开发中,欢迎 PR,也可以在Twitter上联系我
- 支持大型文件,不必担心 4096 个标记限制
- 支持使用Intl.DisplayNames显示的所有语言,以及可以通过 ChatGPT 处理的所有语言。
- 支持覆盖 AI 翻译值
- 支持i18next
- 支持vue-i18n
- 支持Chrome.i18n
- 支持 Glob 名称空间匹配
- 支持自定义 OpenAI 模型、API 端点
- 支持自定义区域设置文件结构
- 支持 iOS
- 支持 Android
Transmart 要求 Node 版本 13 或更高。
要安装 Transmart,请运行:
npm install @transmart/cli -D
# or
yarn add @transmart/cli
### 2. 项目配置
首先,在项目根目录中创建一个transmart.config.js文件,或任何其他文件格式 `cosmiconfig` 可以搜索到的
transmart.config.js
```js
module.exports = {
baseLocale: 'en',
locales: ['fr', 'jp', 'de'],
localePath: 'public/locales',
openAIApiKey: 'your-own-openai-api-key',
overrides: {
'zh-CN': {
common: {
create_app: 'Create my Application',
},
},
},
}
所有选项可 参考
向您的 npm 脚本添加 transmart 命 令
{
"translate": "transmart"
}
然后执行
npm run translate
或者您可以在命令行中直接使用 npx 前缀执行
npx transmart
如果对 AI 翻译的结果不满意,请使用 overrides 选项部分覆盖生成的 JSON
享受 i18n 吧 🎉🎉
名称 | 类型 | 描述 | 是否必须 |
---|---|---|---|
baseLocale | string | Transmart 将用作翻译参考的语言。 | 是 |
locales | string[] | 所有需要翻译的语言 | 是 |
localePath | string | 存储国际化文件的位置 | 是 |
openAIApiKey | string | OpenAI API 密钥 | 是 |
context | string | 提供一些上下文让翻译更准确 | 否 |
openAIApiModel | string | OpenAI API 模型,默认为“gpt-3.5-turbo-16k-0613” | 否 |
overrides | Record<string, Record<string, Record<string, any>>> |
如果你不满意 AI 翻译结果,用于部分覆盖生成的 JSON (locale-namespace-key:value) | 否 |
namespaceGlob | string|string[] | 命名空间匹配项 | 否 |
openAIApiUrl | string | 可选基本 OpenAI API url 地址,在使用代理时很有用 | 否 |
openAIApiUrlPath | string | 可选的 OpenAI API url 地址, 在使用代理时很有用 | 否 |
要贡献到 Transmart,请参阅contributing.md