Flutter (arb)

Application Resource Bundle (ARB) is the localization format used by Flutter applications. ARB files are valid JSON with a specific structure defined by the Flutter intl package. They work with Flutter's gen-l10n tool, which reads ARB files and generates a typed Dart accessor class (AppLocalizations by convention). Every translatable string in your Flutter app is represented as a key-value entry in an ARB file.

Each translatable string is defined by a camelCase key and a string value. An optional metadata entry — identified by the same key with a leading at-sign — carries a description field for translator context, a placeholders object defining any interpolated values with their types, and plural form definitions using ICU message syntax. ICU handles every plural category required by any language: Arabic requires six forms, Polish requires four, Russian requires three.

Best practice: always write description metadata for every ARB key — this is the context translators see in Language Monster. Define placeholder types explicitly in ARB metadata so gen-l10n generates correct Dart method signatures with type-safe arguments. Use ICU plural syntax rather than separate single and plural string keys. Language Monster reads ARB metadata to protect placeholder values during translation, handles ICU plural structures correctly, and preserves metadata entries when pushing completed ARB files back to your repository.

Developer Localization Guides

Flutter Localization

Read More File Formats