doxa-maps/library/i18n/locales
Doxa Maps ac71afaf55 Share opens on "Share this page"; Embed is its own tab; a header menu opens beside its button (shareable pages P3)
ShareButton: the first tab is "Share this page", the link to exactly what the
reader is looking at. Where the page owns its address (urlOwner 'app' or 'host',
on the map's own profile-config or any element above it across shadow roots)
that is the page's own URL, read at open and at copy; on a partner's page it is
the map's own page, as before. The second tab, "Embed", says in plain words what
embedding is and why it helps, keeps the buttons.shareSteps list, then the paste
hint, the sizes and the code. Copy/sizes labels come from the catalogue.

MapControlMenu: a standalone anchor (a Share button outside any map toolbar)
resolves where its menu lives when it opens, and places it below the button,
toward the side with room, inside the viewport, at the readable width (340 or the
viewport minus its edges), converting into the menu's real containing block. The
render-time area tag that sent header menus far left and narrow is gone. Map
toolbars keep their placement unchanged.

English only for now (the new share.json keys are recorded as translation debt in
check:i18n-parity). check:map-menu-anchor reads a resolution that lives in a named
function, every named-area return must keep its structural fallback.
2026-10-03 06:05:46 +00:00
..
ar Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
de Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
en Share opens on "Share this page"; Embed is its own tab; a header menu opens beside its button (shareable pages P3) 2026-10-03 06:05:46 +00:00
es Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
fr Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
hi Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
it Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
pt Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
ro Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
ru Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
zh Merge commit '9c381b619e5596e3cc7c1909c242c4985c59712e' into poster-design-plugin/experimental 2026-10-03 05:33:11 +00:00
README.md The catalogue note lives beside locales/, not in it 2026-09-29 05:26:27 +00:00

Locale catalogues

One folder per locale, one JSON file per top-level area. SUPPORTED_LOCALES in library/i18n/index.js is the list the runtime will actually try to resolve; the folders here are what happens to exist on disk. A missing area file is fine — those namespaces resolve through fallbackLocale: 'en'.

Nothing in these files is a comment. Every string ships to every reader of that locale, so notes about the catalogue belong here, not in a _note key. An English _note inside ar/gospel.json was downloaded by every Arabic reader and — because it was text present in ar and absent from en — it also satisfied a gate probing for "does this bundle contain Arabic translations?", hiding the fact that every Arabic character had been stripped. A value that no reader is meant to see is a value no check should be able to count.

gospel.json holds SHORT UI LABELS ONLY

The explanatory prose on the gospel-resources surfaces stays in English on purpose and is not in this area. It carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. gospel.prose.english is the one translated line that says so.

When a human-reviewed translation of that prose exists, it gets its own area file and that line comes out.