7. Localized strings
Several reserved fields (identity.title, identity.summary, identity.description) accept a localized-string value. A localized-string is a mapping from BCP 47 language tags RFC 5646 to string values:
title: en: "Snuggly Sunbeam" es: "Rayo de Sol Acogedor" uk: "Затишний Сонячний Промінь"A localized-string MUST contain at least one language entry. The en entry is RECOMMENDED as a widely-understood fallback, but not REQUIRED — a project localized only to its primary audience’s language is valid.
For ergonomic compatibility with single-language sources (package.json, pyproject.toml, Cargo.toml), a bare string at the position of a localized-string is permitted as shorthand for a single-entry mapping under the BCP 47 language tag und (undetermined). Consumers MUST treat a bare string identically to:
title: und: "Snuggly Sunbeam"Producers SHOULD prefer the explicit mapping form when the language is actually known. Tooling migrating from single-language sources MAY emit either form, but writing und makes the lossiness explicit and is RECOMMENDED.
A document MAY mix the two forms across fields — a bare title beside a mapped summary. Both forms are equivalent on read, and a producer MUST NOT rewrite one into the other unless that is the task it was asked to perform; doing so is a change to a field it does not control (§6.4).