A language tool, explained
Translate,
explained.
How to use the tool, what happens to your text, and what the API returns.
01 / USE
From a thought to another language.
- 01
Choose the source.
Pick a language, or leave Detect language selected. Detection asks you to choose manually if it cannot identify the language.
- 02
Choose the destination.
Pick the language you want to read. Use the swap button after detection or translation to reverse the direction.
- 03
Translate.
Enter text and select Translate. On a keyboard, press Ctrl or Command plus Enter.
Use Copy text for the result. Copy share link copies a link that contains your original text and language choices.
02 / LANGUAGES
45 languages for text.
The source and target menus use the same list. Automatic detection is a source option, not a target language. These codes also work in the API.
Google Translate handles the listed codes through the Worker. Northern Sotho, Swati, Venda, Tsonga, and South Ndebele are now choices. This is language access, not a quality guarantee. Choose the source yourself when detection confuses short or related-language text.
- English
en - Afrikaans
af - Zulu
zu - Xhosa
xh - South Ndebele
nr - Northern Sotho
nso - Swati
ss - Southern Sotho
st - Setswana
tn - Tsonga
ts - Venda
ve - Amharic
am - Hausa
ha - Igbo
ig - Kinyarwanda
rw - Lingala
ln - Luganda
lg - Malagasy
mg - Nyanja
ny - Oromo
om - Shona
sn - Somali
so - Swahili
sw - Wolof
wo - Yoruba
yo - Arabic
ar - Bengali
bn - Chinese
zh - French
fr - German
de - Hindi
hi - Italian
it - Japanese
ja - Korean
ko - Malay
ms - Marathi
mr - Persian
fa - Portuguese
pt - Russian
ru - Spanish
es - Tagalog
tl - Thai
th - Turkish
tr - Urdu
ur - Vietnamese
vi
Malay (ms) does not include Indonesian (id). South Ndebele (nr) is distinct from Northern Ndebele. Wolof returned text in our RPC checks but is not listed in Google Cloud Translation's language list. Regional varieties and writing systems still need review.
03 / YOUR TEXT
Know where the words go.
The page sends text to Google Translate through this Worker for detection and translation. An optional OpenAI route is available only when the Worker has an OpenAI key. Translate does not keep a server-side translation history. Its API responses ask browsers and intermediaries not to cache them.
The text sits in the URL query string. Anyone with the link can read it, and the URL may appear in browser history. Share only text you are comfortable putting in a link.
Select Listen only when you want to send that text to Google for speech. The spoken text appears in the request URL.
04 / PROVIDERS AND SPEECH
One default route, one optional route.
| Task | Provider | Coverage |
|---|---|---|
| Text and detection | Google Translate web RPC | Default for the page and API |
| Optional API text | GPT-5 nano | engine=openai when an OpenAI key is configured |
| Speech | Google Translate speech | English, French, and Spanish |
The Google web endpoints are unofficial and can change or restrict requests. The Listen button is unavailable for languages without speech support. If the source and target match, Translate returns the input without a provider call.
05 / API
Use the same path as the page.
Send a GET query, a form POST, or a JSON POST to /api/translate/. Omit from or set it to auto to detect the source.
POST /api/translate/
Content-Type: application/json
{
"text": "Hello",
"from": "en",
"to": "es"
}
{
"translated-text": "Hola",
"source": "en",
"target": "es",
"engine": "google"
}
| Route | Returns |
|---|---|
GET /api/source_languages/ | Names and codes, including auto |
GET /api/target_languages/ | Names and codes, without auto |
GET /api/capabilities/ | Detection and speech support |
GET /api/health/ | Default provider and optional OpenAI availability |
GET /api/tts/?text=Hello&lang=en | Audio for supported languages |
Omit engine or set it to google for the default. The old cloudflare value remains an alias. If Google interprets an explicitly selected language as a different supported language, the response also has provider_source. Errors include error and message; upstream failures return 503.
06 / LIMITS
Where to use judgment.
Short, ambiguous, and mixed-language text can confuse detection. Google read a Swati example as Zulu even with Swati selected; the page shows a note when that happens. Translation quality varies by language and sentence. Our comparison found errors for Igbo, Luganda, Wolof, and colloquial Zulu. Native-speaker review remains open.
The Google web RPC and speech endpoint have no stability promise. If a provider fails, Translate reports the failure instead of substituting a different translation. The optional OpenAI path retains a small Zulu glossary, but the Google RPC has no glossary control.
Libre is disabled while its Cloudflare-native version is being built. Speech currently covers English, French, and Spanish.
Open Translate