Formats

ARB (Application Resource Bundle)

JSON-based translation file format used by Flutter and Google's localization tools.

Definition

ARB (Application Resource Bundle) is a JSON-based localization file format developed by Google. It's the default format for Flutter localization and supports ICU MessageFormat syntax, metadata for translators (descriptions, placeholders), and plural/gender forms. ARB files are human-readable and can include contextual information for translators.

Examples

  • Basic: {"hello": "Hello World"}
  • With metadata: {"hello": "Hello", "@hello": {"description": "Greeting"}}
  • Plural: {"itemCount": "{count, plural, =0{No items} =1{1 item} other{{count} items}}"}
  • Placeholder: {"@itemCount": {"placeholders": {"count": {"type": "int"}}}}

Frequently Asked Questions

Why does Flutter use ARB instead of JSON?

ARB extends JSON with metadata support (@key for descriptions, placeholders). This helps translators understand context without separate documentation. Flutter's gen-l10n tool reads ARB and generates type-safe Dart code.

Can I convert ARB to other formats?

Yes. Most TMS platforms (including IntlPull) support ARB import/export. Tools exist to convert ARB ↔ JSON, ARB ↔ XLIFF. The metadata (@keys) may be lost in simpler formats.

Related Terms

Ready to simplify your i18n workflow?

Start managing translations with IntlPull.

    ARB (Application Resource Bundle) - Definition & Examples | IntlPull Glossary | IntlPull