START HERE
Languages
Which languages EasyQLab checks, what is specific about the fifteen it works with most, which names and codes it reads in a file name, and what "partial support" means for right-to-left, Asian and complex scripts.
EasyQLab checks translations from English into 69 languages, and most of them have full support. The language of each file is read from its name: see Naming the files, and the codes for every language in All languages below.
The fifteen languages we work with most
These have dedicated language rules for the AI review of the translation: the conventions of each language's reference body (the RAE for Spanish, the Académie française and the OQLF for French, the Accademia della Crusca for Italian, and so on), applied when the translation is read against its original.
| # | Language | Script and direction | Spelling check | What is specific |
|---|---|---|---|---|
| 1 | Spanish (Latin America, US and Spain) | Latin · left to right | Yes: ES, US, MX | Opening ¿ and ¡ are required; "5 %" with a space. Numbers and quotes change with the variant (below). |
| 2 | French (Canada and France) | Latin · left to right | Yes | Decimal comma, space as thousands separator, «» quotes. Spacing before ? ! ; : differs between France and Canada. |
| 3 | Italian | Latin · left to right | Yes | Decimal comma, point for thousands, "5%" without a space, «» or “” quotes. |
| 4 | Portuguese (Brazil and Portugal) | Latin · left to right | Yes: BR, PT | Decimal comma, "5%" without a space. Brazil: point for thousands, “” quotes. Portugal: space for thousands, «» quotes. |
| 5 | German | Latin · left to right | Yes: DE, CH | Germany: decimal comma, „“ or »« quotes, "5 %". Switzerland: decimal point, ’ for thousands, «» quotes. |
| 6 | Chinese (Simplified and Traditional) | Chinese (Han) · no spaces between words | No | Partial support. Latin punctuation inside Chinese text is flagged (C28 Script-native marks). Simplified and Traditional are separate languages: name the files zh and zh-TW. |
| 7 | Korean | Hangul, with occasional Hanja | No | Partial support: where a line breaks is a linguist's call. |
| 8 | Japanese | Kana and Kanji · no spaces between words | No | Partial support. Script-native punctuation is checked. |
| 9 | Arabic | Arabic · right to left | No | Partial support: alignment and line breaking are not reliable yet. Latin punctuation inside Arabic text is flagged. |
| 10 | Yiddish | Hebrew · right to left | No | Partial support, as for the other right-to-left languages. |
| 11 | Urdu | Arabic · right to left | No | Partial support, as for the other right-to-left languages. Latin punctuation inside Urdu text is flagged. |
| 12 | Hebrew | Hebrew · right to left | No | Partial support, as for the other right-to-left languages. |
| 13 | Russian | Cyrillic · left to right | Yes | Full support: Cyrillic behaves like an alphabet with spaces for every check. |
| 14 | Greek | Greek · left to right | Yes | Full support, like Russian. |
| 15 | Haitian Creole | Latin · left to right | No | Full support. Name the files hat, ht or kreyol. |
Number, percent and quotation conventions by variant
For Spanish, French, Italian, Portuguese and German, EasyQLab knows how each variant writes numbers, percentages and quotation marks. A "1,000.50" in a German translation is flagged because German writes "1.000,50". The variant comes from the file name: _spa-ES, _fre-CA, _por-PT, _ger-CH. Without a region, the first row of each language applies.
| Variant | Decimal | Thousands | Percent | Quotes |
|---|---|---|---|---|
| Spanish (default: Latin America, US) | . | , | 5 % | “ ” or « » |
| Spanish · ES | , | . | 5 % | « » or “ ” |
| French (default: France) | , | space | 5 % | « » |
| French · CA | , | space | 5 % | « » or “ ” |
| Italian | , | . | 5% | « » or “ ” |
| Portuguese (default: Brazil) | , | . | 5% | “ ” |
| Portuguese · PT | , | space | 5% | « » or “ ” |
| German (default: Germany) | , | . | 5 % | „ “ or » « |
| German · CH | . | ’ | 5% | « » or ‹ › |
French spacing. In France a space goes before ? ! ; : %, € and the closing ». In Canada it goes only before : %, € and », not before ? ! ;. EasyQLab doesn't flag the space your variant expects.
Spelling
The spelling check (C44 Spelling) uses a dictionary per language and variant: Spanish (ES, US, MX), French, Italian, Portuguese (BR, PT), German (DE, CH), Russian and Greek. It lets through words that are also in the source, the client's brands and glossary, acronyms, codes and proper names.
In every other language, typos are still caught by the AI review of the translation. Grammar is not checked yet.
All languages
Support says how far the checks go (see What "partial" means). In the file name lists the codes EasyQLab reads; the language's English name works too (Korean, Haitian Creole), and for many languages so does its own name or its Spanish name. Capitals don't matter.

| Language | Script | Support | In the file name | Notes |
|---|---|---|---|---|
| Albanian | Latin | Full | sq, alb, sqi | |
| Amharic | Ethiopic | Partial | am, amh | Complex script |
| Arabic | Arabic | Partial | ar, ara | Language rules · Right to left |
| Bengali | Bengali | Partial | bn, ben | Complex script |
| Bosnian | Latin | Full | bs, bos | |
| Bulgarian | Cyrillic | Full | bg, bul | |
| Burmese | Myanmar | Partial | my, mya, bur | Complex script |
| Croatian | Latin | Full | hr, hrv, scr | |
| Czech | Latin | Full | cs, ces, cze | |
| Danish | Latin | Full | da, dan | |
| Dari | Arabic | Partial | prs, fa-af | Right to left |
| Dutch | Latin | Full | nl, nld, dut | |
| Estonian | Latin | Full | et, est | |
| Farsi | Arabic | Partial | fa, fas, per | Right to left |
| Finnish | Latin | Full | fi, fin | |
| French | Latin | Full | fr, fra, fre | Language rules · Spelling check |
| German | Latin | Full | de, deu, ger | Language rules · Spelling check: DE, CH |
| Greek | Greek | Full | el, ell, gre | Language rules · Spelling check |
| Gujarati | Gujarati | Partial | gu, guj | Complex script |
| Haitian Creole | Latin | Full | ht, hat | Language rules |
| Hebrew | Hebrew | Partial | he, heb, iw | Language rules · Right to left |
| Hindi | Devanagari | Partial | hi, hin | Complex script |
| Hmong | Latin | Full | hmn, hmo | |
| Hungarian | Latin | Full | hu, hun | |
| Indonesian | Latin | Full | ind | |
| Italian | Latin | Full | it, ita | Language rules · Spelling check |
| Japanese | Kana and Kanji | Partial | ja, jpn | Language rules · No spaces between words |
| Kabuverdianu | Latin | Full | kea | |
| Karen | Myanmar | Partial | ksw, kar | Complex script |
| Khmer | Khmer | Partial | km, khm | No spaces between words |
| Kinyarwanda | Latin | Full | rw, kin | |
| Kirundi | Latin | Full | rn, run | |
| Korean | Hangul | Partial | ko, kor | Language rules · No spaces between words |
| Lao | Lao | Partial | lo, lao | No spaces between words |
| Latvian | Latin | Full | lv, lav | |
| Lithuanian | Latin | Full | lt, lit | |
| Malay | Latin | Full | ms, msa, may | |
| Nepali | Devanagari | Partial | ne, nep | Complex script |
| Norwegian | Latin | Full | nb, nn, nor, nob | |
| Pashto | Arabic | Partial | pus | Right to left |
| Persian | Arabic | Partial | persian, per, fa | Read as Farsi |
| Polish | Latin | Full | pl, pol | |
| Portuguese | Latin | Full | pt, por | Language rules · Spelling check: BR, PT |
| Punjabi | Gurmukhi and Shahmukhi | Partial | pa, pan | Complex script |
| Romanian | Latin | Full | ro, ron, rum | |
| Russian | Cyrillic | Full | ru, rus | Language rules · Spelling check |
| Samoan | Latin | Full | smo | |
| Serbian | Cyrillic and Latin | Full | sr, srp, scc | |
| Simplified Chinese | Chinese (Han) | Partial | zh, zho, chi, cmn | Language rules · No spaces between words |
| Slovak | Latin | Full | sk, slk, slo | |
| Slovenian | Latin | Full | sl, slv | |
| Somali | Latin | Full | so, som | |
| Spanish | Latin | Full | es, spa | Language rules · Spelling check: ES, US, MX |
| Swahili | Latin | Full | sw, swa | |
| Swedish | Latin | Full | sv, swe | |
| Tagalog | Latin | Full | tl, tgl, fil | |
| Tamil | Tamil | Partial | ta, tam | Complex script |
| Thai | Thai | Partial | th, tha | No spaces between words |
| Tibetan | Tibetan | Partial | bod, tib | Complex script |
| Tigrinya | Ethiopic | Partial | ti, tir | Complex script |
| Tongan | Latin | Full | ton | |
| Traditional Chinese | Chinese (Han) | Partial | zh-tw, zh-hk, zh-hant | Language rules · No spaces between words |
| Turkish | Latin | Full | tr, tur | |
| Twi | Latin | Full | tw, twi | |
| Ukrainian | Cyrillic | Full | uk, ukr | |
| Urdu | Arabic | Partial | ur, urd | Language rules · Right to left |
| Vietnamese | Latin | Full | vi, vie | |
| Yiddish | Hebrew | Partial | yi, yid | Language rules · Right to left |
| Yoruba | Latin | Full | yor |
"Language rules" marks the fifteen languages above (Chinese counts twice, once per script). For Spanish and Portuguese, the code with a region (spa-US, es-MX, por-BR, pt-PT) is read too.
Codes that are not read on their own
no,to,id,sm,yo,boandpsare everyday words, so they are not read as Norwegian, Tongan, Indonesian, Samoan, Yoruba, Tibetan or Pashto. Use the three-letter code or the English name.- Country codes such as
KR,JP,CNorBRare not languages.TWalone is Twi: for Traditional Chinese, writezh-TW.
What "partial" means
A language has full support when it is written with an alphabet and separates words with spaces. There, every check means what it says.
A language with partial support is still analysed, and its findings count in the result. But the checks that depend on where a line breaks — orphan words, text volume, margins — don't mean the same as in a Latin-script language. Take them as a hint.

The screen marks these languages with partial support ⓘ, and the badge explains the reason, one of these three:
| Reason | Languages | What to expect |
|---|---|---|
| Written right to left: alignment and line breaking are not reliable yet | Arabic, Farsi, Dari, Hebrew, Urdu, Pashto, Yiddish | Text, numbers, structure, images, colour and the translation review are checked as usual. Treat orphan words, text volume and margins as hints. |
| Does not separate words with spaces: where a line breaks is a linguist's call, not a rule | Simplified Chinese, Traditional Chinese, Japanese, Korean, Thai, Lao, Khmer | Everything is checked, including script-native punctuation in Chinese and Japanese. Line-break findings are hints: only a linguist knows where these languages may break. |
| Uses a script where splitting two characters changes what they say | Amharic, Tigrinya, Burmese, Karen, Bengali, Hindi, Nepali, Punjabi, Gujarati, Tamil, Tibetan | Everything is checked, and glyph corruption knows each script. Line-break findings are hints. |
Right-to-left languages
Arabic, Farsi, Dari, Hebrew, Urdu, Pashto and Yiddish are checked like any other language: text, numbers, structure, images and the translation itself. In Arabic and Urdu, Latin punctuation inside the text — a Latin comma or question mark where the language has its own — is flagged by C28 Script-native marks.
For images, EasyQLab detects mirrored layouts: when a right-to-left page should flip, an image that stayed on the same side is flagged.