AI Translation
LLM-Powered Translation
tradumacos integrates with large language model providers for machine translation suggestions. Supported providers:
| Provider | Models | Authentication |
|---|---|---|
| OpenAI | gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo | API Key (Bearer token) |
| Azure OpenAI | Deployment-based (user-specified) | API Key (api-key header) + Custom Endpoint + Deployment Name |
| Google Gemini | gemini-2.0-flash, gemini-2.5-pro, gemini-2.5-flash | API Key (URL parameter) |
| Anthropic | claude-sonnet-4-20250514, claude-haiku-4-20250414, claude-opus-4-20250514 | API Key (x-api-key header) |
| DeepL | Single neural engine (no model selection) | API Key (DeepL-Auth-Key header) |
| Local LLM | Any model (user-specified) | Custom Endpoint + Optional API Key |
Tag Protection
When using LLM pre-translation, inline tags (bold, italic, hyperlinks, etc.) are automatically masked before sending to the LLM and restored after translation. If the LLM modifies or drops tags, tradumacos attempts auto-repair before falling back to the raw translation.
Per-Provider Prompt Optimization
tradumacos uses optimized prompts tailored to each LLM provider's capabilities:
- OpenAI / Azure OpenAI / Local LLM — Uses
response_format: json_objectfor guaranteed JSON output, with a wrapped object format ({"t":[...]}). - Google Gemini — Uses
responseMimeType: application/jsonfor structured output, with a bare array format. - Anthropic — Relies on prompt-based JSON instructions (no native JSON mode), with a bare array format.
- All providers use short numeric IDs and compact JSON keys (
"i","t") instead of UUIDs to minimize token usage (~30-40% savings per batch).
Error Messages
All LLM-related error messages (connection failures, parsing errors, rate limits, quota exceeded, etc.) and pre-translate status messages are fully localized in all four app languages (English, Spanish, French, Turkish). Error messages are displayed in the status bar at the bottom of the editor.
Multi-Provider Support
You can configure multiple providers simultaneously in Settings > LLM Provider. Each provider has its own API key, model, and endpoint configuration. Set a global default provider, then optionally override it per project — either when creating the project or later via the sidebar's LLM provider dropdown.
API Keys
Each cloud provider requires an API key for authentication. Click the ? (help) button next to any provider name in Settings to see step-by-step instructions for obtaining an API key. All API keys are stored securely in the macOS Keychain, never in project files.
DeepL Translation
DeepL is a dedicated neural machine translation service known for high-quality European language translations. Unlike LLM-based providers, DeepL uses a specialized translation engine — there are no model choices, temperature settings, or prompt customization.
Key Differences from LLM Providers
- No model selection — DeepL uses a single engine optimized for translation.
- Direct translation — Text is sent directly to DeepL's API without glossary or TM prompt injection. (DeepL has its own glossary API which may be supported in a future update.)
- Auto-detect Free/Pro — The app automatically detects whether your API key is for the Free or Pro plan (Free keys end with
:fx) and uses the correct endpoint.
Where to Find Your DeepL Key
- DeepL Pro subscribers (Advanced, Ultimate, etc.): Sign in at deepl.com → go to Admin → Account tab → scroll to the bottom → find "Authentication Key for CAT tool plugins" → click the eye icon to reveal the key, then copy it.
- DeepL API subscribers (Free or Pro API): Go to deepl.com/your-account/keys and copy your API key. Free API keys end with
:fx.
Supported Languages
DeepL supports most major European and Asian languages including English, Turkish, German, French, Spanish, Italian, Portuguese, Russian, Chinese, Japanese, and Korean. Arabic is not currently supported by DeepL.
Local LLM Support
tradumacos can connect to self-hosted LLM servers running on your machine or local network. Any server that implements the OpenAI-compatible API format (/v1/chat/completions) is supported:
| Server | Install | Default Endpoint |
|---|---|---|
| Ollama | Download from ollama.com | http://localhost:11434/v1 |
| LiteLLM | pip install litellm |
http://localhost:4000/v1 |
| vLLM | pip install vllm |
http://localhost:8000/v1 |
| LocalAI | See localai.io | http://localhost:8080/v1 |
Setting Up a Local LLM
- Install and start one of the servers listed above.
- Pull or download a model (e.g.,
ollama pull llama3). - In Settings > LLM Provider, expand the Local LLM card.
- Enter the server's endpoint URL (e.g.,
http://localhost:11434/v1). - Enter the model name as installed on your server.
- (Optional) Enter an API key if your server requires authentication.
- Click Test Connection to verify.
The API key field is optional for Local LLM — most local servers don't require authentication by default.