A new experimental generator (Posterverse) that renders an ENTIRE BOOK of the Bible in justified, phone-width columns with a bold book-name header, in the languages of the unreached people groups. Text is fetched at render time from public-domain translations via the Free Use Bible API; no Bibles are stored in the repo or public/. v1 offers strict public-domain texts only, with a per-poster credit line: the World English Bible plus the prayer packet's Reina-Valera 1909, Ostervald, Luther 1912, Synodal and Van Dyck (Arabic, right-to-left). Book, text-language and size pickers; the generator reports which size fits a book at a readable type size, and standard paper is honestly shown as too small for a whole book. Interface strings are localized in all 11 locales. Starts from the 12 books the UPG-100 packet cites. |
||
|---|---|---|
| .. | ||
| locales | ||
| CATALOGUES.md | ||
| index.js | ||
| keyedError.js | ||
| README.md | ||
| useRegionsI18n.js | ||
library/i18n/ — the map's translations
One of the three customization seams (colors/, api/, i18n/). This one owns every
user-facing string. Translations are one folder per locale, one JSON file per area, inlined at
build time into a Vue I18n instance (one per <doxa-map>, so embeds don't bleed state).
i18n/
┌───────────────────────────────┐
│ index.js ← engine, don't edit │
│ locales/ │
│ en/ buttons.json legend.json …│ ← en is the source of truth + fallback
│ es/ ar/ zh/ … (same keys) │ ← 11 shipped locales, drop in your own
└───────────────────────────────┘
filename → namespace: buttons.json → $t('buttons.prayForThem')
- 11 shipped locales;
arrenders right-to-left (RTL_LOCALES). - Add a language by copying
locales/en/tolocales/<code>/— never by editingindex.js(except adding the code toSUPPORTED_LOCALES). - Missing keys fall back to English silently.
Adding or overriding a locale? The full contract (locale matrix, checklist, integration) is in ../../documentation/architecture/i18n.md.