Ethiopian orthodox Bible
# 80 weahadu — ሰማንያ ወአሃዱ
Open scripture data for the Ethiopian Orthodox Tewahedo canon, from
**Nehemiah Open Source**.
**Nine bible editions in five languages — 647 books, 11,225 chapters, 301,380 verses.**
Amharic, Ge'ez, Tigrinya, Afaan Oromoo and English, with cross references,
footnotes, section headings, poetry line structure and Ge'ez verse numerals.
| Path | What |
| --- | --- |
| **`data/`** | the multi-language data set — start here |
| `index.html` | reader web app, reads `data` directly |
| `tools/` | build scripts — conversion, SQLite, minify, release |
| `corrections/` | verse fixes, applied on top of the extracted data |
| `docs/` | the guides below |
| `legacy/am/`, `legacy/minified/` | the original Amharic-only data (v1, see below) |
Docs: **docs/BIBLE.md** (the data set) ·
**docs/MOBILE.md** (SQLite for Flutter) ·
**docs/RELEASING.md** (fixing a verse, minify, updates) ·
**docs/USFM2JSON.md** (how it was built)
Fixing a verse takes one command and reaches every reader without an app
rebuild — web on next load, mobile via a patch a couple of hundred times
smaller than the database:
```sh
$EDITOR corrections/am-2000.json
python tools/release.py
```
---
## `data`
```
data/
canon.json ordered book registry — the language-neutral join key
editions.json index of every edition
names/am.json UI book names, one file per UI language
names/gez.json names/ti.json names/om.json names/en.json
am-2000/
meta.json edition metadata + the names this edition itself uses
books/01-genesis.json
```
Three things live in three places on purpose:
* **`canon.json`** — identity and order, no language.
* **`names/ .json`** — what to label a book in the *UI* language, so a
reader can use the Ge'ez text with an English book list.
* **` /meta.json`** — what *that edition* calls its own books, which
differs: `gez-1980` calls Matthew ወንጌል ዘማቴዎስ, `am-2000` calls it የማቴዎስ ወንጌል.
Book content files carry **no names at all**. Adding a language …