intl_utils 1.6.5

Dart native
Flutter Android iOS

intl_utils is a dart library that generates Dart localization code from ARB file. Generated code relies on Intl library.

Intl Utils #

pub package

Dart package that creates a binding between your translations from .arb files and your Flutter app. It generates boilerplate code for official Dart Intl library and adds auto-complete for keys in Dart code.

Follow us on Twitter.

Usage #

You can use this package directly (i.e. for Continuous Integration tools or via CLI) or leave it to Visual Studio Code or IntelliJ/Android Studio plugins to run it automatically whenever you modify ARB files.

Follow these steps to get started:

Configure package #

Add package configuration to your pubspec.yaml file. Here is a full configuration for the package:

  enabled: true # Required. Must be set to true to activate the package. Default: false
  class_name: S # Optional. Sets the name for the generated localization class. Default: S
  main_locale: en # Optional. Sets the main locale used for generating localization files. Provided value should consist of language code and optional script and country codes separated with underscore (e.g. 'en', 'en_GB', 'zh_Hans', 'zh_Hans_CN'). Default: en

  localizely: # Optional settings if you use Localizely platform. Read more:
    project_id: # Get it from the page.
    branch: # Get it from the “Branches” page on the Localizely platform, in case branching is enabled and you want to use a non-main branch.
    upload_overwrite: # Set to true if you want to overwrite translations with upload. Default: false
    upload_as_reviewed: # Set to true if you want to mark uploaded translations as reviewed. Default: false
    ota_enabled: # Set to true if you want to use Localizely Over-the-air functionality. Default: false

Add ARB files #

Add one ARB file for each locale you need to support in your Flutter app. Add them to lib/l10n folder inside your project, and name them in a following way: intl_<LOCALE_ISO_CODE>.arb. For example: intl_en.arb or intl_en_GB.arb.

If you wonder how to format key-values content inside ARB files, here is detailed explanation.

Run command #

To generate boilerplate code for localization, run the generate program inside directory where your pubspec.yaml file is located:

  flutter pub run intl_utils:generate

This will produce files inside lib/generated directory.

Integration with Localizely #

Upload main ARB file

  flutter pub run intl_utils:localizely_upload_main --project-id <PROJECT_ID> --api-token <API_TOKEN>

This will upload your main ARB file to Localizely. Check out the 'Configure package' section for additional upload configuration.

Download ARB files

  flutter pub run intl_utils:localizely_download --project-id <PROJECT_ID> --api-token <API_TOKEN>

This will download all available ARB files from the Localizely platform and put them under lib/l10n folder inside your project.

Notes: Argument project-id can be omitted if pubspec.yaml file contains project_id configuration under flutter_intl/localizely section. Argument api-token can be omitted if ~/.localizely/credentials.yaml file contains api_token configuration.

pub points


intl_utils is a dart library that generates Dart localization code from ARB file. Generated code relies on Intl library.

Repository (GitHub)
View/report issues


API reference




archive, args, http, intl_translation, path, petitparser, yaml


Packages that depend on intl_utils