Skip to content
no fixed listany BCP-47 tag ICU knows

Ship the whole product, not the English half of it.

en
every swap re-runs the gate
placeholders
plurals
glossary
length

Transglot translates into any language you can name with a BCP-47 tag. There is no supported-languages list to check against, because there is no list: type the tag and the name, the plural rules and the writing direction are worked out on the spot.

  • icu locales accepted708
  • cldr plural languages224
  • plural forms in arabic6
the atlas

Type one sentence. See what each language needs from it.

pick up to six tiles below. Each one opens on the right: writing direction, the plural forms that language requires, the placeholders that have to survive, and the structure a translation must keep. Nothing is translated and nothing leaves the page
atlas · languages consoleacme / inbox / inbox.count0 / 6
sentence
0 of 142 selected · 0 plural forms required in total · 1 placeholder
the atlasone tile per language · grouped by script · the small figure is how many plural forms that language has
Latin89
Cyrillic15
Arabic script7
Han, Kana and Hangul3
Indic scripts14
other scripts14
solid: this language has published plural rulesdashed: no published plural rule, so every number takes one form
what this language needs
nothing selected_
pick a tile on the atlas. Each language opens here: writing direction, plural forms required, placeholders to carry, and the structure the translation must keep
This is a reading of your sentence, not a translation: nothing here is sent anywhere and no draft is produced. Plural forms and writing directions come from the sampled locales further down this page, matched to a tile by base language, and for the rest from the CLDR plural rules ICU ships, written out here by hand and checkable against CLDR. A language CLDR has no rule for is drawn dashed: ICU uses other alone. Tiles outside the sample are grouped by the script their name is printed in. Placeholders, plural arguments and the structure are read out of the sentence as you type.
counted, not claimed

The four numbers we can actually count.

none of them is a total, because a total would be wrong in both directions: too small for what the validator accepts, and too precise for a thing with no boundary
icu locales
708

the table a tag is checked against, before a structural fallback widens it further. Symfony\Component\Intl\Locales::getLocales().

cldr plural languages
224

languages with their own plural rules. A translation missing a form its language needs fails the gate instead of shipping. Straight from the CLDR plural tables.

sampled below
54

rows in the table further down this page. A sample of where teams start, not a catalogue of what is allowed.

plural forms, arabic
6

zero, one, two, few, many and other. Arabic needs all six, which is the case a hand-written i18n file usually gets wrong.

one tile per language

The {count} base languages ICU resolves on its own.

regional variants are left off so the wall reads as one tile per language rather than one language many ways · the dashed tile is the rest of the ICU table
English
中文
हिन्दी
español
français
العربية
বাংলা
português
русский
اردو
Indonesia
Deutsch
日本語
ਪੰਜਾਬੀ
Kiswahili
मराठी
తెలుగు
Türkçe
தமிழ்
Tiếng Việt
한국어
فارسی
Hausa
Jawa
italiano
ગુજરાતી
ไทย
پښتو
አማርኛ
Èdè Yorùbá
Tagalog
ಕನ್ನಡ
o‘zbek
မြန်မာ
Basa Sunda
polski
українська
ଓଡ଼ିଆ
മലയാളം
سنڌي
नेपाली
Igbo
kurdî (kurmancî)
ລາວ
isiZulu
Nederlands
azərbaycan
română
Soomaali
Afrikaans
ខ្មែរ
සිංහල
অসমীয়া
Ελληνικά
magyar
қазақ тілі
српски
čeština
català
svenska
ئۇيغۇرچە
беларуская
עברית
български
shqip
тоҷикӣ
türkmen dili
dansk
hrvatski
հայերեն
suomi
кыргызча
монгол
norsk bokmål
norsk
slovenčina
ქართული
lietuvių
slovenščina
galego
Esperanto
latviešu
македонски
Akan
башҡорт
bamanakan
བོད་སྐད་
bosanski
нохчийн
чӑваш чӗлхи
རྫོང་ཁ
eʋegbe
Pulaar
Frysk
Gaeilge
Gaelg
interlingua
Interlingue
ꆈꌠꉙ
Gikuyu
kalaallisut
کٲشُر
kernewek
Luganda
lingála
Tshiluba
Malagasy
Melayu
isiNdebele
norsk nynorsk
occitan
Oromoo
ирон
Runasimi
rumantsch
Ikirundi
Ikinyarwanda
संस्कृत भाषा
sardu
davvisámegiella
Sängö
srpskohrvatski
chiShona
Sesotho
ትግርኛ
Setswana
lea fakatonga
татар
Wolof
IsiXhosa
ייִדיש
Vahcuengh
eesti
Cymraeg
euskara
Malti
íslenska
Lëtzebuergesch
brezhoneg
Māori
føroyskt
Gàidhlig
+566
the sample

What you get the moment you add a locale.

the native name, the writing direction, the plural forms and the script, worked out for you rather than typed in · filter by region
  • de

    Deutsch

    German, written in Latin.

    2 plural forms
    one · other
    scored regression case
  • fr

    français

    French, written in Latin.

    3 plural forms
    one · many · other
    scored regression case
  • fr-CA

    français (Canada)

    French (Canada), written in Latin.

    3 plural forms
    one · many · other
  • es

    español

    Spanish, written in Latin.

    3 plural forms
    one · many · other
    scored regression case
  • es-419

    español (Latinoamérica)

    Spanish (Latin America), written in Latin.

    3 plural forms
    one · many · other
  • pt-PT

    português (Portugal)

    Portuguese (Portugal), written in Latin.

    3 plural forms
    one · many · other
  • pt-BR

    português (Brasil)

    Portuguese (Brazil), written in Latin.

    3 plural forms
    one · many · other
  • it

    italiano

    Italian, written in Latin.

    3 plural forms
    one · many · other
  • nl

    Nederlands

    Dutch, written in Latin.

    2 plural forms
    one · other
  • sv

    svenska

    Swedish, written in Latin.

    2 plural forms
    one · other
  • da

    dansk

    Danish, written in Latin.

    2 plural forms
    one · other
  • nb

    norsk bokmål

    Norwegian Bokmål, written in Latin.

    2 plural forms
    one · other
  • fi

    suomi

    Finnish, written in Latin.

    2 plural forms
    one · other
  • is

    íslenska

    Icelandic, written in Latin.

    2 plural forms
    one · other
  • pl

    polski

    Polish, written in Latin.

    4 plural forms
    one · few · many · other
  • cs

    čeština

    Czech, written in Latin.

    4 plural forms
    one · few · many · other
  • sk

    slovenčina

    Slovak, written in Latin.

    4 plural forms
    one · few · many · other
  • hu

    magyar

    Hungarian, written in Latin.

    2 plural forms
    one · other
  • ro

    română

    Romanian, written in Latin.

    3 plural forms
    one · few · other
  • hr

    hrvatski

    Croatian, written in Latin.

    3 plural forms
    one · few · other
  • sl

    slovenščina

    Slovenian, written in Latin.

    4 plural forms
    one · two · few · other
  • sr

    српски

    Serbian, written in Cyrillic.

    3 plural forms
    one · few · other
  • bg

    български

    Bulgarian, written in Cyrillic.

    2 plural forms
    one · other
  • ru

    русский

    Russian, written in Cyrillic.

    4 plural forms
    one · few · many · other
    scored regression case
  • uk

    українська

    Ukrainian, written in Cyrillic.

    4 plural forms
    one · few · many · other
  • el

    Ελληνικά

    Greek, written in Greek.

    2 plural forms
    one · other
  • tr

    Türkçe

    Turkish, written in Latin.

    2 plural forms
    one · other
  • lt

    lietuvių

    Lithuanian, written in Latin.

    4 plural forms
    one · few · many · other
  • lv

    latviešu

    Latvian, written in Latin.

    3 plural forms
    zero · one · other
  • et

    eesti

    Estonian, written in Latin.

    2 plural forms
    one · other
  • ca

    català

    Catalan, written in Latin.

    3 plural forms
    one · many · other
  • ar

    العربية

    Arabic, written in Arabic, right to left.

    6 plural forms
    zero · one · two · few · many · other
    scored regression case
  • he

    עברית

    Hebrew, written in Hebrew, right to left.

    3 plural forms
    one · two · other
  • fa

    فارسی

    Persian, written in Arabic, right to left.

    2 plural forms
    one · other
  • sw

    Kiswahili

    Swahili, written in Latin.

    2 plural forms
    one · other
  • af

    Afrikaans

    Afrikaans, written in Latin.

    2 plural forms
    one · other
  • am

    አማርኛ

    Amharic, written in Ethiopic.

    2 plural forms
    one · other
  • hi

    हिन्दी

    Hindi, written in Devanagari.

    2 plural forms
    one · other
  • bn

    বাংলা

    Bangla, written in Bangla.

    2 plural forms
    one · other
  • ta

    தமிழ்

    Tamil, written in Tamil.

    2 plural forms
    one · other
  • te

    తెలుగు

    Telugu, written in Telugu.

    2 plural forms
    one · other
  • mr

    मराठी

    Marathi, written in Devanagari.

    2 plural forms
    one · other
  • ur

    اردو

    Urdu, written in Arabic, right to left.

    2 plural forms
    one · other
  • ja

    日本語

    Japanese, written in Han + Kana.

    1 plural forms
    other
    scored regression case
  • ko

    한국어

    Korean, written in Hangul.

    1 plural forms
    other
  • zh-Hans

    中文(简体)

    Chinese (Simplified), written in Han (Simplified).

    1 plural forms
    other
  • zh-Hant

    中文(繁體)

    Chinese (Traditional), written in Han (Traditional).

    1 plural forms
    other
  • th

    ไทย

    Thai, written in Thai.

    1 plural forms
    other
  • vi

    Tiếng Việt

    Vietnamese, written in Latin.

    1 plural forms
    other
  • id

    Indonesia

    Indonesian, written in Latin.

    1 plural forms
    other
  • ms

    Melayu

    Malay, written in Latin.

    1 plural forms
    other
  • fil

    Filipino

    Filipino, written in Latin.

    2 plural forms
    one · other
  • ka

    ქართული

    Georgian, written in Georgian.

    2 plural forms
    one · other
  • hy

    հայերեն

    Armenian, written in Armenian.

    2 plural forms
    one · other
showing 54 of 54 sampled locales · the product accepts many more than either number
a locale that is not in this sample behaves the same way: the same four values, worked out the same way, the moment you add the tag.

FAQs

What people ask before adding the first locale.

Which languages does Transglot support?
Any language you can name with a BCP-47 tag. There is no allowlist to be on: a tag is checked against the ICU locale table, which holds 708 entries, and a structural fallback accepts real tags beyond even that. If ICU knows your tag, the product takes it.
There is no honest single number. Any figure would be too small for what the validator accepts and too precise for a thing with no boundary. The countable numbers are 708 locales in the ICU table and 224 languages with their own plural rules.
Yes. Writing direction is read from ICU per locale rather than kept in a list someone has to maintain, so Arabic, Hebrew, Persian, Urdu, Dhivehi and N’Ko all come out right to left without anyone adding them anywhere. There are eleven right-to-left scripts, and the editor renders the target in its own direction while you work on it.
It loads the CLDR plural table for the target language, from the same data set the quality gate checks against. Arabic gets all six forms, Polish gets its three, Japanese gets one. A translation missing a form its language requires fails the gate instead of shipping a screen that reads wrong once every six numbers.
Yes. A regional variant is its own locale, so pt-BR and pt-PT can carry different wording and different glossary terms. Tags are canonicalised on the way in, so pt_br, PT-br and pt-BR all land on the same locale rather than creating three.
Yes, as two locales: zh-Hans and zh-Hant. Script is part of the tag, so they are translated separately and reviewed separately rather than converted from one another.
Fifteen locales in one project, and that count includes your source language, so 14 targets. The free plan also carries 100,000 words to start, 10,000 a month after, and three seats. Paid plans do not cap locales.
Add the tag to the project. Nothing else has to be configured: the display name, the endonym, the plural forms and the writing direction all come from the tag, and the next run drafts every string that has no translation in it yet.
They work the same way. Counting is script aware, so a Japanese or Chinese string is measured by its script rather than by counting spaces, which is what stops CJK from being billed as one enormous word.
Every locale goes through the same engine, the same prompt and the same four gates. We publish no per-language quality grade, because we do not measure one. Some of the sampled locales carry a scored regression case in our evaluation corpus, and the table above marks which; that means a regression there is caught automatically, not that the language is better.
It is refused at the point you add it, not silently accepted. Made-up tags like en-XX do not pass, and neither does a real language paired with a region or script that does not exist.
Yes. The source is whichever locale the project marks as source, and every other locale in the project is drafted from it. Nothing assumes English.
works with what you already run

41 connectors, already built.

add the tag, not the ticket

Pick a locale and see what comes back.

free covers 15 locales per project · the source locale counts as one of them, so 14 targets