43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
# Gemini 无头模式翻译指引
|
||
|
||
目标:在本地使用 Gemini CLI(gemini-2.5-flash)完成无交互批量翻译,避免工具调用与权限弹窗,适用于 prompts/skills/文档的快速机翻初稿。
|
||
|
||
## 原理概述
|
||
- CLI 通过本地缓存的 Google 凭证直连 Gemini API,模型推理在云端完成。
|
||
- 使用 `--allowed-tools ''` 关闭工具调用,确保只返回纯文本,不触发 shell/浏览器等动作。
|
||
- 通过标准输入传入待翻译文本,标准输出获取结果,便于脚本流水线处理。
|
||
- 可设置代理(http/https)让请求走本地代理节点,提升成功率与稳定性。
|
||
|
||
## 基本命令
|
||
```bash
|
||
# 代理(如需)
|
||
export http_proxy=http://127.0.0.1:9910
|
||
export https_proxy=http://127.0.0.1:9910
|
||
|
||
# 单条示例:中文 -> 英文
|
||
printf '你好,翻译成英文。' | gemini -m gemini-2.5-flash \
|
||
--output-format text \
|
||
--allowed-tools '' \
|
||
"Translate this to English."
|
||
```
|
||
- 提示语放在位置参数即可(`-p/--prompt` 已被标记弃用)。
|
||
- 输出为纯文本,可重定向保存。
|
||
|
||
## 批量翻译文件示例(stdin → stdout)
|
||
```bash
|
||
src=i18n/zh/prompts/README.md
|
||
dst=i18n/en/prompts/README.md
|
||
cat "$src" | gemini -m gemini-2.5-flash --output-format text --allowed-tools '' \
|
||
"Translate to English; keep code fences unchanged." > "$dst"
|
||
```
|
||
- 可在脚本中循环多个文件;失败时检查退出码与输出。
|
||
|
||
## 与现有 l10n-tool 的搭配
|
||
- l10n-tool(deep-translator)用于全量机翻;若质量或连通性不稳,可改为逐文件走 Gemini CLI。
|
||
- 流程:`cat 源文件 | gemini ... > 目标文件`;必要时在其他语种目录放跳转说明或手动校对。
|
||
|
||
## 注意事项
|
||
- 确保 `gemini` 命令在 PATH 且已完成身份认证(首次运行会引导登录)。
|
||
- 长文本建议分段,避免超时;代码块保持原样可在提示语中声明 “keep code fences unchanged”。
|
||
- 代理端口依实际环境调整;如不需要代理,省略相关环境变量。
|