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.
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:
| Code | Language | Native Name | Speakers |
|---|---|---|---|
en | English | English | 1.5B |
zh | Chinese | 中文 | 1.1B |
es | Spanish | Español | 559M |
hi | Hindi | हिन्दी | 602M |
ar | Arabic | العربية | 274M |
pt | Portuguese | Português | 264M |
bn | Bengali | বাংলা | 272M |
ru | Russian | Русский | 258M |
ja | Japanese | 日本語 | 125M |
de | German | Deutsch | 134M |
fr | French | Français | 280M |
ko | Korean | 한국어 | 81M |
it | Italian | Italiano | 85M |
tr | Turkish | Türkçe | 88M |
pl | Polish | Polski | 45M |
[IMAGE: language-popularity-chart.png - Bar chart of most used languages]
European Languages
Western Europe
| Code | Language | Native Name |
|---|---|---|
en | English | English |
fr | French | Français |
de | German | Deutsch |
es | Spanish | Español |
it | Italian | Italiano |
pt | Portuguese | Português |
nl | Dutch | Nederlands |
da | Danish | Dansk |
no | Norwegian | Norsk |
sv | Swedish | Svenska |
fi | Finnish | Suomi |
is | Icelandic | Íslenska |
Central & Eastern Europe
| Code | Language | Native Name |
|---|---|---|
pl | Polish | Polski |
cs | Czech | Čeština |
sk | Slovak | Slovenčina |
hu | Hungarian | Magyar |
ro | Romanian | Română |
bg | Bulgarian | Български |
uk | Ukrainian | Українська |
ru | Russian | Русский |
hr | Croatian | Hrvatski |
sr | Serbian | Српски |
sl | Slovenian | Slovenščina |
lt | Lithuanian | Lietuvių |
lv | Latvian | Latviešu |
et | Estonian | Eesti |
Asian Languages
East Asia
| Code | Language | Native Name | Notes |
|---|---|---|---|
zh | Chinese | 中文 | Simplified by default |
zh-Hans | Chinese (Simplified) | 简体中文 | Mainland China |
zh-Hant | Chinese (Traditional) | 繁體中文 | Taiwan, Hong Kong |
ja | Japanese | 日本語 | Hiragana, Katakana, Kanji |
ko | Korean | 한국어 | Hangul |
Southeast Asia
| Code | Language | Native Name |
|---|---|---|
vi | Vietnamese | Tiếng Việt |
th | Thai | ไทย |
id | Indonesian | Bahasa Indonesia |
ms | Malay | Bahasa Melayu |
fil | Filipino | Filipino |
km | Khmer | ភាសាខ្មែរ |
lo | Lao | ລາວ |
my | Burmese | မြန်မာဘာသာ |
South Asia
| Code | Language | Native Name |
|---|---|---|
hi | Hindi | हिन्दी |
bn | Bengali | বাংলা |
ur | Urdu | اردو |
te | Telugu | తెలుగు |
ta | Tamil | தமிழ் |
mr | Marathi | मराठी |
gu | Gujarati | ગુજરાતી |
kn | Kannada | ಕನ್ನಡ |
ml | Malayalam | മലയാളം |
pa | Punjabi | ਪੰਜਾਬੀ |
West Asia & Middle East
| Code | Language | Native Name | Direction |
|---|---|---|---|
ar | Arabic | العربية | RTL |
he | Hebrew | עברית | RTL |
fa | Persian (Farsi) | فارسی | RTL |
tr | Turkish | Türkçe | LTR |
az | Azerbaijani | Azərbaycan | LTR |
ka | Georgian | ქართული | LTR |
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
- Open Project Settings
- Navigate to “Languages” tab
- Click “Add Language”
- Search and select from dropdown
- 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 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:
| Code | Variant | Spelling Differences |
|---|---|---|
en-US | US English | color, center, favorite |
en-GB | British English | colour, centre, favourite |
en-AU | Australian English | Similar to GB with local terms |
en-CA | Canadian English | Mix of US/GB spelling |
| Code | Variant | Notes |
|---|---|---|
es-ES | Spain Spanish | Vosotros form, European terms |
es-MX | Mexican Spanish | Most common in North America |
es-AR | Argentine Spanish | Voseo usage |
| Code | Variant | Script | Region |
|---|---|---|---|
zh-Hans | Simplified | 简体 | Mainland China, Singapore |
zh-Hant | Traditional | 繁體 | 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
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:
- Analyze user location data
- Add top 3-5 language markets first
- Ensure 100% completion before adding more
- 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
- Export Formats - Format-specific requirements
- Web Integration - Framework setup
- Mobile Integration - iOS and Android
- Subscription Plans - Language limits by plan