-
Notifications
You must be signed in to change notification settings - Fork 0
COOL IDEA: structured multilingual changelog source #454
Copy link
Copy link
Open
Labels
lane:cool-ideasInteresting but not committed work.Interesting but not committed work.legend:dfDOGFOOD field guide work.DOGFOOD field guide work.legend:lxLocalization and bidirectionality work.Localization and bidirectionality work.needs-designNeeds or is missing a Method design artifact.Needs or is missing a Method design artifact.priority:mediumMedium priority.Medium priority.roadmapParticipates in roadmap planning.Participates in roadmap planning.type:docsDocumentation work.Documentation work.type:enhancementFeature or improvement.Feature or improvement.
Milestone
Description
Metadata
Metadata
Assignees
Labels
lane:cool-ideasInteresting but not committed work.Interesting but not committed work.legend:dfDOGFOOD field guide work.DOGFOOD field guide work.legend:lxLocalization and bidirectionality work.Localization and bidirectionality work.needs-designNeeds or is missing a Method design artifact.Needs or is missing a Method design artifact.priority:mediumMedium priority.Medium priority.roadmapParticipates in roadmap planning.Participates in roadmap planning.type:docsDocumentation work.Documentation work.type:enhancementFeature or improvement.Feature or improvement.
Context
Raised while discussing #335 and the DOGFOOD CHANGELOG viewer for the v7.2.0 release-story work.
DOGFOOD can parse
docs/CHANGELOG.mdwell enough for an English release-story view, but Markdown in Keep-a-Changelog style is not a strong source format for localized release notes. The current format mixes structure, prose, headings, and list nesting in a way that makes stable localization keys awkward.Idea
Introduce a structured changelog source that DOGFOOD can render directly and localize deterministically.
Two possible shapes:
{ "id": 12, "note": "Original English change description for item 12" }Then derive localization keys by convention:
Or, if explicit keys are better:
{ "id": 12, "note": "English prose about this change", "i18n": ["de_changelog_entry_12", "fr_changelog_entry_12", "ko_changelog_entry_12"] }The stable-ID version is probably cleaner: source English remains the fallback, and locale catalogs own translated text.
Design questions
docs/CHANGELOG.mdremain generated from structured release-note data instead of being hand-authored?Non-goals
docs/CHANGELOG.mdwithout a compatibility and release-process design.Acceptance criteria
Related