doxa-maps/library/i18n/locales/en/lists.json
Doxa Maps 1c7104e90b List names speak the reader's language: listLabel and listDefinition
library/lists/lists.json carried one English label per list, so every surface
that showed a list's name printed English in every locale (reported by upg100,
which worked around it inside the packet's own strings).

- A `lists` catalogue area, library/i18n/locales/<lc>/lists.json: a label and a
  definition for each of the five lists, in all 11 locales.
- listLabel(id, t) / listDefinition(id, t) in peopleGroupList.js resolve
  lists.<id>.label through the caller's translator (useI18n's t, tStatic, or any
  key -> string), accept ids and aliases ('700'), and fall back to the
  registry's English. The module still imports no i18n runtime, so it stays pure
  and testable in Node.
- The registry's labels are now documented as the English fallback only, and the
  doxa list gains the definition its catalogue entry has.
- check:list-prop-unit (24 cases, was 17): the Arabic and German catalogues come
  through, a missing translator or a raw key falls back to English, the English
  catalogue must equal the registry word for word (a drifted registry label fails
  it, naming the list), and every locale must carry both fields for every list.
- documentation/reference-universal-props.md: read names through listLabel.

Headless: list-prop-unit, i18n-parity, i18n-never-translated,
no-free-identifiers and universal-props pass. No consumer calls listLabel yet
(the packet has its own strings), so nothing renders differently until one does.
2026-09-26 08:39:52 +00:00

22 lines
828 B
JSON

{
"doxa": {
"label": "Project 2000: DOXA's people groups",
"definition": "The people groups DOXA serves, as its live list gives them"
},
"unreached": {
"label": "Project 7000: unreached people groups",
"definition": "IMB Lostness Priority 0-2 (Frontier, Pioneer or Expanding Unreached: under 2% evangelical)"
},
"frontier": {
"label": "Project 4700: frontier people groups",
"definition": "IMB Lostness Priority 0 (Frontier Unreached: 0.1% evangelical or less)"
},
"frontier-500k": {
"label": "Project 700: frontier people groups of 500,000 or more",
"definition": "IMB Lostness Priority 0 and Population of at least 500,000"
},
"unengaged": {
"label": "Unengaged unreached people groups",
"definition": "IMB Lostness Priority 0-2 and Engagement Status Unengaged"
}
}