快速高效的JSON国际化翻译工具,支持多个AI提供商(Google Gemini、OpenAI及Ollama/DeepSeek),具有智能缓存、多文件去重以及MCP集成功能。
npm install -g translator-ai
npm install translator-ai
在项目根目录创建.env文件或设置环境变量:
GEMINI_API_KEY=your_gemini_api_key_here
从Google AI Studio获取您的API密钥。
在项目根目录创建.env文件或设置环境变量:
OPENAI_API_KEY=your_openai_api_key_here
从OpenAI 平台获取您的API密钥。
无需API费用的完全本地翻译:
ollama pull deepseek-r1:latest
--provider ollama标志:
translator-ai source.json -l es -o spanish.json --provider ollama
# 翻译单个文件
translator-ai source.json -l es -o spanish.json
# 多文件翻译并去重
translator-ai src/locales/en/*.json -l es -o "{dir}/{name}.{lang}.json"
# 使用通配符模式
translator-ai "src/**/*.en.json" -l fr -o "{dir}/{name}.fr.json"
translator-ai <inputFiles...> [options]
参数:
inputFiles 源JSON文件路径或通配符模式
选项:
-l, --lang <langCodes> 目标语言代码,多个用逗号分隔
-o, --output <pattern> 输出文件路径或模式
--stdout 输出到标准输出而非文件
--stats 显示详细的性能统计数据
--no-cache 禁用增量翻译缓存
--cache-file <path> 自定义缓存文件路径
--provider <type> 翻译提供商:gemini、openai 或 ollama(默认:gemini)
--ollama-url <url> Ollama API URL(默认:http://localhost:11434)
--ollama-model <model> Ollama 模型名称(默认:deepseek-r1:latest)
--gemini-model <model> Gemini 模型名称(默认:gemini-2.0-flash-lite)
--openai-model <model> OpenAI 模型名称(默认:gpt-4o-mini)
--list-providers 列出可用的翻译提供商
--verbose 启用调试输出
--detect-source 自动检测源语言而不是假设为英语
--dry-run 预览要翻译的内容而不进行API调用
--preserve-formats 保持URL、电子邮件、数字、日期和其他格式
--metadata 在输出文件中添加翻译元数据(可能会破坏某些i18n解析器)
--sort-keys 按字母顺序排序输出JSON键
--check-keys 验证所有源键是否存在于输出中(如果缺少键则退出错误)
-h, --help 显示帮助信息
-V, --version 显示版本信息
输出模式变量(用于多个文件):
{dir} - 原始目录路径
{name} - 去除扩展名的原始文件名
{lang} - 目标语言代码
translator-ai en.json -l es -o es.json
# 目录中的所有JSON文件
translator-ai locales/en/*.json -l es -o "locales/es/{name}.json"
# 递归通配符模式
translator-ai "src/**/en.json" -l fr -o "{dir}/fr.json"
# 多个特定文件
translator-ai file1.json file2.json file3.json -l de -o "{name}.de.json"
# 显示统计信息,包括节省了多少API调用
translator-ai src/i18n/*.json -l ja -o "{dir}/{name}.{lang}.json" --stats
translator-ai en.json -l de --stdout > de.json
translator-ai en.json -l de --stdout | jq
translator-ai en.json -l ja -o ja.json --no-cache
translator-ai en.json -l ko -o ko.json --cache-file /path/to/cache.json
# 使用Ollama的基本用法
translator-ai en.json -l es -o es.json --provider ollama
# 使用不同的Ollama模型
translator-ai en.json -l fr -o fr.json --provider ollama --ollama-model llama2:latest
# 连接到远程Ollama实例
translator-ai en.json -l de -o de.json --provider ollama --ollama-url http://192.168.1.100:11434
# 查看可用提供商
translator-ai --list-providers
# 自动检测源语言
translator-ai content.json -l es -o spanish.json --detect-source
# 一次性翻译成多种语言
translator-ai en.json -l es,fr,de,ja -o translations/{lang}.json
# 干跑模式 - 预览要翻译的内容而不进行API调用
translator-ai en.json -l es -o es.json --dry-run
# 保持格式(URL、电子邮件、日期、数字、模板变量)
translator-ai app.json -l fr -o app-fr.json --preserve-formats
# 包含翻译元数据(默认禁用以确保兼容性)
translator-ai en.json -l fr -o fr.json --metadata
# 按字母顺序排序键以保持一致的输出
translator-ai en.json -l fr -o fr.json --sort-keys
# 验证所有键是否存在于翻译中
translator-ai en.json -l fr -o fr.json --check-keys
# 使用不同的Gemini模型
translator-ai en.json -l es -o es.json --gemini-model gemini-2.5-flash
# 组合功能
translator-ai src/**/*.json -l es,fr,de -o "{dir}/{name}.{lang}.json" \
--detect-source --preserve-formats --stats --check-keys
--gemini-model选项允许您选择各种Gemini模型。流行的选项包括:
gemini-2.0-flash-lite(默认) - 快速高效,适合大多数翻译gemini-2.5-flash - 性能增强,具有新的能力gemini-pro - 更复杂的理解,适合复杂翻译gemini-1.5-pro - 上一代专业模型gemini-1.5-flash - 上一代快速模型示例用法:
# 使用最新的闪存模型
translator-ai en.json -l es -o es.json --gemini-model gemini-2.5-flash
# 使用默认轻量级模型
translator-ai en.json -l fr -o fr.json --gemini-model gemini-2.0-flash-lite
--openai-model选项允许您选择各种OpenAI模型。流行的选项包括:
gpt-4o-mini(默认) - 成本效益高且快速,适合大多数翻译gpt-4o - 最强大的模型,具有高级理解能力gpt-4-turbo - 上一代旗舰模型gpt-3.5-turbo - 快速高效,适合简单的翻译示例用法:
# 使用OpenAI和默认模型
translator-ai en.json -l es -o es.json --provider openai
# 使用GPT-4o进行复杂翻译
translator-ai en.json -l ja -o ja.json --provider openai --openai-model gpt-4o
# 使用GPT-3.5-turbo进行更快、更简单的翻译
translator-ai en.json -l fr -o fr.json --provider openai --openai-model gpt-3.5-turbo
启用--metadata标志后,translator-ai会在输出文件中添加元数据以帮助跟踪翻译:
{
"_translator_metadata": {
"tool": "translator-ai v1.1.0",
"repository": "https://github.com/DatanoiseTV/translator-ai",
"provider": "Google Gemini",
"source_language": "English",
"target_language": "fr",
"timestamp": "2025-06-20T12:34:56.789Z",
"total_strings": 42,
"source_file": "en.json"
},
"greeting": "Bonjour",
"farewell": "Au revoir"
}
元数据默认禁用以确保与i18n解析器兼容。使用--metadata来启用它。
使用--sort-keys标志按字母顺序排序所有JSON键:
translator-ai en.json -l es -o es.json --sort-keys
这确保了翻译之间的一致排序,并使差异更清晰。键按以下方式排序:
使用--check-keys标志确保翻译完整性:
translator-ai en.json -l es -o es.json --check-keys
此功能:
应支持任何标准化的语言代码。
当翻译多个文件时,translator-ai会自动:
例如:如果10个文件共享50%的字符串,您可以节省约50%的API调用!
%APPDATA%\translator-ai\translation-cache.json~/Library/Caches/translator-ai/translation-cache.json~/.cache/translator-ai/translation-cache.json缓存文件存储按以下索引的翻译:
这确保了:
gemini-2.0-flash-lite(默认) - 最快,最具成本效益gemini-pro - 性能均衡gemini-1.5-pro - 先进的能力gemini-1.5-flash - 快速且质量好--stats标志监控性能和优化机会translator-ai可以用作MCP服务器,允许像Claude Desktop这样的AI助手直接翻译文件。
添加到您的Claude Desktop配置:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"translator-ai": {
"command": "npx",
"args": [
"-y",
"translator-ai-mcp"
],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key-here"
// 或者对于Ollama:
// "TRANSLATOR_PROVIDER": "ollama"
}
}
}
}
配置完成后,您可以请求Claude翻译文件:
Human: 你能把我的英文区域文件翻译成西班牙语吗?
Claude: 我将使用translator-ai将您的英文区域文件翻译成西班牙语。
<use_tool name="translate_json">
{
"inputFile": "locales/en.json",
"targetLanguage": "es",
"outputFile": "locales/es.json"
}
</use_tool>
成功翻译!文件已保存到locales/es.json。
对于带去重的多个文件:
Human: 把我locales文件夹中的所有英文JSON文件翻译成德语。
Claude: 我将把您的所有英文JSON文件翻译成德语,并进行去重。
<use_tool name="translate_multiple">
{
"pattern": "locales/en/*.json",
"targetLanguage": "de",
"outputPattern": "locales/de/{name}.json",
"showStats": true
}
</use_tool>
翻译完成!处理了5个文件,节省了23%的去重。
translate_json:翻译单个JSON文件
inputFile:源文件路径targetLanguage:目标语言代码outputFile:输出文件路径