{
  "id": "keywords/message",
  "mentions": [
    {
      "context": "Every label of the generated site goes through a message catalogue per locale in ICU MessageFormat, plurals, selections, numbers and dates expressed in the mess…",
      "file": {
        "href": "../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "message",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Labels: a project overrides any message of the catalogue through theme.yaml, in the same syntax and with the same variables as the message it replaces; a missin…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 4,
      "surface": "message",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…e build log: one object per finding, sorted by check, source, path, line and message, with the identifier of its check, its severity, the file and line when the…",
      "file": {
        "href": "../../specs/data/inference/findings-block/index.html",
        "label": "data/inference/findings-block.md"
      },
      "href": "../../specs/data/inference/findings-block/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "message",
      "title": "Findings block",
      "type": "data_object",
      "typeLabel": "Data object"
    },
    {
      "context": "…le of the project is the language of the interface, whose labels come from a message catalogue per locale, and the default locale of every source. A tag with no…",
      "file": {
        "href": "../../glossary/ingestion/configuration/locale/index.html",
        "label": "ingestion/configuration/locale.md"
      },
      "href": "../../glossary/ingestion/configuration/locale/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "message",
      "title": "Locale",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ntracts imported) and every finding, sorted by check, source, path, line and message. Its findings array is the same as the one embedded in the model, and its o…",
      "file": {
        "href": "../../glossary/quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "../../glossary/quality/findings/build-log/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "message",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n an entity, a link or a file: an identifier, a severity, a file and line, a message and a remediation. A content anomaly becomes a finding, never a crash. The …",
      "file": {
        "href": "../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "../../glossary/quality/findings/finding/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "message",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n ICU MessageFormat, plurals, selections, numbers and dates expressed in the message itself, stored as JSON in the format translation platforms exchange. Messag…",
      "file": {
        "href": "../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "message",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…message itself, stored as JSON in the format translation platforms exchange. Message identifiers are typed from the source catalogue, so that a missing key or v…",
      "file": {
        "href": "../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "Message",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ble fails the build, and a test checks that every locale carries every key. Messages are resolved at build: the published HTML contains final strings and no loc…",
      "file": {
        "href": "../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "Messages",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…o localisation library runs in the browser; dates and numbers use the platform formatters. A project overrides any message through the labels of its theme.yaml.",
      "file": {
        "href": "../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "message",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ue through theme.yaml, in the same syntax and with the same variables as the message it replaces; a missing variable is a configuration error that names the key…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 4,
      "surface": "message",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Slide five is the labels, I think. A project overrides any message of the catalogue through theme.yaml, in the same syntax as the message it replaces, with the …",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "location": "39:05",
      "passages": 4,
      "surface": "message",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…he labels, I think. A project overrides any message of the catalogue through theme.yaml, in the same syntax as the message it replaces, with the same variables.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "location": "39:05",
      "passages": 4,
      "surface": "message",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…h, line and message, with the identifier of its check, its severity, the file and line when there is one, the entity concerned, the message and the remediation.",
      "file": {
        "href": "../../specs/data/inference/findings-block/index.html",
        "label": "data/inference/findings-block.md"
      },
      "href": "../../specs/data/inference/findings-block/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "message",
      "title": "Findings block",
      "type": "data_object",
      "typeLabel": "Data object"
    },
    {
      "context": "…g; a JUnit report that a GitLab merge request lists as failed tests with the message, the remediation and the page of each; or JSON, which also names the scope,…",
      "file": {
        "href": "../../glossary/quality/findings/forge-report/index.html",
        "label": "quality/findings/forge-report.md"
      },
      "href": "../../glossary/quality/findings/forge-report/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "message",
      "title": "Forge report",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… check, whose \"How to fix\" section says more. The JUnit report shows the remediation with the message so that a merge request reads it without opening the page.",
      "file": {
        "href": "../../glossary/quality/findings/remediation/index.html",
        "label": "quality/findings/remediation.md"
      },
      "href": "../../glossary/quality/findings/remediation/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "message",
      "title": "Remediation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… canonically before it is written, findings by check, source, path, line and message, entities by identifier, links by their triple, provenances by method, path…",
      "file": {
        "href": "../../specs/decisions/quality/reproducible-builds/index.html",
        "label": "decisions/quality/reproducible-builds.md"
      },
      "href": "../../specs/decisions/quality/reproducible-builds/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "message",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… check: a check identifier, a severity, a file and line when there is one, a message and a remediation, attached to an entity, a link or a resource. Findings go…",
      "file": {
        "href": "../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "../../specs/objects/quality/finding/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "message",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Give the interface its labels: the site takes every label from a message catalogue per locale; a locale without one falls back to English until the catalogue ex…",
      "file": {
        "href": "../../specs/processes/ingestion/adding-a-language-pack/index.html",
        "label": "processes/ingestion/adding-a-language-pack.md"
      },
      "href": "../../specs/processes/ingestion/adding-a-language-pack/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "message",
      "title": "Adding a language pack",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Resolve the theme: the components the plugins contribute and the project's theme.yaml, whose labels override the message catalogue of the project locale.",
      "file": {
        "href": "../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../specs/processes/ingestion/build-pipeline/index.html#L29",
      "kind": "recognised",
      "line": 29,
      "surface": "message",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…the same findings: same check, source, path, line and entity, same severity, message and remediation. The build reports more, never less: the checks that need t…",
      "file": {
        "href": "../../specs/rules/engine/linter-build-parity/index.html",
        "label": "rules/engine/linter-build-parity.rule.md"
      },
      "href": "../../specs/rules/engine/linter-build-parity/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "message",
      "title": "Linter and build parity",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… their location, requirement and type, the type of the request body or input message, and one line per response with its status, description and body type; unde…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "message",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
