Flutter Localization Guides

How to translate a Flutter app with gen-l10n and ARB files, format dates and numbers per locale, handle plurals and right-to-left languages, and fix the errors you hit on the way.

All articles

Oct 30, 2026

Flutter Web Locale in URL: /en/, /fr/ with go_router

Put the locale in the URL on Flutter web with go_router and gen-l10n: a :lang route segment, redirects, a prefix-only language switcher and server rewrites.

8
flutter webgo_routerlocalizationgen-l10ndeep links
Oct 22, 2026

Flutter Lists, Grids and Scrolling Widgets: Localization Guide

ListView, ListTile, GridView, PageView, slivers, DataTable and scroll widgets with the localization rule for each: no measured itemExtent, captions with maxLines, horizontal scroll that follows Directionality, numeric table columns, locale-aware sorting.

10
flutterlistviewdatatablewidgetslocalization
Oct 22, 2026

Flutter Buttons, Chips, Inputs and Text Widgets: Localization Done Right

Localize every Material button, chip, checkbox, switch, slider, text field and text widget: one key per label, validators that return keys, tooltips on icon buttons, Text.rich with placeholders, NumberFormat in sliders. Copy-paste code.

12
flutterbuttonstextfieldwidgetslocalization
Oct 22, 2026

How to Translate a Flutter App (2026): Step by Step

Translate a Flutter app into any language: set up gen-l10n, write ARB files, translate with AI or a translator, handle plurals and placeholders, test, declare locales to the stores. Copy-paste code.

9
fluttertranslationgen-l10narblocalizationtutorial
Oct 22, 2026

Xcode String Catalogs, Translated by AI With Your Team

FlutterLocalisation now supports native iOS apps. Import Localizable.xcstrings, translate every language with AI, review, and pull the catalog back in Xcode's own format with the CLI or Git sync.

7
iosswiftxcstringsstring catalogxcodelocalizationannouncement
Oct 12, 2026

Fail CI When a Flutter Locale Is Missing Translations

Make flutter gen-l10n fail the build when any locale has untranslated keys: the l10n.yaml untranslated-messages-file option, a 20-line Dart check, and a GitHub Actions job.

7
flutterl10ngen-l10nciarbgithub-actions
Oct 8, 2026

Fix Null Check Operator on AppLocalizations.of(context)!

AppLocalizations.of(context) returns null? Match your crash to its cause in one table, then set nullable-getter: false in l10n.yaml and add context.l10n.

7
flutterlocalizationgen-l10napplocalizationsnull safetyl10n.yaml
Oct 1, 2026

flutter gen-l10n Runs But Generates Nothing: Fix It

flutter gen-l10n exits 0 and writes no app_localizations.dart? A decision tree for the four real causes, with verified l10n.yaml configs and exact tool output.

9
fluttergen-l10nl10n.yamlarbdebugging
Sep 15, 2026

Localize API Error Messages in Flutter with Dio

Stop rendering response.data['message']. Send Accept-Language from Flutter's resolved locale with a Dio interceptor and map server error codes to ARB keys.

8
flutterdiolocalizationarberror-handling
Sep 6, 2026

Fix "Cannot Generate Localizations in a Workspace"

gen-l10n breaking after you moved to a Dart pub workspace or Melos monorepo? Here is the exact pubspec + l10n.yaml combo that works on Flutter 3.32 and later.

7
flutterl10nmonorepomelosgen-l10n
Aug 10, 2026

Flutter Serving the Wrong Spanish? Fix Regional ARBs

Your app_es_MX.arb is ignored and es-419 users get Castilian. Here's how Flutter's basicLocaleListResolution actually matches regional ARB variants.

9
flutterlocalizationarblocale-resolutiongen-l10n
Aug 5, 2026

Fix: Flutter 3.38 Deletes AppLocalizations Every Run

Flutter 3.38.0-3.38.3 deletes app_localizations.dart on every run. The cause isn't generate: true — here's the real diagnosis and the permanent fix.

8
flutterl10ngen-l10nflutter-3-38troubleshooting
Aug 4, 2026

Fix Flutter Untranslated en_US False Positives

gen-l10n flags en_US keys inherited from en as untranslated and breaks CI. Here's why it happens plus a copy-paste Dart script to whitelist inheritance.

6
flutterl10ngen-l10ni18nci
Aug 1, 2026

Localize 'Minutes Ago' in Flutter with ARB Plurals

Replace hard-coded timeago strings with ARB plurals and gen-l10n: copy-paste en, pl, and ar ARB files plus a Dart helper for localized relative timestamps.

7
flutteri18narbpluralstimeagogen-l10n
Jul 28, 2026

Migrate Flutter l10n to synthetic-package: false

package:flutter_gen is deprecated and going away. Here's the exact l10n.yaml diff, import rewrites, and a one-line codemod to migrate a large Flutter app in minutes.

7
flutterl10ni18nmigrationflutter_gengen-l10n
Jul 18, 2026

Fix Flutter gen-l10n Placeholder Type Mismatch

Flutter build failing on a gen-l10n placeholder type mismatch between locales? Fix num vs null inference with an explicit ARB type — plus the int/double trap.

6
fluttergen-l10narbi18nlocalization
Jul 17, 2026

Fix Flutter gen-l10n NumberFormat Constructor Error

Flutter gen-l10n throws "does not have a corresponding NumberFormat constructor" when a message mixes int and num/double placeholders. Here's the exact fix.

5
flutterl10ngen-l10narbintlnumberformat
Jul 13, 2026

Localize Dart Enum Labels in Flutter Dropdowns

Enums can't reach AppLocalizations.of(context). Here's a clean extension-method + ARB-key pattern to localize Flutter dropdown enum labels without a giant switch.

6
flutterlocalizationdarti18nenumsarb
Jul 10, 2026

Fix DeferredLoadException & Cut Flutter Web Bundles

Lazy-load ARB locales with Flutter's use-deferred-loading flag to halve your web bundle, then fix the DeferredLoadException that only hits release builds.

6
flutter weblocalizationdeferred loadingbundle sizei18n
Jul 7, 2026

Localize Flutter Backend & API Content (Beyond ARB)

Learn to localize dynamic backend/API content in Flutter with a custom AssetLoader plus a cache-and-fallback layer—while keeping AppLocalizations for static UI.

6
flutterlocalizationi18narbbackend
Jul 5, 2026

Fix Flutter LocaleDataException in DateFormat

Decode Flutter's 'LocaleDataException: Locale data has not been initialized' error and fix DateFormat crashes with copy-paste initializeDateFormatting main() code.

6
flutterintldateformatlocalizationtable_calendar
Jul 4, 2026

Why Indie Devs Should Automate App Store Screenshots

Manual app store screenshots cost indie devs hours per release and break on every locale and device. Here's why automation pays off — and how to start.

6
indie devapp storeautomationasofastlanemobile
Jul 4, 2026

Fix Flutter 3.38 gen-l10n Deleting AppLocalizations

Flutter 3.38.1/Dart 3.10 makes gen-l10n intermittently delete AppLocalizations and throw 'Target of URI doesn't exist'. A version-specific fix, l10n.yaml, CI script and pin.

7
fluttergen-l10nlocalizationflutter-3.38applocalizationsdart-3.10
Jun 28, 2026

Flutter gen-l10n Nested Plurals & Selects: 3 Fixes

gen_l10n can't nest a plural inside a select or put two plurals in one ARB string. Here are 3 copy-paste workarounds with working Dart and ARB code.

6
flutterl10ngen-l10nintlarbpluralization
Dec 9, 2025

Flutter vs React Native Localization: Complete Comparison 2025

Compare Flutter and React Native localization in 2025. See which framework has better i18n support, RTL handling, pluralization, tooling, and developer experience for multilingual apps.

14 min read
flutterreact-nativelocalizationcomparisoni18nmobile-app-translation
Dec 9, 2025

App Localization Cost in 2026: AI vs Freelance vs Agency Prices

What app localization costs per word and per language: AI from $0, freelancers $200 to $2,000, agencies more. Real numbers, hidden costs and how to cut the bill.

11 min read
app-localizationlocalization-costmobile-app-translationpricingbudgetmultilingual-appapp-localization-price
Dec 9, 2025

How to Translate a Mobile App (2026): Methods, Costs and Steps

How to translate a mobile app into other languages: pick a method (AI, freelance, agency), prepare strings, handle plurals and layouts, test and release. Costs included.

10 min read
mobile-app-translationapp-localizationtranslate-appmultilingual-appapp-internationalizationi18n
Dec 8, 2025

FlutterLocalisation vs Lokalise: Flutter-First Tool vs Enterprise TMS

Compare FlutterLocalisation (from €29/month, €249/year) with Lokalise ($120+/month). See which Flutter localization tool offers better value, features, and workflow for your team size.

11 min read
flutterlocalisationlokalisecomparisonflutterlocalizationenterprise
Dec 8, 2025

Localizely Alternative for Flutter: FlutterLocalisation Compared

Looking for a Localizely alternative? FlutterLocalisation compared side by side: pricing, AI translation, Git sync, type-safe codegen, live updates and what Localizely does better.

9 min read
flutterlocalisationlocalizelycomparisonflutterlocalizationtools
Dec 7, 2025

Flutter Translations: How to Manage Them Across 10+ Languages

A workflow for Flutter translations that scales: organising ARB files, catching missing keys in CI, working with translators and keeping every language in sync per release.

12 min read
fluttertranslationsworkflowlocalizationmanagementscaling
Dec 6, 2025

Flutter Get Locale: How to Get Current Locale & Language Code

Get locale in Flutter with Localizations.localeOf(), PlatformDispatcher, and without context. Copy-paste code to detect user language, get language code, and handle locale changes.

9 min read
flutterlocaleget-localelanguage-detectioni18nlocalization
Dec 6, 2025

ARB Editor: Best Free Tools for Flutter Localization Files (2025)

Free ARB editor online - no signup. Validate, edit, and fix Flutter .arb localization files instantly. Compare top ARB editors: VS Code extensions, FlutterLocalisation, Localizely, POEditor.

10 min read
flutterarbeditorarb-editortoolslocalizationcomparisonfree
Dec 6, 2025

Flutter Locale List: 80+ Supported Languages and Codes (2026)

Every locale Flutter supports, with language codes, country codes, native names and RTL flags. Copy-paste supportedLocales and Locale() snippets, plus the ones gen-l10n cannot build.

8 min read
flutterlocaleslanguagessupported-languagesrtlreference
Dec 4, 2025

Flutter intl Package: DateFormat, NumberFormat and Plurals (2026)

How to use the intl package in Flutter: setup, DateFormat and NumberFormat per locale, currency, ICU plurals including Arabic and Polish, and the gen-l10n link. Copy-paste code.

14 min read
flutterintlinternationalizationdate-formatnumber-formati18npluralization2026
Dec 4, 2025

Flutter Localization Without Context: Access Translations Anywhere

Learn 6 different techniques to access Flutter translations without BuildContext. Use localizations in services, repositories, and utility functions with global navigator key, GetIt, and more.

8 min read
flutterlocalizationcontextservicesarchitecturebest-practices
Dec 4, 2025

Flutter Change Language at Runtime: No Restart, Choice Persisted

Switch the app language from a settings screen without restarting: Provider and Riverpod examples, SharedPreferences persistence, system locale fallback. Copy-paste code.

11 min read
flutterlocalizationruntimelanguage-switchstate-managementpersistence
Oct 11, 2025

Translating Your Product = Deploying in a New Market (And You're Missing 40% of Them)

Each language you support = a new revenue stream. Most companies only tap into 1 of 135 potential markets. Discover why 40% of customers won't buy without native language support and how multilingual AI opens 135+ markets instantly.

6 min read
MultilingualMarket ExpansionRevenue GrowthInternational BusinessAI TranslationGlobal Strategy
Dec 1, 2025

Flutter Localization: 10 Common Pitfalls and How to Avoid Them

Stop making these 10 critical localization mistakes. Learn how to avoid hardcoded strings, handle RTL layouts, manage plurals correctly, and prevent translation bugs before they reach production.

8 min read
flutterlocalizationbest-practicespitfallsdebugging
Dec 1, 2025

Flutter Pluralization: A Complete Guide for Developers

Master Flutter pluralization with ICU message format. Handle complex plural rules for Arabic, Polish, Russian and other languages correctly in your Flutter apps.

6 min read
flutterlocalizationpluralizationicui18n
Nov 22, 2025

l10n.yaml in Flutter: Every Option Explained (2026)

All l10n.yaml options with copy-paste examples: arb-dir, output-dir, nullable-getter, synthetic-package, deferred loading, untranslated-messages-file. Configs for small and large apps.

12 min read
flutterlocalizationconfigurationl10nyamlgen-l10n2026