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.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
descriptionNotes | boolean | true | Surface 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