STEPBible / BibleEngine

General purpose library for powering JavaScript Bible projects
44 stars 9 forks source link

Upgrade OSIS and SWORD Importers #179

Closed danbenn closed 3 years ago

danbenn commented 3 years ago

Why

The STEP Bible organization aims to empower people around the world to study the Bible and its original language content, for free, particularly in disadvantaged countries.

STEPBible.org fulfills this well, and supports about 492 different translations and over 60 languages via the SWORD library.

But the STEP Bible mobile app lags behind, currently supporting only two translations, ESV and CUV. It can't directly read SWORD modules, and instead relies on the brand new BibleEngine library (this repo!). In the past, fears of losing control over the quality of the text blocked efforts to convert STEP's SWORD modules to the mobile-friendly BibleEngine format.

To ensure that that converting SWORD modules to BibleEngine format doesn't destroy the quality, this MR:

  1. Changes the SWORD-to-BibleEngine importer to use @chriswep's excellent raw OSIS parser
  2. Upgrades the raw OSIS parser to include extremely strict error handling
  3. Fixes strongs number parsing errors that sometimes tagged words with the wrong definitions

How I Tested This

The upgrades to OSIS parser are tested with the ESV_th raw OSIS module.

I plan to make future MRs to fix bugs caused by other modules and languages!