--- title: "Supported languages" section: "Real-time translation" order: 3 sidebarLabel: "Supported languages" --- The real-time API accepts ISO-639-1 language codes (`en`, `es`, `zh`, …). Regional tags are accepted (`en-US`, `pt-BR`) — only the primary subtag is used. --- ## Input (`sourceLanguage`) Languages you can speak. Pass `auto` to let the ASR detect the spoken language; the detected code is returned on every transcript frame as `detected_language`. | Code | Language | | --- | --- | | `auto` | Auto-detect | | `zh` | Chinese (Mandarin) | | `yue` | Cantonese | | `en` | English | | `fr` | French | | `de` | German | | `it` | Italian | | `ja` | Japanese | | `ko` | Korean | | `pt` | Portuguese | | `ru` | Russian | | `es` | Spanish | --- ## Output — translated text (`targetLanguage` with `audioOutputEnabled=false`) Languages you can receive as text transcripts. Translation runs on Qwen3 (4B). Codes marked **text only** have no Piper voice — they can only be used with `audioOutputEnabled=false`. | Code | Language | Audio | | --- | --- | --- | | `ar` | Arabic | ✓ | | `bg` | Bulgarian | ✓ | | `bn` | Bengali | text only | | `ca` | Catalan | ✓ | | `cs` | Czech | ✓ | | `cy` | Welsh | ✓ | | `da` | Danish | ✓ | | `de` | German | ✓ | | `el` | Greek | ✓ | | `en` | English | ✓ | | `es` | Spanish | ✓ | | `eu` | Basque | ✓ | | `fa` | Persian (Farsi) | ✓ | | `fi` | Finnish | ✓ | | `fr` | French | ✓ | | `ga` | Irish | text only | | `gu` | Gujarati | text only | | `he` | Hebrew | text only | | `hi` | Hindi | ✓ | | `hu` | Hungarian | ✓ | | `id` | Indonesian | ✓ | | `is` | Icelandic | ✓ | | `it` | Italian | ✓ | | `ja` | Japanese | text only | | `ka` | Georgian | ✓ | | `kk` | Kazakh | ✓ | | `kn` | Kannada | text only | | `ko` | Korean | text only | | `lb` | Luxembourgish | ✓ | | `lv` | Latvian | ✓ | | `ml` | Malayalam | ✓ | | `mr` | Marathi | text only | | `ne` | Nepali | ✓ | | `nl` | Dutch | ✓ | | `no` | Norwegian | ✓ | | `pl` | Polish | ✓ | | `pt` | Portuguese | ✓ | | `ro` | Romanian | ✓ | | `ru` | Russian | ✓ | | `sk` | Slovak | ✓ | | `sl` | Slovenian | ✓ | | `sq` | Albanian | ✓ | | `sr` | Serbian | ✓ | | `sv` | Swedish | ✓ | | `sw` | Swahili | ✓ | | `ta` | Tamil | text only | | `te` | Telugu | ✓ | | `th` | Thai | text only | | `tr` | Turkish | ✓ | | `uk` | Ukrainian | ✓ | | `ur` | Urdu | ✓ | | `vi` | Vietnamese | ✓ | | `yue` | Cantonese | text only | | `zh` | Chinese (Mandarin) | ✓ | --- ## Output — translated speech (`targetLanguage` with `audioOutputEnabled=true`) Languages you can receive as translated audio. Voices are synthesized via [Piper](https://github.com/OHF-Voice/piper1-gpl). Where a language has both a male and female voice in the Piper catalog, you can select with `voiceType`; languages marked with a single voice synthesize the same voice regardless of `voiceType`. | Code | Language | Voices | | --- | --- | --- | | `ar` | Arabic | single | | `bg` | Bulgarian | single | | `ca` | Catalan | male, female | | `cs` | Czech | single | | `cy` | Welsh | male, female | | `da` | Danish | single | | `de` | German | male, female | | `el` | Greek | single | | `en` | English | male, female | | `es` | Spanish | male, female | | `eu` | Basque | male, female | | `fa` | Persian (Farsi) | male, female | | `fi` | Finnish | single | | `fr` | French | male, female | | `hi` | Hindi | male, female | | `hu` | Hungarian | male, female | | `id` | Indonesian | single | | `is` | Icelandic | male, female | | `it` | Italian | male, female | | `ka` | Georgian | single | | `kk` | Kazakh | male, female | | `lb` | Luxembourgish | single | | `lv` | Latvian | single | | `ml` | Malayalam | male, female | | `ne` | Nepali | single | | `nl` | Dutch | male, female | | `no` | Norwegian | single | | `pl` | Polish | male, female | | `pt` | Portuguese | male, female | | `ro` | Romanian | single | | `ru` | Russian | male, female | | `sk` | Slovak | single | | `sl` | Slovenian | single | | `sq` | Albanian | single | | `sr` | Serbian | single | | `sv` | Swedish | single | | `sw` | Swahili | single | | `te` | Telugu | male, female | | `tr` | Turkish | single | | `uk` | Ukrainian | male, female | | `ur` | Urdu | single | | `vi` | Vietnamese | single | | `zh` | Chinese (Mandarin) | single | The MT model (Qwen3 4B) supports 11 additional text-only target languages without a Piper voice: Japanese, Korean, Cantonese, Thai, Irish, Hebrew, Bengali, Tamil, Kannada, Marathi, Gujarati. Use them with `audioOutputEnabled=false`. Requesting an unsupported `targetLanguage` with `audioOutputEnabled=true` returns an `error` frame. Pass `audioOutputEnabled=false` to get transcripts in any of the text-output languages above.