43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
# Gemini Headless Mode Translation Guide
|
|
|
|
Objective: To perform non-interactive bulk translation locally using Gemini CLI (gemini-2.5-flash), avoiding tool calls and permission pop-ups, suitable for quick machine translation drafts of prompts/skills/documents.
|
|
|
|
## Principle Overview
|
|
- CLI connects directly to Gemini API using locally cached Google credentials; model inference is done in the cloud.
|
|
- Use `--allowed-tools ''` to disable tool calls, ensuring only plain text is returned, without triggering shell/browser actions.
|
|
- Pass text to be translated via standard input, and get results from standard output, facilitating script pipeline processing.
|
|
- A proxy (http/https) can be set to route requests through a local proxy node, improving success rate and stability.
|
|
|
|
## Basic Commands
|
|
```bash
|
|
# Proxy (if needed)
|
|
export http_proxy=http://127.0.0.1:9910
|
|
export https_proxy=http://127.0.0.1:9910
|
|
|
|
# Single example: Chinese -> English
|
|
printf '你好,翻译成英文。' | gemini -m gemini-2.5-flash \
|
|
--output-format text \
|
|
--allowed-tools '' \
|
|
"Translate this to English."
|
|
```
|
|
- The prompt can be placed as a positional argument (`-p/--prompt` is deprecated).
|
|
- Output is plain text, can be redirected for saving.
|
|
|
|
## Batch File Translation Example (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"
|
|
```
|
|
- Can loop through multiple files in a script; check exit code and output on failure.
|
|
|
|
## Integration with existing l10n-tool
|
|
- l10n-tool (deep-translator) is used for full machine translation; if quality or connectivity is unstable, it can be switched to file-by-file processing with Gemini CLI.
|
|
- Process: `cat source_file | gemini ... > target_file`; if necessary, place redirection instructions or manually proofread in other language directories.
|
|
|
|
## Notes
|
|
- Ensure `gemini` command is in PATH and identity authentication is complete (first run will guide login).
|
|
- For long texts, it is recommended to split them into segments to avoid timeouts; code blocks can be kept as is by declaring "keep code fences unchanged" in the prompt.
|
|
- Adjust proxy port according to actual environment; if no proxy is needed, omit relevant environment variables.
|