Which languages can I translate into?
215 languages: 183 ISO 639-1 base codes plus 32 BCP 47 regional and script variants. What to do when your language has no ISO code.
Better i18n ships 215 languages: 183 base languages on ISO 639-1 codes, plus 32 regional and script variants on BCP 47. You pick from that list in Languages → Add language inside your project — nothing has to be requested, enabled or upgraded first.
Looking for one in particular? Search this page for its name (⌘F / Ctrl+F). The tables below are grouped by region and give the native name alongside the code, because the native name is what your translators will recognise.
Two questions people mean by "do you support X?" #
Most confusion here comes from collapsing two separate things. Keep them apart:
| Question | Answer |
|---|---|
| Can Better i18n hold this language? | Yes, for all 215. Keys, the editor, coverage tracking, CDN delivery and the SDKs behave identically for every language on the list. |
| Can a machine-translation provider fill it automatically? | That depends on the provider you connected. DeepL covers roughly 30 languages; Google and Azure cover several hundred. |
A language your provider does not reach is still a fully working language. You or your translators fill it in the editor, or AI translation fills what it can and you review it. Nothing about the platform degrades — only the automatic first draft is unavailable.
If automatic coverage matters to you, check translation providers before you pick one. Google and Azure are the widest.
Your language is not in the list #
The list follows ISO 639-1, and that standard assigns codes to languages, not to every variety or dialect. Bhoti, Ladakhi, Balti, Konkani dialects and similar varieties have no entry of their own.
Two ways forward:
- Use the closest coded language. Bhoti is a Tibetic language written in Tibetan script, so
bo(Tibetan) is where it belongs. Pair it with a glossary and translation guidelines so AI translation and your reviewers keep the wording you want. This is the usual answer. - Ask us to add the code. Language codes come from a shared reference list, so you cannot type in an arbitrary one — the project will reject it. If you need a code that genuinely is not there, message us in the widget with the code and language name and we will add it.
Right-to-left languages #
Five are right-to-left: Arabic (ar), Persian (fa), Hebrew (he), Urdu (ur) and Yiddish (yi). Direction is a property of the language itself, so the translation editor renders them RTL and the SDK exposes the direction to your app. You configure nothing.
European languages #
The widest coverage on the list, including every EU official language.
| Language | Native name | Code |
|---|---|---|
| Albanian | Shqip | sq |
| Aragonese | aragonés | an |
| Avaric | Авар мацӀ | av |
| Bashkir | башҡорт теле | ba |
| Basque | Euskara | eu |
| Belarusian | беларуская мова | be |
| Bosnian | bosanski jezik | bs |
| Breton | brezhoneg | br |
| Bulgarian | български език | bg |
| Catalan | català | ca |
| Chechen | нохчийн мотт | ce |
| Chuvash | чӑваш чӗлхи | cv |
| Cornish | Kernewek | kw |
| Corsican | Corsu | co |
| Croatian | hrvatski jezik | hr |
| Czech | Čeština | cs |
| Danish | dansk | da |
| Dutch | Nederlands | nl |
| English | en | |
| Estonian | Eesti | et |
| Faroese | føroyskt | fo |
| Finnish | Suomi | fi |
| French | Français | fr |
| Galician | galego | gl |
| German | Deutsch | de |
| Greek | ελληνικά | el |
| Hungarian | Magyar | hu |
| Icelandic | Íslenska | is |
| Irish | Gaeilge | ga |
| Italian | Italiano | it |
| Kalaallisut | kl | |
| Komi | коми кыв | kv |
| Latin | latine, lingua latina | la |
| Latvian | latviešu valoda | lv |
| Limburgish | Limburgs | li |
| Lithuanian | lietuvių kalba | lt |
| Luxembourgish | Lëtzebuergesch | lb |
| Macedonian | македонски јазик | mk |
| Maltese | Malti | mt |
| Manx | Gaelg, Gailck | gv |
| Northern Sami | Davvisámegiella | se |
| Norwegian | Norsk | no |
| Norwegian Bokmål | Norsk bokmål | nb |
| Norwegian Nynorsk | Norsk nynorsk | nn |
| Occitan | occitan, lenga d'òc | oc |
| Old Church Slavonic | ѩзыкъ словѣньскъ | cu |
| Polish | Polski | pl |
| Portuguese | Português | pt |
| Romanian | Română | ro |
| Romansh | rumantsch grischun | rm |
| Russian | Русский | ru |
| Sardinian | sardu | sc |
| Scottish Gaelic | Gàidhlig | gd |
| Serbian | српски језик | sr |
| Slovak | Slovenčina | sk |
| Slovene | Slovenski jezik | sl |
| Spanish | Español | es |
| Swedish | svenska | sv |
| Tatar | Татар теле | tt |
| Ukrainian | Українська | uk |
| Walloon | walon | wa |
| Welsh | Cymraeg | cy |
| Western Frisian | Frysk | fy |
Middle East and North African languages #
Arabic, Hebrew and Persian are right-to-left; direction is set on the language, so you configure nothing.
| Language | Native name | Code |
|---|---|---|
| Arabic | العربية | ar |
| Avestan | avesta | ae |
| Azerbaijani | Azerbaycan Türkçesi | az |
| Hebrew | עברית | he |
| Persian | فارسی | fa |
| Turkish | Türkçe | tr |
| Yiddish | ייִדיש | yi |
Sub-Saharan African languages #
Machine-translation coverage is thinnest here — Google and Azure reach most of these, DeepL reaches none of them. They work exactly the same in the editor either way.
| Language | Native name | Code |
|---|---|---|
| Afar | Afaraf | aa |
| Afrikaans | af | |
| Akan | ak | |
| Amharic | አማርኛ | am |
| Bambara | bamanankan | bm |
| Chichewa | chiCheŵa, chinyanja | ny |
| Ewe | Eʋegbe | ee |
| Fula | Fulfulde | ff |
| Ganda | Luganda | lg |
| Hausa | (Hausa) هَوُسَ | ha |
| Herero | Otjiherero | hz |
| Igbo | Asụsụ Igbo | ig |
| Kanuri | kr | |
| Kikuyu | Gĩkũyũ | ki |
| Kinyarwanda | Ikinyarwanda | rw |
| Kirundi | Ikirundi | rn |
| Kongo | Kikongo | kg |
| Kwanyama | Kuanyama | kj |
| Lingala | Lingála | ln |
| Luba-Katanga | Tshiluba | lu |
| Malagasy | fiteny malagasy | mg |
| Ndonga | Owambo | ng |
| Northern Ndebele | isiNdebele | nd |
| Oromo | Afaan Oromoo | om |
| Sango | yângâ tî sängö | sg |
| Shona | chiShona | sn |
| Somali | Soomaaliga | so |
| Southern Ndebele | isiNdebele | nr |
| Southern Sotho | Sesotho | st |
| Swahili | Kiswahili | sw |
| Swati | SiSwati | ss |
| Tigrinya | ትግርኛ | ti |
| Tsonga | Xitsonga | ts |
| Tswana | Setswana | tn |
| Twi | tw | |
| Venda | Tshivenḓa | ve |
| Wolof | Wollof | wo |
| Xhosa | isiXhosa | xh |
| Yoruba | Yorùbá | yo |
| Zulu | isiZulu | zu |
South Asian languages #
Several use their own script, and the editor renders each one in it — Devanagari, Bengali, Tamil, Sinhala, Thaana.
| Language | Native name | Code |
|---|---|---|
| Assamese | অসমীয়া | as |
| Bengali | বাংলা | bn |
| Bihari | भोजपुरी | bh |
| Divehi | ދިވެހި | dv |
| Dzongkha | རྫོང་ཁ | dz |
| Gujarati | ગુજરાતી | gu |
| Hindi | हिन्दी | hi |
| Kannada | ಕನ್ನಡ | kn |
| Kashmiri | कश्मीरी | ks |
| Malayalam | മലയാളം | ml |
| Marathi | मराठी | mr |
| Nepali | नेपाली | ne |
| Oriya | ଓଡ଼ିଆ | or |
| Pāli | पाऴि | pi |
| Pashto | پښتو | ps |
| Punjabi | ਪੰਜਾਬੀ | pa |
| Sanskrit | संस्कृतम् | sa |
| Sindhi | सिन्धी | sd |
| Sinhalese | සිංහල | si |
| Tamil | தமிழ் | ta |
| Telugu | తెలుగు | te |
| Urdu | اردو | ur |
East and Southeast Asian languages #
Chinese is here as the base code zh; if you need Simplified and Traditional as separate languages, use the script variants below.
| Language | Native name | Code |
|---|---|---|
| Burmese | ဗမာစာ | my |
| Chinese | 中文 | zh |
| Indonesian | Bahasa Indonesia | id |
| Japanese | 日本語 | ja |
| Javanese | ꦧꦱꦗꦮ | jv |
| Khmer | ខ្មែរ | km |
| Korean | 한국어 | ko |
| Lao | ພາສາລາວ | lo |
| Malay | Bahasa Melayu | ms |
| Mongolian | Монгол хэл | mn |
| Nuosu | ꆈꌠ꒿ Nuosuhxop | ii |
| Sundanese | Basa Sunda | su |
| Tagalog | Wikang Tagalog | tl |
| Thai | ไทย | th |
| Tibetan | བོད་ཡིག | bo |
| Uyghur | ئۇيغۇرچە | ug |
| Vietnamese | Tiếng Việt | vi |
| Zhuang | Saɯ cueŋƅ | za |
Central Asian and Caucasian languages #
Several use non-Latin scripts. The editor renders each one in its own script, and the native name is what your translators will recognise.
| Language | Native name | Code |
|---|---|---|
| Abkhaz | Аҧсуа бызшәа | ab |
| Armenian | Հայերեն | hy |
| Georgian | ქართული | ka |
| Kazakh | қазақ тілі | kk |
| Kyrgyz | Кыргызча | ky |
| Ossetian | ирон æвзаг | os |
| Tajik | Тоҷикӣ | tg |
| Turkmen | Türkmen | tk |
| Uzbek | Oʻzbek | uz |
Languages of the Americas #
Indigenous languages of the Americas. For Spanish and Portuguese as spoken here, the regional variants below are usually what you want.
| Language | Native name | Code |
|---|---|---|
| Aymara | aymar aru | ay |
| Cree | ᓀᐦᐃᔭᐍᐏᐣ | cr |
| Guaraní | Avañe'ẽ | gn |
| Haitian Creole | Kreyòl ayisyen | ht |
| Inuktitut | ᐃᓄᒃᑎᑐᑦ | iu |
| Inupiaq | Iñupiaq | ik |
| Navajo | Diné bizaad | nv |
| Ojibwe | ᐊᓂᔑᓈᐯᒧᐎᓐ | oj |
| Quechua | Runa Simi | qu |
Pacific languages #
Small speaker populations, full platform support. No machine-translation provider covers most of them, so expect to translate these by hand or with AI review.
| Language | Native name | Code |
|---|---|---|
| Bislama | bi | |
| Chamorro | Chamoru | ch |
| Fijian | vosa Vakaviti | fj |
| Hiri Motu | ho | |
| Māori | te reo Māori | mi |
| Marshallese | Kajin M̧ajeļ | mh |
| Nauruan | Dorerin Naoero | na |
| Samoan | gagana fa'a Samoa | sm |
| Tahitian | Reo Tahiti | ty |
| Tonga | faka Tonga | to |
Regional and script variants #
Add one of these alongside the base language when the copy genuinely differs — pt-BR and pt-PT are two independent languages here, with their own keys, coverage and publish status. Codes come out in BCP 47 casing, so they drop into next-intl, react-i18next, Expo or Flutter without a mapping layer.
| Language | Code |
|---|---|
| German (Austria) | de-AT |
| German (Switzerland) | de-CH |
| English (Australia) | en-AU |
| English (Canada) | en-CA |
| English (India) | en-IN |
| English (Ireland) | en-IE |
| English (New Zealand) | en-NZ |
| English (Singapore) | en-SG |
| English (South Africa) | en-ZA |
| English (UK) | en-GB |
| English (US) | en-US |
| Spanish (Argentina) | es-AR |
| Spanish (Chile) | es-CL |
| Spanish (Colombia) | es-CO |
| Spanish (Latin America) | es-419 |
| Spanish (Mexico) | es-MX |
| Spanish (Spain) | es-ES |
| French (Belgium) | fr-BE |
| French (Canada) | fr-CA |
| French (Switzerland) | fr-CH |
| Italian (Switzerland) | it-CH |
| Dutch (Belgium) | nl-BE |
| Norwegian Bokmål | nb-NO |
| Norwegian Nynorsk | nn-NO |
| Portuguese (Brazil) | pt-BR |
| Portuguese (Portugal) | pt-PT |
| Serbian (Cyrillic) | sr-Cyrl |
| Serbian (Latin) | sr-Latn |
| Swedish (Finland) | sv-FI |
| Chinese (Simplified) | zh-Hans |
| Chinese (Traditional) | zh-Hant |
| Chinese (Hong Kong) | zh-HK |
Constructed languages #
Available for completeness. These are real entries you can add, not placeholders.
Esperanto eo · Ido io · Interlingua ia · Interlingue ie · Volapük vo
What this does not cover #
Languages here mean translation target languages in your project. Two related things are separate:
- Help centre and CMS content have their own language settings, set per content entry — see translating content entries.
- Document translation — sending a PDF, DOCX or slide deck and getting the same file back translated — is not something Better i18n does. It translates the strings your application ships. More on what counts as a translation file.
Better I18N