跳转到内容

为什么选择 yaku?

yaku 是一个在终端中翻译文字、文件和结构化文档的 CLI 工具。安装后执行 yaku --to zh-CN "Hello",就能得到翻译结果——不需要 API key、不需要账号、不需要任何配置。

yaku 的设计是为了处理真实世界的文件:翻译 Markdown 时不会破坏格式、翻译 JSON 和 YAML 时只动值而不动 key,还能通过术语表文件来统一用词。它从 stdin、文件或参数读取输入,并输出到 stdout,能自然地融入脚本和管道工作流。

这个页面帮助你判断 yaku 是否适合你的需求。

  • 翻译不同语言之间的文字 ——支持 LLM 后端所支持的任何语言对。
  • 润色文章 ——改善你以非母语撰写的文字,提升语法和流畅度,而不进行翻译。
  • 保留结构 ——翻译 Markdown、JSON 和 YAML 时不破坏格式。key、代码块、URL 和 front matter 都保持原样。
  • 控制术语 ——术语表文件可以锁定特定词汇的翻译方式,或让它们保持不翻译。
  • 融入管道工作流 ——默认从 stdin 读取、输出到 stdout,可以和 curlghgitjq 以及任何其他 CLI 工具组合使用。

yaku 的范围是帮助你跨越语言障碍。超出这个范围的功能被刻意排除:

不在范围内改用
代码生成或解释通用 AI CLI(llmaichatsgpt
文字摘要通用 AI CLI
问答或对话ChatGPT、Claude 或通用 AI CLI
格式转换(例如 Markdown → HTML)pandoc
不涉及翻译场景的拼写检查aspelllanguagetool
图形界面翻译Google 翻译、DeepL

简单判断法: 如果一个任务不涉及跨越语言障碍,yaku 就不是合适的工具。

这些是浏览器工具。你必须离开终端、复制文字、粘贴、获取结果,再粘贴回来。yaku 省去这个来回:

Terminal window
# 不用再复制粘贴到浏览器:
echo "Bonjour, comment ça va ?" | yaku --to zh-CN
cat error.log | yaku --to zh-CN --context "nginx error log"
yaku --to zh-CN -f README.en.md -o README.md

yaku 还能保留文件结构(JSON key、Markdown 格式),并支持术语表的术语控制——这些都是浏览器工具做不到的。

vs. 通用 AI CLI(llmsgptaichat

Section titled “vs. 通用 AI CLI(llm、sgpt、aichat)”

这些工具把任意 prompt 传给 LLM。你可以用它们翻译,但每次都要自己写 prompt:

Terminal window
# 使用通用 AI CLI:
echo "Hello" | llm "translate this to Simplified Chinese"
# 使用 yaku:
echo "Hello" | yaku --to zh-CN

差别在于:

yaku通用 AI CLI
Prompt 工程内置,针对翻译质量调优你自己写 prompt
格式保留自动处理 Markdown、JSON、YAML手动(希望 LLM 遵循你的指示)
术语表支持内置(.yaku-glossary.yaml没有
输出整洁度已清理——不会有”以下是翻译:“之类的前言原始 LLM 输出
范围仅翻译和润色任何你能 prompt 的事

如果你需要一把处理所有 AI 任务的万能工具,用 llmaichat。如果你要可靠、有结构、术语一致的翻译,用 yaku。

Translate Shell 使用传统翻译引擎(Google、Bing),不是 LLM。它快速且免费,但:

  • 没有格式感知——无法在保留 key 的同时翻译 JSON/YAML
  • 没有术语表或术语控制
  • 翻译质量受限于底层引擎(常常太直译、不自然)
  • 没有润色模式

Translate Shell 适合快速查词。yaku 更适合开发输出、结构化文件和对质量有要求的翻译。

  • 你经常翻译开发文档(文档、i18n 文件、README、错误信息)。
  • 你想让整个项目的术语保持一致(术语表)。
  • 你处理结构化文件(Markdown、JSON、YAML),需要保留结构。
  • 你以非母语写作,想要润色你的文字。
  • 你想把翻译纳入脚本或 CI/CD 流程。
  • 你需要通用 AI 助手 ——yaku 只做翻译和润色。代码生成、摘要或问答请用 llmaichatsgpt
  • 你需要实时互动对话 ——yaku 是无状态的(一个输入,一个输出)。来回对话请用 ChatGPT 或 Claude。
  • 你需要完全离线、零配置的翻译 ——yaku 需要网络连接(托管服务)或本地运行的 LLM(例如 Ollama)。它不内置模型。
  • 你需要图形界面翻译 ——yaku 只在终端使用。浏览器翻译请用 Google 翻译或 DeepL。