Content Localization CLI
Find a file
2025-04-22 14:27:17 +08:00
config feat: chunking + progress bar 2025-04-22 14:27:17 +08:00
translator feat: chunking + progress bar 2025-04-22 14:27:17 +08:00
go.mod feat: chunking + progress bar 2025-04-22 14:27:17 +08:00
go.sum feat: chunking + progress bar 2025-04-22 14:27:17 +08:00
main.go feat: chunking + progress bar 2025-04-22 14:27:17 +08:00
README.md init 2025-03-30 23:20:47 +08:00
sample_config.yaml feat: chunking + progress bar 2025-04-22 14:27:17 +08:00

d10n - Content Translation CLI Tool

d10n is a CLI tool for translating text content in files or directories using LLM models.

Configuration

Create a configuration file at ~/.config/d10n.yaml with the following format:

api_base: "https://api.openai.com"  # OpenAI-compatible API base URL
api_key: "your-api-key"             # API key for the service
model: "gpt-4o"                     # Model to use for translation
system_prompt: "Custom prompt"      # Optional: Custom system prompt

You can use the following variables in your system prompt:

  • $SOURCE_LANG: Will be replaced with the source language code
  • $TARGET_LANG: Will be replaced with the target language code

Usage

d10n <source_path> [options]

Options

  • -target <path>: Target path for translated content (default: <source_path>_l10n[.extension])
  • -source-lang <code>: Source language code (required)
  • -target-lang <code>: Target language code (required)
  • -model <model>: Model to use for translation (overrides config)
  • -api-key <key>: API key (overrides config)
  • -api-base <url>: API base URL (overrides config)
  • -system-prompt <prompt>: System prompt (overrides config)
  • -format <ext>: File format to process (e.g., md, txt)

Examples

Translate a single file from English to Spanish:

d10n document.md -target-lang es

Translate a directory of Markdown files to Chinese:

d10n ./documents -target-lang zh -format md

Specify source language explicitly:

d10n article.txt -source-lang fr -target-lang en

Building from Source

go build -o d10n

Then move the binary to a location in your PATH.