跳转到内容

语言

yaku 不维护硬编码的语言列表。它将目标语言代码传给 LLM 后端,由后端处理实际翻译。这表示 yaku 支持你选择的后端模型能翻译的所有语言

常用语言代码(BCP 47 格式):

代码语言代码语言
enEnglishko韩语
zh-TW繁体中文th泰语
zh-CN简体中文vi越南语
ja日语fr法语
de德语es西班牙语
pt葡萄牙语it意大利语
ru俄语ar阿拉伯语

语言有区域变体时,请使用完整的 BCP 47 代码。例如 zh-TW(台湾使用的繁体中文)和 zh-CN(中国大陆使用的简体中文)。

yaku 会依 BCP 47 标准验证 --to--from 的值。它会自动规范化大小写(zh-cnzh-CN),并在代码无效时提供有用的建议:

Terminal window
yaku --to japanese "Hello"
# Error: unknown language "japanese". Did you mean "ja"?
yaku --to zh-cn "Hello"
# 正常运行——静默规范化为 zh-CN

在 LLM 提示词中,yaku 会将语言代码和显示名称并列(例如 “Translate to Japanese (ja)“)以提高清晰度。

每次翻译都需要目标语言。使用 --to 指定:

Terminal window
yaku --to zh-CN "Hello, world"
yaku --to zh-CN -f README.en.md

设置默认值就可以省略 --to

Terminal window
yaku config set default-target zh-CN

这样以下两种写法等价:

Terminal window
echo "Hello" | yaku --to zh-CN
echo "Hello" | yaku # 使用 default-target

明确传入 --to 时一律覆盖默认值:

Terminal window
echo "Hello" | yaku --to ja # 日语,不是 zh-CN

默认情况下,yaku 让 LLM 自动检测源语言。大多数文字都能正常运行:

Terminal window
yaku --to zh-CN "This is a test"
# 这是一个测试

需要明确控制时使用 --from

Terminal window
yaku --from en --to zh-CN "This is a test"

何时使用 --from

  • 文字混合多种语言,自动检测选错了。
  • 在脚本或 CI/CD 流程中需要确定性行为。
  • 文字很短(几个字)且 LLM 猜错了语言。

如果 --from--to 是同一语言,yaku 会建议改用润色模式

Terminal window
yaku --from zh-CN --to zh-CN "我想要跟你讨论关于部署的问题"
# Hint: source and target language are both zh-CN. Consider using --mode polish for language refinement.
  • 使用托管后端 — 默认后端使用精调过的语言专属提示词,能产出更高质量的翻译。详见托管服务与方案
  • 加入上下文 — 使用 --context 提示领域。这帮助 LLM 选择正确的用词:
    Terminal window
    yaku --to zh-CN --context "medical documentation" -f report.en.md
  • 使用术语表 — 要在项目中维持用词一致,请创建术语表文件
  • 使用润色模式进行编修 — 如果你已有目标语言的草稿,--mode polish 可以改善它而不重新翻译:
    Terminal window
    yaku --mode polish --to zh-CN -f draft.md