Get Started

Supported Languages

LangCTL supports 150+ languages with full Unicode support. This reference guide lists all supported languages with their ISO 639-1 codes.

Language Codes

LangCTL uses ISO 639-1 two-letter language codes for all language identifiers. Regional variants use ISO 3166-1 alpha-2 country codes.

ℹ️
Note

Language codes are case-insensitive in LangCTL. Both en, EN, and En are valid and treated as the same language.

Format

  • Base language: en (English)
  • Regional variant: en-US (English - United States), en-GB (English - United Kingdom)
  • Script variant: zh-Hans (Chinese - Simplified), zh-Hant (Chinese - Traditional)

Commonly Used Languages

The most popular languages for international applications:

CodeLanguageNative NameSpeakers
enEnglishEnglish1.5B
zhChinese中文1.1B
esSpanishEspañol559M
hiHindiहिन्दी602M
arArabicالعربية274M
ptPortuguesePortuguês264M
bnBengaliবাংলা272M
ruRussianРусский258M
jaJapanese日本語125M
deGermanDeutsch134M
frFrenchFrançais280M
koKorean한국어81M
itItalianItaliano85M
trTurkishTürkçe88M
plPolishPolski45M

[IMAGE: language-popularity-chart.png - Bar chart of most used languages]

European Languages

Western Europe

CodeLanguageNative Name
enEnglishEnglish
frFrenchFrançais
deGermanDeutsch
esSpanishEspañol
itItalianItaliano
ptPortuguesePortuguês
nlDutchNederlands
daDanishDansk
noNorwegianNorsk
svSwedishSvenska
fiFinnishSuomi
isIcelandicÍslenska

Central & Eastern Europe

CodeLanguageNative Name
plPolishPolski
csCzechČeština
skSlovakSlovenčina
huHungarianMagyar
roRomanianRomână
bgBulgarianБългарски
ukUkrainianУкраїнська
ruRussianРусский
hrCroatianHrvatski
srSerbianСрпски
slSlovenianSlovenščina
ltLithuanianLietuvių
lvLatvianLatviešu
etEstonianEesti

Asian Languages

East Asia

CodeLanguageNative NameNotes
zhChinese中文Simplified by default
zh-HansChinese (Simplified)简体中文Mainland China
zh-HantChinese (Traditional)繁體中文Taiwan, Hong Kong
jaJapanese日本語Hiragana, Katakana, Kanji
koKorean한국어Hangul

Southeast Asia

CodeLanguageNative Name
viVietnameseTiếng Việt
thThaiไทย
idIndonesianBahasa Indonesia
msMalayBahasa Melayu
filFilipinoFilipino
kmKhmerភាសាខ្មែរ
loLaoລາວ
myBurmeseမြန်မာဘာသာ

South Asia

CodeLanguageNative Name
hiHindiहिन्दी
bnBengaliবাংলা
urUrduاردو
teTeluguతెలుగు
taTamilதமிழ்
mrMarathiमराठी
guGujaratiગુજરાતી
knKannadaಕನ್ನಡ
mlMalayalamമലയാളം
paPunjabiਪੰਜਾਬੀ

West Asia & Middle East

CodeLanguageNative NameDirection
arArabicالعربيةRTL
heHebrewעבריתRTL
faPersian (Farsi)فارسیRTL
trTurkishTürkçeLTR
azAzerbaijaniAzərbaycanLTR
kaGeorgianქართულიLTR
💡
Right-to-Left Languages

LangCTL fully supports RTL languages like Arabic, Hebrew, and Persian. The dashboard automatically adjusts layout direction based on the selected language.

Using Languages in LangCTL

Adding Languages to a Project

Via Dashboard

  1. Open Project Settings
  2. Navigate to “Languages” tab
  3. Click “Add Language”
  4. Search and select from dropdown
  5. Click “Add”

[IMAGE: add-language-dashboard.png - Language selection modal]

Via CLI

langctl projects add-language my-project ja

langctl projects add-language my-project ja,ko,zh

langctl projects add-language my-project en-US,en-GB,pt-BR

The default language is the source language for translations and AI translation:

langctl projects create "My App" \
--default-language en \
--languages en,es,fr,de

langctl projects update my-app --default-language en
⚠️
Warning

Changing the default language affects AI translation behavior. The default language is used as the source for all AI translations.

Use regional variants for locale-specific differences:

CodeVariantSpelling Differences
en-USUS Englishcolor, center, favorite
en-GBBritish Englishcolour, centre, favourite
en-AUAustralian EnglishSimilar to GB with local terms
en-CACanadian EnglishMix of US/GB spelling
CodeVariantNotes
es-ESSpain SpanishVosotros form, European terms
es-MXMexican SpanishMost common in North America
es-ARArgentine SpanishVoseo usage
CodeVariantScriptRegion
zh-HansSimplified简体Mainland China, Singapore
zh-HantTraditional繁體Taiwan, Hong Kong, Macau
langctl projects create "Mobile App" \
--languages en,zh-Hans,zh-Hant

langctl keys create mobile-app home.welcome \
--value-en "Welcome" \
--value-zh-Hans "欢迎" \
--value-zh-Hant "歡迎"

Languages that read right-to-left:

  • Arabic (ar)
  • Hebrew (he)
  • Persian/Farsi (fa)
  • Urdu (ur)
/* CSS automatically applied for RTL languages */
[dir="rtl"] {
text-align: right;
direction: rtl;
}

[IMAGE: rtl-languages.png - Comparison of LTR vs RTL layout]

LangCTL supports full Unicode (UTF-8):

  • Latin scripts: Basic Latin, Latin Extended
  • Cyrillic: Russian, Ukrainian, Bulgarian
  • CJK: Chinese, Japanese, Korean
  • Arabic: Arabic, Persian, Urdu
  • Indic: Devanagari, Bengali, Tamil, Telugu
  • Other: Greek, Hebrew, Thai, Georgian
💡
Tip

All exported files use UTF-8 encoding by default. Ensure your application supports UTF-8 to display all languages correctly.

Track translation progress per language:

langctl projects status my-project

Begin with 2-3 languages and expand:

--languages en,es

langctl projects add-language my-app fr,de,it

langctl projects add-language my-app ja,zh,ko

Only add variants when there are significant differences:

--languages en-US,en-GB,pt-BR,pt-PT

--languages es-ES,es-MX,es-AR,es-CO  # Start with just es

Add languages based on your user base:

  1. Analyze user location data
  2. Add top 3-5 language markets first
  3. Ensure 100% completion before adding more
  4. Expand gradually based on growth
--languages en,es,pt,fr,de,ja,zh
--languages en,de,fr,es,it,pl,nl
--languages en,zh-Hans,ja,ko,th,vi,id

Check that translations exist:

langctl keys list my-project --missing-language de

Ensure UTF-8 encoding:

<!-- HTML -->
<meta charset="UTF-8">

<!-- iOS Strings file -->
// Save with UTF-8 encoding

<!-- Android XML -->
<?xml version="1.0" encoding="utf-8"?>

Next Steps