Localizable • Type-Safe Software Localization for Flutter & Dart Apps

The end-to-end localization platform tailored for native software development. Decompose sentences into typed variables, translate with ML automation, and stream type-safe Dart code straight into your codebase with one CLI command.

Open Web App intl_localizable on pub.dev Privacy Policy Terms & Conditions

Why Choose Localizable for Flutter & Dart

  • Type-Safe & Autocomplete: Say goodbye to runtime string typos. Every translation key is transformed into a statically typed Dart method with auto-completion and compile-time verification.
  • 7 Typed Variable Formats: Full support for Text, Formatted Numbers, Measurements, DateTime, Contextual Genders, Plurals, and Custom TextSpans.
  • Instant gRPC CLI Sync: One command (localizable update) connects securely via gRPC, verifies pubspec dependencies, and extracts fresh code directly into your lib directory.
  • Flutter & Pure Dart Ready: Full support for Flutter Widgets (MaterialApp delegates, RichText spans) as well as Pure Dart servers, CLI packages, and backend microservices.

5-Step Interactive Workflow

  1. Create a Project: Configure your main base locale (e.g. en) and target languages (e.g. nl, es, de, fr, ja). Specify brand names in Ignore words and choose Flutter or Pure Dart export targets.
  2. Define Keys & Variables: Create translation keys like welcome_user. Decompose dynamic values into typed variables such as ${name} (Text), ${date} (Date), and ${amount} (Plural) with CLDR plural variations.
  3. Localize & Auto-Translate: Apply Auto Translate for automated machine translations, customize localized plural rules, and verify 0 validation warnings with the All Problems inspector.
  4. Sync via CLI (intl_localizable): Download localizable_project.json into your project root and run localizable update. The CLI connects via gRPC, verifies dependencies, and generates ready-to-use statically typed Dart code.
  5. In-App Type-Safe Usage: Configure MaterialApp delegates and invoke Localizable.of(context).welcome_user(name: 'Alex', date: DateTime.now(), amount: 3) with zero string keys.

7 Strongly Typed Variable Formats

  • Text: Plain string parameters (e.g., ${name}).
  • Number: Formatted numeric values with automatic decimal and grouping separators (e.g., ${score}).
  • Measurement: Unit and symbol-based measurements formatted automatically to metric or imperial units (e.g., ${distance}).
  • Date: DateTime objects formatted according to the conventions of the active locale (e.g., ${date}).
  • Gender: Gender-specific sentence variations (male, female, other) ensuring natural phrasing.
  • Plural: Full CLDR pluralization rules: zero, one, two, few, many, and other.
  • Static Spans: Apply custom styling or click gestures to substrings without substituting dynamic strings (e.g., RichText links).

The intl_localizable Dart CLI

dart pub global activate intl_localizable
localizable update

Frequently Asked Questions & Troubleshooting

Error: "command not found: localizable"
Ensure that Dart's global pub cache bin directory is included in your system's PATH (~/.pub-cache/bin or %LOCALAPPDATA%\Pub\Cache\bin).
Error: "Could not find pubspec.yaml in this directory"
Make sure you execute "localizable update" from the root directory of your Flutter or Dart application.
Error: "Unable to read/locate localizable_project.json config file"
Log in to the Localizable web app, go to your project's Export tab, and click "Download CLI config". Place localizable_project.json in your project root.
How do I synchronize changes after editing translations?
Simply run "localizable update" in your terminal. All generated Dart files and delegates are immediately refreshed.
Can I use Localizable without Flutter in pure Dart backends?
Yes! Check "Export for Dart" in project settings and initialize with: await Localizable.load(Locale('en')).

© 2026 Localizable. Type-safe software localization platform for Flutter and Dart.

Contact: info@localization-platform.com