Localized punctuation in LLM and MT engine translations
Japanese and Chinese translations follow target-language punctuation conventions most often.
How do LLMs and MT engines compare on localized punctuation?
At the median, 25% of the punctuation in translations from LLMs follows the conventions of the target language, against 50% for LLM-based MT engines, 23% for open-weight LLMs and 0% for other MT engines. By model, the median goes from 0% for Microsoft Translator and Anthropic Claude Sonnet 4.6 to 98% for Google Translation LLM.
Languages written in Japanese, Chinese, Arabic, Greek, Armenian or Cyrillic script have the most localized punctuation
At the median, 95% of the punctuation in Japanese translations follows the conventions of the target language, 88% in languages written in Chinese script, 80% in Arabic script, 74% in Greek and Armenian, and 73% in Cyrillic script. Languages written in Latin script have a median of 24%, from 0% in Basque, Norwegian and Slovenian to 90% in Lithuanian, and languages written in the scripts of South and Southeast Asia, Korean and Hebrew 10% to 22%.
Translations from most LLMs follow the target-language conventions for less than 50% of the punctuation
In translations from OpenAI GPT-5.6 Luna and the two xAI Grok 4.20 models, 72% to 74% of the punctuation follows them, in those from Google Gemini 3.1 Pro Preview 15% and in those from z.ai GLM-5 10%.
Disclaimers
- Locale conventions cover punctuation such as guillemets, the punctuation marks of Chinese and Japanese, and the Spanish ¿ and ¡. The share counts the punctuation in the translation that has a localized form in the target language.
- We assess only the shortlisted one-step solutions (10 to 13 per language by COMET-Kiwi or MetricX, with at least three real-time solutions among them), so a model has no result in a language where it is not on the shortlist.
- The results come from four business texts of ~3,000 words. Other content can show other results.
Locale conventions of one-step solutions, by model
| Model | Type | Languages where we shortlisted it | Median share of the punctuation localized, % |
|---|---|---|---|
| Google Translation LLM | LLM-based MT engine | 32 | 98 |
| xAI Grok 4.20 (non-reasoning) | LLM | 8 | 74 |
| OpenAI GPT-5.6 Luna | LLM | 26 | 73 |
| xAI Grok 4.20 (reasoning) | LLM | 15 | 72 |
| Widn AI Tower Sugarloaf | LLM-based MT engine | 10 | 50 |
| OpenAI GPT-5.6 Terra | LLM | 20 | 44 |
| OpenAI gpt-oss-120b | Open-weight LLM | 14 | 44 |
| OpenAI GPT-5.6 Sol | LLM | 32 | 43 |
| DeepL Next Gen | LLM-based MT engine | 69 | 36 |
| Translated Lara 2 | LLM-based MT engine | 44 | 28 |
| OpenAI GPT-5.5 | LLM | 59 | 26 |
| Anthropic Claude Fable 5 | LLM | 60 | 25 |
| Cohere Command A Translate | LLM | 22 | 25 |
| Google Gemini 3.5 Flash | LLM | 63 | 23 |
| OpenAI GPT-4.1 | LLM | 43 | 23 |
| Anthropic Claude Opus 4.8 | LLM | 45 | 21 |
| Mistral Large 3 | LLM | 28 | 21 |
| Google Gemma 4 | Open-weight LLM | 37 | 20 |
| Anthropic Claude Sonnet 5 | LLM | 35 | 20 |
| MoonshotAI Kimi K2.5 | LLM | 11 | 16 |
| Google Gemini 3.1 Pro Preview | LLM | 75 | 15 |
| DeepSeek V3.2 | LLM | 14 | 12 |
| z.ai GLM-5 | LLM | 33 | 10 |
| Microsoft Translator | MT engine | 32 | 0 |
| Anthropic Claude Sonnet 4.6 | LLM | 31 | 0 |
| Amazon Translate | MT engine | 7 | 100 |
| Google Cloud Advanced Translation API | MT engine | 2 | 100 |
| Swiss AI Apertus-8B-2509 | Open-weight LLM | 1 | 93 |
| MiniMax M2.5 | LLM | 1 | 89 |
| ALL-Lab | MT engine | 1 | 78 |
| Mistral Medium 3.1 | LLM | 4 | 74 |
| Elia Machine Translation System | MT engine | 1 | 48 |
| AI21 Jamba Large 1.7 | LLM | 1 | 42 |
| Meta Llama 4 Maverick | Open-weight LLM | 2 | 33 |
| ModernMT Enterprise Edition | MT engine | 5 | 26 |
| Alibaba Qwen3-235B-A22B | Open-weight LLM | 2 | 10 |
| Yandex Cloud Translate v2 | MT engine | 2 | 8 |
| Anthropic Claude Haiku 4.5 | LLM | 2 | 2 |
One-step solutions with an Intento LQA result in 82 languages, the models on fewer than eight shortlists after the others. Locale conventions have no bar: the share of the localizable punctuation in the translation that follows the conventions of the target language.
Locale conventions of one-step solutions, by language
| Language | Median share of the punctuation localized, % | Model with the most localized punctuation |
|---|---|---|
| Japanese | 95 |
|
| Chinese Simplified | 93 |
|
| Lithuanian | 90 |
|
| Uzbek | 86 |
|
| Chinese Traditional | 85 |
|
| Farsi | 80 |
|
| Pashto | 80 |
|
| Urdu | 80 |
|
| Arabic (MSA) | 78 |
|
| Spanish (European) | 75 |
|
| Armenian | 74 |
|
| Belarusian | 74 |
|
| Bulgarian | 74 |
|
| Czech | 74 |
|
| French | 74 |
|
| Greek | 74 |
|
| Icelandic | 74 |
|
| Kazakh | 74 |
|
| Macedonian | 74 |
|
| Russian | 74 |
|
| Slovak | 74 |
|
| Ukrainian | 74 |
|
| German | 73 |
|
| Tajik | 61 |
|
| Estonian | 53 |
|
| Serbian | 50 |
|
| Tatar | 47 |
|
| Latvian | 46 |
|
| Kyrgyz | 42 |
|
| Croatian | 37 |
|
| Georgian | 37 |
|
| Hungarian | 37 |
|
| Polish | 37 |
|
| Romanian | 37 |
|
| Bosnian | 26 |
|
| Finnish | 26 |
|
| Catalan | 24 |
|
| Cebuano | 22 |
|
| Irish | 22 |
|
| Sinhala | 22 |
|
| Burmese | 21 |
|
| Swahili | 21 |
|
| Vietnamese | 21 |
|
| Assamese | 20 |
|
| Dutch | 20 |
|
| Indonesian | 20 |
|
| Amharic | 19 |
|
| Malay | 19 |
|
| Sundanese | 19 |
|
| Swedish | 19 |
|
| Turkish | 19 |
|
| Odia (Oriya) | 18 |
|
| Bengali | 17 |
|
| Marathi | 17 |
|
| Tagalog | 17 |
|
| Thai | 16 |
|
| Albanian | 15 |
|
| Korean | 15 |
|
| Lao | 15 |
|
| Tamil | 15 |
|
| Welsh | 15 |
|
| Azerbaijani | 14 |
|
| Khmer | 14 |
|
| Afrikaans | 13 |
|
| Hindi | 13 |
|
| Kannada | 13 |
|
| Yiddish | 13 |
|
| Gujarati | 12 |
|
| Nepali | 12 |
|
| Telugu | 11 |
|
| Galician | 10 |
|
| Malayalam | 10 |
|
| Mongolian | 10 |
|
| Punjabi | 10 |
|
| Frisian | 9 |
|
| Danish | 7 |
|
| Italian | 4 |
|
| Portuguese (European) | 2 |
|
| Basque | 0 |
|
| Hebrew | 0 |
|
| Norwegian | 0 |
|
| Slovenian | 0 |
|
One-step solutions with an Intento LQA result, in the languages where the requirement applies.