Gå til hovedinnhold

Flutter ARB format (.arb)

The Flutter ARB format reads .arb files — the JSON localization format used by Flutter's gen-l10n tooling and the Dart intl package. Each file is monolingual: one locale (named by @@locale, or inferred from the filename), where resource keys map to ICU MessageFormat message strings.

Each message becomes a translatable block. Sibling @<id> objects describe a resource (its description and placeholders) and @@<global> keys hold file metadata (@@locale, @@last_modified, @@author, @@context); both are preserved verbatim and never extracted. ICU placeholders ({name}), plurals ({count, plural, …}), and select/gender ({g, select, …}) are protected as opaque inline codes so their syntax is never translated, and @description is surfaced as a translator note. Output is byte-faithful: key order, JSON escaping, and all @/@@ metadata round-trip untouched.

IDarb
SourceBuilt-in
Extensions.arb
MIME Typesapplication/json
CapabilitiesRead + Write

Parameters

ParameterTypeDefaultDescription
descriptionNotesbooleantrueSurface the "description" field of a resource's sibling "@<id>" attributes object as a translator note. The attributes object is always preserved byte-faithfully on round-trip regardless of this setting.

Configure these parameters interactively and copy the YAML on the Format Reference.

Examples

Ignore descriptions

Do not turn @description values into translator notes.

descriptionNotes: false

Processing notes

  • One file = one locale; the message value is the block's source content.

  • @<id> attribute objects and @@<global> metadata are preserved but not extracted as translatable content.

  • ICU MessageFormat constructs (placeholders, plural, select, gender) are protected as inline codes, not translatable structure.

← Back to the Format Reference