Translation Engine – AI Providers
On this page
- Language models and machine translation
- Available engines
- OpenAI
- Google Gemini
- Anthropic (Claude)
- Google Translate
- MyMemory
- DeepL
- Custom endpoint (OpenAI-compatible)
- Processing
- Synchronous (wait for result)
- Batch (cheaper, delayed)
- Background (OpenAI only)
- ⚠️ Warning: long content in Synchronous mode can fail.
- When the PRO licence lapses
The plugin supports seven translation engines, plus any endpoint that speaks OpenAI’s chat API. You
pick one under AI Translation → Settings → General → Engine, paste its API key and choose a
model. Only one engine is active at a time, and each keeps its own key and model, so switching
between them — and back — costs you nothing in reconfiguration.
You bring your own key, so every engine bills you directly at its published rates. The plugin adds
nothing on top, and requests go from your WordPress server to the engine and back.
Every engine on this page is billed by its provider, per token or per character. If you would rather
not pay per word at all, the plugin can also be driven from Claude or ChatGPT, where the assistant
translates and your subscription covers it — see Translating from Claude and ChatGPT (MCP). That is
a separate route, not an engine you select here.
| Engine | Kind | Available in | Billed |
|---|---|---|---|
| OpenAI | Language model | Free | Per token |
| Google Gemini | Language model | Free | Per token |
| Google Translate | Machine translation | Free | Per character |
| MyMemory | Machine translation | Free | Free, with a daily quota |
| Anthropic Claude | Language model | PRO | Per token |
| DeepL | Machine translation | PRO | Per character |
| Custom endpoint (OpenAI-compatible) | Language model | PRO | Whatever you enter |
#Language models and machine translation
Language models (OpenAI, Gemini, Claude) follow instructions. They receive the translation
prompt, your website description, the glossary and the reasoning effort, and translate a page as
one document.
Machine-translation engines (Google Translate, DeepL, MyMemory) translate text and cannot follow
instructions. The translation prompt, the website description and the reasoning effort are ignored.
The settings screen says so under the engine select.
The glossary is ignored too — with one exception. DeepL has a glossary API of its own, so your
terms are uploaded to it and honoured; Google Translate and MyMemory have no equivalent, and a site
with a glossary that switches to one of those keeps translating but loses its locked terms.
#Available engines
#OpenAI
Full language-model translation — follows the prompt, the website description, the glossary and the
reasoning effort. Billed per token.
- Get an API key: https://platform.openai.com/api-keys
- Step-by-step guide: https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key
- Key format: starts with
sk-
The only engine with Background processing, and it supports Batch as well.
#Google Gemini
Full language-model translation, same prompt/context/glossary support. Billed per token.
- Get an API key: https://aistudio.google.com/apikey
- Documentation: https://ai.google.dev/gemini-api/docs
Synchronous only in this plugin.
#Anthropic (Claude)
Available in LATW AI Translation for Polylang PRO.
Full language-model translation, same prompt/context/glossary support. Billed per token.
- Get an API key: https://console.anthropic.com/settings/keys
- Documentation: https://docs.anthropic.com/en/api/getting-started
- Key format: starts with
sk-ant-
Claude has no background mode, so asynchronous jobs always go through the Batch API — and Claude
batches usually take longer than OpenAI’s, typically 2–8 hours.
#Google Translate
A machine-translation engine. Billed per character.
- Get an API key: https://console.cloud.google.com/apis/credentials
- Step-by-step guide: https://cloud.google.com/translate/docs/setup
- Requires a Google Cloud API key with the Cloud Translation API enabled.
Synchronous only, content split into small requests — safe for long posts.
#MyMemory
A free translation-memory and machine-translation service. No account and no API key — the
engine you can try without signing up for anything.
- Usage limits: https://mymemory.translated.net/doc/usagelimits.php
Requests are anonymous, and MyMemory allows roughly 5,000 characters a day for anonymous use. That
is enough to try the plugin or translate a few short pages, not a site.
It is noticeably slower than the paid engines: MyMemory accepts one short piece of text per
request, so a single post can become dozens of requests.
#DeepL
Available in LATW AI Translation for Polylang PRO.
A machine-translation engine. Billed per character.
- Get an API key: https://www.deepl.com/pro-api
- Documentation: https://developers.deepl.com/docs
- Free keys end with
:fxand are routed to DeepL’s free endpoint automatically.
Synchronous only, content split into small requests — safe for long posts.
Your glossary is honoured, through DeepL’s own glossary feature: the terms for each language pair
are uploaded to your DeepL account the first time that pair is translated, and re-uploaded whenever
you edit them. If DeepL does not support a pair, that translation simply runs without the glossary
rather than failing. Deleting the PRO plugin leaves those glossaries on your DeepL account — they
belong to it, and you can remove them there.
#Custom endpoint (OpenAI-compatible)
Available in LATW AI Translation for Polylang PRO.
Not a service of its own, but an address you provide: any API that speaks OpenAI’s chat format. That
covers a model you host yourself (Ollama, vLLM, LM Studio, llama.cpp, LocalAI) and the gateways that
resell other people’s models behind the same format — OpenRouter and Groq among them.
Full language-model translation: the translation prompt, the website description and the glossary
all apply, exactly as they do for OpenAI.
- Instead of a key you enter the endpoint URL, for example
https://openrouter.ai/api/v1,
https://api.groq.com/openai/v1orhttp://127.0.0.1:11434/v1. - The model is typed in by hand — there is no list to choose from, because the models are whatever
your endpoint serves. - The API key is optional. A server running on your own machine usually needs none.
- Billing is whatever your provider charges, so you enter the price yourself. Leave it at 0 for a
model you host.
Synchronous only: there is no Batch API and no Background mode behind a custom endpoint.
Setting it up, including step-by-step recipes for OpenRouter, Groq and a model on your own server, is
covered in Using Your Own Model or Any OpenAI-Compatible API.
#Processing
Settings → General → Processing decides how each translation is sent to the engine and when the
result comes back. It changes how the request is delivered, never what it contains. Only the modes
an engine can actually run are offered — pick Google Translate, for instance, and Batch and
Background disappear from the list, because that engine has neither.
#Synchronous (wait for result)
The cron calls the engine and waits for the answer in the same run, so the translation appears
within a minute or two. Full price.
Best for short content (terms, titles, strings) and for seeing results immediately while you set
things up.
#Batch (cheaper, delayed)
The request is handed to the engine’s Batch API for about 50% of the normal price and polled
every minute until it is ready. Most batches come back in 10–60 minutes (typically 20–30) on OpenAI;
Anthropic’s usually take 2–8 hours. The only guarantee an engine gives is a 24-hour window, so a
single job can take much longer at peak times.
Available on OpenAI and Anthropic. Best for bulk translating many or long posts, where cost
matters more than speed.
#Background (OpenAI only)
The request is started without blocking and polled every minute, usually finishing in a few minutes.
Full price, but it never depends on your server surviving a long request — the safest choice for
long posts on OpenAI, and the default there.
A mode the active engine cannot serve falls back to Synchronous on its own: Background works with
OpenAI only, and the machine-translation engines (Google Translate, MyMemory, DeepL) and a custom
endpoint have no Batch API either.
#⚠️ Warning: long content in Synchronous mode can fail.
One long post sent to a language model is a single request that can take minutes, so it may be cut
short by a PHP, web-server or proxy timeout — and the job then fails and has to be sent again, from
scratch. For long posts and bulk jobs pick Batch, or Background on OpenAI. The
machine-translation engines split content into small requests and are not affected.
#When the PRO licence lapses
Claude, DeepL and a custom endpoint are no longer offered, and a site set to one of them falls back
to OpenAI — keep an OpenAI key saved if translation should carry on uninterrupted. Your Claude,
DeepL and custom-endpoint settings stay stored and come back with the licence.
Translations already sent to Claude or DeepL are collected as normal, whatever the licence does in
the meantime — you are never billed for work you cannot receive. A custom endpoint has nothing to
collect later: it is synchronous only, so a translation either finished in the request that sent it
or never went out.
Which models each engine offers, and what they cost, is described in AI Models and Cost.