diff --git a/docs.json b/docs.json index 625264c..b2b0def 100644 --- a/docs.json +++ b/docs.json @@ -41,7 +41,13 @@ "docs/getting-started/about", "docs/getting-started/auth", "docs/getting-started/regional-endpoints", - "docs/getting-started/client-libraries", + { + "group": "Developer Tools", + "pages": [ + "docs/getting-started/client-libraries", + "docs/getting-started/deepl-cli" + ] + }, "docs/getting-started/managing-api-keys", "docs/getting-started/your-first-api-request", "docs/getting-started/test-your-api-requests-with-postman", @@ -393,6 +399,10 @@ "source": "/api-reference/client-libraries", "destination": "/docs/getting-started/client-libraries" }, + { + "source": "/docs/cli", + "destination": "/docs/getting-started/deepl-cli" + }, { "source": "/docs/resources/release-notes/rss.xml", "destination": "/docs/resources/roadmap-and-release-notes/rss.xml" diff --git a/docs/getting-started/client-libraries.mdx b/docs/getting-started/client-libraries.mdx index ce8acb6..37bf741 100644 --- a/docs/getting-started/client-libraries.mdx +++ b/docs/getting-started/client-libraries.mdx @@ -35,6 +35,10 @@ Features include: All officially supported client libraries are open-source under the MIT License. We welcome feedback in the form of issues and pull requests! +## Command-line interface + +For terminal-based workflows, scripting, and CI/CD pipelines, see the [DeepL CLI](/docs/getting-started/deepl-cli). + ## Community-created client libraries The DeepL community [maintains client libraries](https://github.com/DeepLcom/awesome-deepl?tab=readme-ov-file#community-libraries--sdks) for other languages, including [Dart](https://github.com/komape/deepl_dart), [Go](https://github.com/candy12t/go-deepl), [Rust](https://github.com/Avimitin/deepl-rs), and [Kotlin](https://github.com/SimplyMika/DeeplKt). diff --git a/docs/getting-started/deepl-cli.mdx b/docs/getting-started/deepl-cli.mdx new file mode 100644 index 0000000..e2d7257 --- /dev/null +++ b/docs/getting-started/deepl-cli.mdx @@ -0,0 +1,131 @@ +--- +title: "DeepL CLI" +description: "Install and use the DeepL CLI to translate text, documents, and more from your terminal." +public: true +--- + +**This page shows you:** +- How to install the DeepL CLI from source +- How to authenticate and run your first translation +- What commands are available for translation, writing, voice, and more + +The [DeepL CLI](https://github.com/DeepLcom/deepl-cli) is an open-source (MIT license) command-line tool for interacting with the DeepL API. It covers text translation, document translation, writing enhancement, voice translation, glossary management, and admin operations — all from your terminal. + +## Installation + + +The CLI requires [Node.js](https://nodejs.org/) (v18+) and build tools for native compilation: +- **macOS**: Xcode Command Line Tools (`xcode-select --install`) +- **Linux**: `python3`, `make`, `gcc` (`apt install python3 make gcc g++`) +- **Windows**: Visual Studio Build Tools + + +```bash +git clone https://github.com/DeepLcom/deepl-cli.git +cd deepl-cli +npm install +npm run build +npm link + +deepl --version +``` + +## Quick start + +### 1. Set up authentication + +Use the interactive setup wizard: + +```bash +deepl init +``` + +Or set your API key directly: + +```bash +deepl auth set-key YOUR_API_KEY +``` + +Or use an environment variable: + +```bash +export DEEPL_API_KEY=YOUR_API_KEY +``` + +### 2. Translate text + +```bash +deepl translate "Hello, world!" --to es +# ¡Hola, mundo! +``` + +### 3. Enhance your writing + +```bash +deepl write "Their going to the stor tommorow" --lang en-us +# They're going to the store tomorrow. +``` + +## Key capabilities + +| Command | Description | +|---------|-------------| +| `deepl translate` | Translate text with support for formality, context, and custom instructions | +| `deepl translate --file` | Translate text files while preserving code blocks and formatting | +| `deepl document` | Translate documents (PDF, DOCX, PPTX, XLSX) with format preservation | +| `deepl write` | Enhance grammar and style via DeepL Write | +| `deepl voice` | Stream real-time speech translation via WebSocket | +| `deepl watch` | Monitor files and auto-translate on change | +| `deepl glossary` | Create, list, and manage glossaries | +| `deepl admin` | Manage API keys, usage limits, and team access | +| `deepl usage` | Check API usage and character quotas | +| `deepl config` | Configure defaults (target language, formality, model) | + +## Usage examples + +### Translate with context and formality + +```bash +deepl translate "Thank you for your patience" --to de --formality more \ + --context "Customer support email to a long-standing client" +``` + +### Translate a document + +```bash +deepl document translate report.pdf --to fr --output report-fr.pdf +``` + +### Batch translate a directory + +```bash +deepl translate --file src/locales/en/ --to de,fr,es --output src/locales/ +``` + +### Watch mode for development + +```bash +deepl watch ./content/en --to de,fr --output ./content/ +``` + +### Git hooks integration + +Automatically translate changed files before each commit: + +```bash +deepl hooks install --pre-commit --languages de,fr +``` + +## Developer workflow features + +- Local SQLite cache with LRU eviction avoids redundant API calls +- Monitor billed characters for budget planning with `deepl usage` +- Use `--quiet` and `--no-input` flags for CI/CD pipelines +- Generate shell completions for bash, zsh, fish, and PowerShell + +## Further reading + +- [DeepL CLI on GitHub](https://github.com/DeepLcom/deepl-cli) — full documentation, changelog, and source code +- [DeepL API authentication](/docs/getting-started/auth) — set up your API key +- [Your first API request](/docs/getting-started/your-first-api-request) — understand how the API works +- [Client libraries](/docs/getting-started/client-libraries) — official SDKs for six languages