Skip to content

Translation service

You need an API key from DeepL, Google Cloud Translation, or both. LocaleReady does not issue those keys. Get a translation API key walks through each provider, then you paste the key under Settings → Connectors in wp-admin.

Both services are WordPress Connectors. LocaleReady’s Translation tab shows each one as connected or not, with a link straight to that screen.

You do not need to choose only one. With both connected, set the service to use to Automatic and LocaleReady tries them in order, falling back to the next one if the first is unreachable, out of quota, or does not support the language pair. A visitor never sees the failure — they see a translation from whichever service actually answered.

Before you trust a connection, the Test a translation card sends a short piece of text to one connected service and shows exactly what came back — the translation, which service answered, and how long it took. This is a real, billed request: it counts toward the same monthly usage every other translation does, and nothing about it is saved to translation memory.

Brand and product names a machine translator would otherwise “helpfully” translate — “Acme Cloud” becoming “Nube Acme” is the canonical example. List a term once and it passes through every provider exactly as written, in every language. Existing translations are not retroactively rewritten; regenerate a specific one from the Translations screen if you add a term after the fact.

Two other kinds of text are protected automatically, with no list to maintain:

  • Currency and money amounts — “$13.50”, “13,50 €”, “13.50 USD” — are recognized by pattern and withheld from every provider before the request is even sent.
  • Literal interpolation tokens, like the ### a theme or plugin substitutes a number into after the fact, are isolated so a provider cannot mangle the placeholder itself.

If the connected service returns nothing for a string — an outage, a malformed response, a temporary account issue — you choose what a visitor sees: the source text, or nothing. Source text is the default, and the safer one: a sentence in the wrong language is still readable; a sentence that vanishes usually is not.