1-based line numbers for each top-level key in the original source
text. Populated by the parser via a post-decode scan; used by the
dialect check report formatter to produce file:line hints.
jsonDecode strips positions, so we re-derive them.
Other @@<name> file-level metadata, preserved verbatim so we never
silently strip fields Dialect doesn't know about (e.g. Flutter
gen_l10n's @@last_modified, custom @@x-context). Keyed by the
@@-prefixed name, value is the JSON-decoded payload.
@key metadata blocks whose corresponding key/value pair is missing.
Preserved here (rather than silently dropped) so dialect check can
flag them as a structural error. dialect check --fix strips them
from the written output by construction — the writer never emits
orphanMetadata.
Path to the source file this ARB was parsed from, if known. Set by
the project loader. Used by report formatting; null when the ARB
came from an in-memory string (e.g. unit tests).