项目介绍:Transmart
Transmart是一个开源的开发者工具,旨在通过利用ChatGPT实现国际化(i18n)翻译的自动化。其主要目的是帮助开发者轻松地从一种基础语言生成多种目标语言的本地化文件。
项目结构
Transmart由两个主要部分组成:Cli和Core。其中,Core是Transmart的NodeJS核心实现,而Cli则是对Core进行封装的命令行工具。在大多数情况下,开发者只需使用Cli即可完成任务。
主要功能
- 支持大文件翻译:无需担心4096个tokens的限制。
- 支持所有可以被Intl.DisplayNames显示和被ChatGPT处理的语言。
- 支持重写AI翻译后的内容:如果对AI翻译的结果不满意,可以手动进行覆盖。
- 支持多种国际化库:
- i18next
- Chrome.i18n
- 未来将支持vue-i18n
- 支持Glob命名空间匹配:可灵活选择需要处理的文件。
- 支持自定义OpenAI模型和API端点。
- 未来计划支持更多平台:例如iOS和Android。
安装与配置
Transmart对Node版本有要求,需Node 13或更高版本。
1. 安装
可以使用npm或yarn进行安装:
npm install @transmart/cli -D
# 或者
yarn add @transmart/cli
2. 项目配置
在项目的根目录下创建transmart.config.js
文件(或者任何被cosmiconfig能够识别的文件格式)。配置示例如下:
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',
},
},
},
}
3. 开始翻译
在npm脚本中添加transmart命令:
{
"translate": "transmart"
}
然后运行:
npm run translate
或者直接在命令行中使用npx
运行:
npx transmart
使用案例
Transmart在不同的项目中都有良好的应用,如next.js项目和Chrome扩展程序等。
可选配置
Transmart为用户提供了丰富的选项进行配置,例如:
baseLocale
:指定基础语言。locales
:需要输出的目标语言。localePath
:存储本地化文件的路径。overrides
:自定义翻译结果的覆盖。
贡献
Transmart欢迎贡献者的参与,具体贡献指南请参考项目文档中的“贡献指南”。
项目灵感来源
Transmart的灵感来源于多个开源项目及在线资源,例如chatgpt-i18n等。
通过Transmart,开发者可以大幅度提高本地化工作的效率,享受高效便捷的i18n开发体验。