Recommended language packs
ZVBible ships many free optional language packs (Globe → download). Text is published under public/language-packs/ for the static export; install copies into IndexedDB. Settings selects among packs already installed and links Open Globe. This page is the catalog and rationale.
Shipped meta: lib/optional-translation-packs.ts
Roadmap catalog: lib/recommended-language-packs.ts
Fetch pipeline: npm run data:fetch:langpacks
Probe HelloAO: npm run data:probe:langpacks
Finding packs (Globe)
On Globe, use Find packs for you:
- Fuzzy search — language names, demonyms, cities, culture aliases (e.g. “Abidjan”, “Swahili”, “Gen Z”)
- Manual region (default) — world-region picker; always overrides GPS / network. Pack install never requires location.
- Device GPS / cell — browser geolocation only (permission dialog). Separate from network IP; coarse offline lat/lng boxes are best-effort.
- Network (IP) — optional approximate region via third-party geojs.io. ZVBible does not call geojs until you confirm a consent dialog (what is sent: network IP; why: suggest packs by region; optional; manual region always works). Consent is session-only unless you check “remember on this device.” If the lookup is blocked (CSP, offline, adblock), the UI fails closed and manual region still works.
- Population order — suggestions rank by approximate speaker / population share (world or selected region). Browse mode reserves slots for both language and culture packs.
- Population map — deck.gl choropleth on country polygons (Natural Earth 1:110m, public domain;
public/geo/countries-110m.geojson). Layers: overall coverage, dominant language/culture, or a single pack. Hover shows active-layer share + top languages. Regenerate withnpm run data:fetch:countries-geojson. - Overall coverage — share of population that can use at least one language family (duplicate packs such as two Arabic editions count once). Independence estimate; residual multilingual overlap remains.
Suggestions never auto-install. Download from the language or culture lists on Globe.
Principles
- Public Domain / CC / eBible free-use only (same mission as KJV/WEB/BSB).
- Static site: packs are pre-fetched into
public/language-packs/(npm run data:fetch:langpacks). The browser does not call HelloAO at install time — same pattern as culture packs. - Globe “Download” copies the same-origin pack into IndexedDB for offline use.
- KJV verse numbers remain the navigator.
- Naming:
zvbible-langpack-[iso]-[version](e.g.zvbible-langpack-es-vbl). - Scripture text is sacred — Scripture fidelity.
Phase 1 (start here — high impact)
| Language | Version | ISO | Catalog id | License | HelloAO id | Status |
|---|---|---|---|---|---|---|
| Spanish | Versión Biblia Libre (VBL) | es | es-vbl | CC BY-SA 4.0 | spa_vbl | Ready |
| Portuguese (BR) | Bíblia Livre | pt | pt-blivre | CC BY 4.0 | por_blj | Ready |
| Chinese (Simplified) | CUV Simplified | zh-Hans | zh-cuvs | PD | cmn_cu1 | Ready |
| Chinese (Traditional) | CUV Traditional | zh-Hant | zh-cuvt | PD | cmn_cuv | Ready |
| French | Louis Segond 1910 | fr | fr-lsg | PD | fra_lsg | Shipped |
| Russian | Synodal | ru | ru-synodal | PD | rus_syn | Ready |
| German | Luther 1912 | de | de-l12 | PD | deu_l12 | Ready |
| Japanese | Kougo (preferred) | ja | ja-kougo | PD target | (research) | Research |
| Korean | Standard free | ko | ko-std | PD target | kor_old | Verify |
| Vietnamese | Free 20th-c. | vi | vi-cadman | PD | vie_1934 | Ready |
| Arabic | New Arabic Version | ar | ar-nav | Free use | ARBNAV | Shipped |
| Arabic | Van Dyck | ar | ar-vdv | PD | arb_vdv | Ready (2nd AR) |
| Swahili | Free standard | sw | sw-std | Free | swh_ulb | Ready |
| Haitian Creole | Free Creole | ht | ht-creole | Free | hat_bsa | Ready |
Phase 2
| Language | Version | Catalog id | HelloAO id | Status |
|---|---|---|---|---|
| Tagalog | Free standard / ADB target | tl-adb | tgl_ulb | Verify |
| Italian | Riveduta | it-riv | ita_riv | Ready |
| Polish | Updated Gdańska | pl-gdansk | pol_ubg | Ready |
| Dutch | Staten / free standard | nl-staten | nld_ | Verify |
| Romanian | Cornilescu free | ro-cornilescu | — | Research |
| Hungarian | Károli | hu-karoli | — | Research |
| Czech | Bible kralická | cs-kralicka | ces_bkr | Ready |
| Ukrainian | Kulish | uk-kulish | ukr_pan | Ready |
| Thai | Free edition | th-std | tha_kjv | Verify |
| Indonesian | Modern free | id-std | ind_ayt | Ready |
Why these editions
Focus: modern or still-accessible free language, not merely antiquity. Where HelloAO offers a close match (e.g. Updated Gdansk for Polish Gdańska tradition), the catalog notes the API id so implementers can ship without guessing.
Sources
- Free Use Bible API (HelloAO)
- eBible.org
- seven1m/open-bibles
Related
- Birth-language Scripture roadmap — free/open path toward every people
- Fellowship
- Product Settings: optional language packs
- Design:
docs/design/recommended-language-packs.md·docs/design/birth-language-scripture-roadmap.md