Flutter Supported Locales
The complete list of locales Flutter's flutter_localizations supports — 87 entries with language codes, country codes, native names and RTL flags. Search, filter, and copy Locale() snippets straight into your app.
| Language | Native name | Locale | Dart | Dir | |
|---|---|---|---|---|---|
| Afrikaans | Afrikaans | af | Locale('af') | LTR | |
| Amharic | አማርኛ | am | Locale('am') | LTR | |
| Arabic | العربية | ar | Locale('ar') | RTL | |
| Azerbaijani | Azərbaycan | az | Locale('az') | LTR | |
| Belarusian | Беларуская | be | Locale('be') | LTR | |
| Bulgarian | Български | bg | Locale('bg') | LTR | |
| Bengali | বাংলা | bn | Locale('bn') | LTR | |
| Bosnian | Bosanski | bs | Locale('bs') | LTR | |
| Catalan | Català | ca | Locale('ca') | LTR | |
| Czech | Čeština | cs | Locale('cs') | LTR | |
| Danish | Dansk | da | Locale('da') | LTR | |
| German | Deutsch | de | Locale('de') | LTR | |
| German (Switzerland) | Deutsch (Schweiz) | de_CH | Locale('de', 'CH') | LTR | |
| Greek | Ελληνικά | el | Locale('el') | LTR | |
| English | English | en | Locale('en') | LTR | |
| English (United States) | English (US) | en_US | Locale('en', 'US') | LTR | |
| English (United Kingdom) | English (UK) | en_GB | Locale('en', 'GB') | LTR | |
| English (Australia) | English (AU) | en_AU | Locale('en', 'AU') | LTR | |
| English (Canada) | English (CA) | en_CA | Locale('en', 'CA') | LTR | |
| English (India) | English (IN) | en_IN | Locale('en', 'IN') | LTR | |
| Spanish | Español | es | Locale('es') | LTR | |
| Spanish (Mexico) | Español (México) | es_MX | Locale('es', 'MX') | LTR | |
| Spanish (United States) | Español (EE. UU.) | es_US | Locale('es', 'US') | LTR | |
| Estonian | Eesti | et | Locale('et') | LTR | |
| Basque | Euskara | eu | Locale('eu') | LTR | |
| Persian | فارسی | fa | Locale('fa') | RTL | |
| Finnish | Suomi | fi | Locale('fi') | LTR | |
| Filipino | Filipino | fil | Locale('fil') | LTR | |
| French | Français | fr | Locale('fr') | LTR | |
| French (Canada) | Français (Canada) | fr_CA | Locale('fr', 'CA') | LTR | |
| Galician | Galego | gl | Locale('gl') | LTR | |
| Gujarati | ગુજરાતી | gu | Locale('gu') | LTR | |
| Hebrew | עברית | he | Locale('he') | RTL | |
| Hindi | हिन्दी | hi | Locale('hi') | LTR | |
| Croatian | Hrvatski | hr | Locale('hr') | LTR | |
| Hungarian | Magyar | hu | Locale('hu') | LTR | |
| Armenian | Հայերեն | hy | Locale('hy') | LTR | |
| Indonesian | Bahasa Indonesia | id | Locale('id') | LTR | |
| Icelandic | Íslenska | is | Locale('is') | LTR | |
| Italian | Italiano | it | Locale('it') | LTR | |
| Japanese | 日本語 | ja | Locale('ja') | LTR | |
| Georgian | ქართული | ka | Locale('ka') | LTR | |
| Kazakh | Қазақ | kk | Locale('kk') | LTR | |
| Khmer | ខ្មែរ | km | Locale('km') | LTR | |
| Kannada | ಕನ್ನಡ | kn | Locale('kn') | LTR | |
| Korean | 한국어 | ko | Locale('ko') | LTR | |
| Kyrgyz | Кыргыз | ky | Locale('ky') | LTR | |
| Lao | ລາວ | lo | Locale('lo') | LTR | |
| Lithuanian | Lietuvių | lt | Locale('lt') | LTR | |
| Latvian | Latviešu | lv | Locale('lv') | LTR | |
| Macedonian | Македонски | mk | Locale('mk') | LTR | |
| Malayalam | മലയാളം | ml | Locale('ml') | LTR | |
| Mongolian | Монгол | mn | Locale('mn') | LTR | |
| Marathi | मराठी | mr | Locale('mr') | LTR | |
| Malay | Bahasa Melayu | ms | Locale('ms') | LTR | |
| Burmese | မြန်မာ | my | Locale('my') | LTR | |
| Nepali | नेपाली | ne | Locale('ne') | LTR | |
| Dutch | Nederlands | nl | Locale('nl') | LTR | |
| Norwegian | Norsk | no | Locale('no') | LTR | |
| Odia | ଓଡ଼ିଆ | or | Locale('or') | LTR | |
| Punjabi | ਪੰਜਾਬੀ | pa | Locale('pa') | LTR | |
| Polish | Polski | pl | Locale('pl') | LTR | |
| Pashto | پښتو | ps | Locale('ps') | RTL | |
| Portuguese | Português | pt | Locale('pt') | LTR | |
| Portuguese (Portugal) | Português (Portugal) | pt_PT | Locale('pt', 'PT') | LTR | |
| Romanian | Română | ro | Locale('ro') | LTR | |
| Russian | Русский | ru | Locale('ru') | LTR | |
| Sinhala | සිංහල | si | Locale('si') | LTR | |
| Slovak | Slovenčina | sk | Locale('sk') | LTR | |
| Slovenian | Slovenščina | sl | Locale('sl') | LTR | |
| Albanian | Shqip | sq | Locale('sq') | LTR | |
| Serbian | Српски | sr | Locale('sr') | LTR | |
| Swedish | Svenska | sv | Locale('sv') | LTR | |
| Swahili | Kiswahili | sw | Locale('sw') | LTR | |
| Tamil | தமிழ் | ta | Locale('ta') | LTR | |
| Telugu | తెలుగు | te | Locale('te') | LTR | |
| Thai | ไทย | th | Locale('th') | LTR | |
| Tagalog | Tagalog | tl | Locale('tl') | LTR | |
| Turkish | Türkçe | tr | Locale('tr') | LTR | |
| Ukrainian | Українська | uk | Locale('uk') | LTR | |
| Urdu | اردو | ur | Locale('ur') | RTL | |
| Uzbek | Oʻzbek | uz | Locale('uz') | LTR | |
| Vietnamese | Tiếng Việt | vi | Locale('vi') | LTR | |
| Chinese (Simplified) | 简体中文 | zh | Locale('zh') | LTR | |
| Chinese (Traditional) | 繁體中文 | zh_TW | Locale('zh', 'TW') | LTR | |
| Chinese (Hong Kong) | 繁體中文 (香港) | zh_HK | Locale('zh', 'HK') | LTR | |
| Zulu | isiZulu | zu | Locale('zu') | LTR |
supportedLocales (none selected — showing first 3)
Tick “add” on rows above to build your app's supportedLocales list, then paste it into your MaterialApp.
supportedLocales: const [
Locale('af'),
Locale('am'),
Locale('ar'),
],Managing translations across all these locales by hand?
FlutterLocalisation auto-fills missing translations with AI, keeps every locale in sync across your team, and pushes updates over-the-air.
How to add supported locales in Flutter
Flutter apps declare the languages they support through MaterialApp.supportedLocales together with the localization delegates from flutter_localizations. Each entry is a Locale built from a language code and an optional region code:
return MaterialApp(
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
// or list them explicitly:
// supportedLocales: const [Locale('en'), Locale('es'), Locale('ar')],
);Right-to-left (RTL) locales
Flutter automatically flips layout direction for RTL languages — Arabic (ar), Hebrew (he), Persian (fa), Urdu (ur) and Pashto (ps). Use Directionality and direction-aware widgets (e.g. EdgeInsetsDirectional) so your UI mirrors correctly.
Frequently asked questions
How many locales does Flutter support?
Flutter's flutter_localizations package (GlobalMaterialLocalizations) ships built-in translations for 80+ locales, including regional variants like en_US, en_GB, es_MX, pt_PT, and zh_TW. You can also add your own locales for any language by providing the corresponding .arb files.
What is a Flutter Locale object?
A Locale identifies a language and optional region. You create one with Locale('es') for Spanish, or Locale('es', 'MX') for Mexican Spanish. You pass the list of locales your app supports to MaterialApp's supportedLocales property.
What is the difference between a language code and a country code?
The language code (like en, es, ar) is the ISO 639 language subtag. The country/region code (like US, MX, EG) is the ISO 3166 region subtag. Together they form a locale identifier such as en_US. Region only matters when translations differ between regions.
How do I set supportedLocales in Flutter?
Pass a list of Locale objects to MaterialApp.supportedLocales and add the localization delegates. Use the “Copy supportedLocales” button on this page to generate the Dart list for the locales you select.
Which Flutter locales are right-to-left (RTL)?
Arabic (ar), Hebrew (he), Persian/Farsi (fa), Urdu (ur), and Pashto (ps) are right-to-left. Flutter handles RTL layout automatically when the active locale is RTL — use the “RTL only” filter above to see them all.