We verify language support by checking whether each model returns a usable translation in that language.
A model supports a language when its output in that language is a translation. We send every model the same source texts, language by language, and check each output as a whole before any quality scoring. An output counts as a translation when it passes five checks: it is in the target language, it is in the script of the target language, it is not garbage or near-empty, it is not cut off part-way, and it is not far shorter than the source. One translation from any solution of the model is enough. When we get output in a language from a model, but no output passes all five checks, the language counts as nominally supported. When the language is not available for the model at all, it counts as not supported.
Language lists built from documentation are wrong in both directions. For one MT engine, the list built from its documentation held 45 of our 100 languages without a translation from the engine, and for another, 74. For one LLM, we got translations in more languages than there are in its documentation.
We got text in the wrong language from 19 models, in 69 languages, more than for any other check.
One MT engine is available to us under a license limited to a few languages. We did not evaluate its outputs in the other languages, and those languages count as outside the license, not as unsupported.
Language support per model
| Vendor | Model | Supported | Nominally supported | Not supported | Outside the license | Nominally supported languages |
|---|---|---|---|---|---|---|
| Anthropic | Anthropic Claude Fable 5 | 100 | 0 | 0 | 0 | |
| Anthropic | Anthropic Claude Opus 4.8 | 100 | 0 | 0 | 0 | |
| Anthropic | Anthropic Claude Sonnet 4.6 | 100 | 0 | 0 | 0 | |
| Anthropic | Anthropic Claude Sonnet 5 | 100 | 0 | 0 | 0 | |
| DeepSeek | DeepSeek V3.2 | 100 | 0 | 0 | 0 | |
| z.ai | GLM-5 | 100 | 0 | 0 | 0 | |
| Google Gemini 3.1 Pro Preview | 100 | 0 | 0 | 0 | ||
| Google Gemini 3.5 Flash | 100 | 0 | 0 | 0 | ||
| Google Gemma 4 | 100 | 0 | 0 | 0 | ||
| xAI | Grok 4.20 (non-reasoning) | 100 | 0 | 0 | 0 | |
| xAI | Grok 4.20 (reasoning) | 100 | 0 | 0 | 0 | |
| Mistral | Mistral Large 3 | 100 | 0 | 0 | 0 | |
| Mistral | Mistral Medium 3.1 | 100 | 0 | 0 | 0 | |
| MoonshotAI | MoonshotAI Kimi K2.5 | 100 | 0 | 0 | 0 | |
| OpenAI | OpenAI GPT-4.1 | 100 | 0 | 0 | 0 | |
| OpenAI | OpenAI GPT-5.5 | 100 | 0 | 0 | 0 | |
| OpenAI | OpenAI GPT-5.6 Luna | 100 | 0 | 0 | 0 | |
| OpenAI | OpenAI GPT-5.6 Sol | 100 | 0 | 0 | 0 | |
| OpenAI | OpenAI GPT-5.6 Terra | 100 | 0 | 0 | 0 | |
| Anthropic | Anthropic Claude Haiku 4.5 | 99 | 1 | 0 | 0 | Assamese |
| Google Cloud Advanced Translation API | 98 | 1 | 1 | 0 | Serbian | |
| MiniMax | M2.5 | 98 | 2 | 0 | 0 | Lao, Telugu |
| OpenAI | OpenAI gpt-oss-120b | 98 | 2 | 0 | 0 | Lao, Wolof |
| Translated | Translated Lara 2 | 97 | 0 | 3 | 0 | |
| Cohere | Cohere Command A (command-a-translate-08-2025) | 95 | 5 | 0 | 0 | Amharic, Shona, Tajik, Wolof, Zulu |
| ModernMT | ModernMT Enterprise Edition | 93 | 0 | 7 | 0 | |
| Microsoft | Microsoft Translator | 89 | 1 | 10 | 0 | Kurdish (Kurmanji) |
| DeepL | DeepL Next Gen | 84 | 1 | 15 | 0 | Serbian |
| Swiss AI (Apertus) | Apertus-8B-2509 | 83 | 17 | 0 | 0 | Amharic, Armenian, Assamese, Hausa, Igbo, Khmer, Kurdish (Kurmanji), Lao, Odia (Oriya), Russian, Scottish Gaelic, Sesotho, Shona, Tatar, Turkmen, Uyghur, Wolof |
| Yandex | Yandex | 83 | 0 | 17 | 0 | |
| Alibaba | Alibaba Cloud Qwen3-235B-A22B | 79 | 0 | 21 | 0 | |
| Google Translation LLM | 79 | 1 | 20 | 0 | Serbian | |
| Alibaba | Alibaba | 77 | 1 | 22 | 0 | Burmese |
| Amazon | Amazon | 69 | 0 | 31 | 0 | |
| Cohere | Cohere Tiny Aya | 68 | 1 | 31 | 0 | Wolof |
| AI21 | AI21 Jamba Large 1.7 | 65 | 35 | 0 | 0 | Amharic, Armenian, Assamese, Burmese, Georgian, Gujarati, Hausa, Igbo, Kannada, Khmer, Kinyarwanda, Kurdish (Kurmanji), Kyrgyz, Lao, Malagasy, Malayalam, Mongolian, Odia (Oriya), Pashto, Punjabi, Sesotho, Shona, Sinhala, Somali, Sundanese, Tajik, Tamil, Tatar, Telugu, Turkmen, Uyghur, Wolof, Xhosa, Yoruba, Zulu |
| SYSTRAN | SYSTRAN PNMT API | 57 | 0 | 43 | 0 | |
| AppTek | AppTek NMT | 54 | 0 | 46 | 0 | |
| Tilde | Tilde | 28 | 3 | 69 | 0 | Lithuanian, Maltese, Serbian |
| Supertext | Supertext Supertext LLM | 26 | 0 | 74 | 0 | |
| NiuTrans | NiuTrans | 22 | 0 | 78 | 0 | |
| Pangeanic | Pangeanic | 22 | 0 | 78 | 0 | |
| Widn AI | Widn AI Tower Sugarloaf | 22 | 0 | 78 | 0 | |
| Oracle | Oracle | 21 | 0 | 79 | 0 | |
| Tencent | Tencent Cloud TMT | 13 | 0 | 87 | 0 | |
| Baidu | Baidu | 12 | 0 | 88 | 0 | |
| Meta | Meta Llama 4 Maverick | 11 | 0 | 89 | 0 | |
| Naver | Naver Papago NMT Commercial | 11 | 0 | 89 | 0 | |
| SpeakLeash | SpeakLeash Bielik-11B-v3.0-Instruct | 11 | 19 | 70 | 0 | Belarusian, Bosnian, Bulgarian, Croatian, Danish, Dutch, Finnish, Greek, Hungarian, Italian, Latvian, Lithuanian, Romanian, Russian, Serbian, Slovak, Slovenian, Swedish, Ukrainian |
| Widn AI | Widn AI Tower Anthill | 11 | 27 | 62 | 0 | Arabic (MSA), Bulgarian, Catalan, Croatian, Czech, Danish, Estonian, Finnish, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Korean, Latvian, Lithuanian, Malay, Norwegian, Polish, Slovak, Slovenian, Swedish, Thai, Turkish, Ukrainian, Vietnamese |
| Youdao | Youdao | 8 | 2 | 8 | 82 | Kurdish (Kurmanji), Serbian |
| TartuNLP | TartuNLP | 7 | 0 | 93 | 0 | |
| ALL-Lab | ALL-Lab | 6 | 8 | 86 | 0 | Amharic, Igbo, Malagasy, Sesotho, Shona, Xhosa, Yoruba, Zulu |
| iFlyTek | iFlyTek MT | 6 | 0 | 94 | 0 | |
| Elia | Elia Elhuyar Machine Translation System | 5 | 0 | 95 | 0 | |
| Widn AI | Widn AI Tower Vesuvius | 2 | 36 | 62 | 0 | Arabic (MSA), Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Norwegian, Polish, Portuguese (European), Romanian, Russian, Slovak, Slovenian, Spanish (European), Swedish, Thai, Turkish, Ukrainian, Vietnamese |
| Tarjama | Tarjama | 1 | 0 | 99 | 0 |
Units — Supported: languages; Nominally supported: languages; Not supported: languages; Outside the license: languages
A language counts as supported when we got a translation in it from at least one solution of the model, including 112 model and language pairs with a failed check on another solution of the same model. We did not evaluate the outputs of one MT engine outside its license (82 languages), and those languages count as outside the license, not as unsupported.