[sword-devel] Creating a version of the BSB module with interlinear support

Fr Cyrille fr.cyrille at tiberiade.be
Mon Oct 2 06:47:17 EDT 2023



Le 02/10/2023 à 10:16, Timothy Allen a écrit :
> On 2/10/23 04:46, Fr Cyrille wrote:
>> I'm very excited to have this module!
>
> Thanks! I'm glad to be able to help.
>
>> You can also look at the LXX module, which has quite a lot of 
>> information in its code.
>
> Is this the module at <https://git.crosswire.org/cyrille/lxx>?
>

No: https://github.com/pierre-amadio/LXX
>
>> The number is useful for displaying strong numbers in order (if I 
>> remember correctly) in Bishop (Android).
>
> Which number is that? The "src" attribute or the "n" attribute?
>
I can't help, you have to ask Troy if I'm right.
>
> Also, where's the best place to obtain Bishop for Android? The wiki 
> links to 
> <https://play.google.com/store/apps/details?id=org.crosswire.bishop> 
> which gives me a "not found" error.
>
Yes it should be Google Play...
>
>> Finally, if you think it's possible, I'd make an usfm file first, 
>> because it's much easier to read and correct than an osis.
>
> I've written a program to merge the annotations from the "translation 
> table" spreadsheet into the BSB text; because the work is being done 
> by a program and not manually, it's a lot easier for me to work with 
> the text in OSIS format. It's still possible to edit the USFM sources 
> before they're converted to OSIS, but I'd rather keep them as close as 
> possible to how the Berean translators supplied them, just in case 
> they ever decide to publish an updated version.
>
👍
>
>> Have you also seen Karl's script for building the module, in the 
>> BSB-draft module folder?
>
> You sent me a copy of some scripts for making the BIBdraft module, but 
> I couldn't find any scripts for making the BSBdraft module.
>
Strange? If you install the BIBdraft module inside the folder you should 
find this script:
cd /home/cyrille/.sword/modules/texts/rawtext/bibdraft/
ls
BuildBIB  BuildBIBnt  BuildBIBot  nt  nt.vss  ot  ot.vss  style.css

>> Finally, if there's a way of thinking about the construction method 
>> in such a way that it would eventually be possible to make an 
>> identical module in other languages (like French, for example).
>
> It's possible because the translators published their mapping between 
> source-language words and target-language words. If somebody made a 
> French translation of the Bible and published that same information, 
> I'm sure it would be easier to make a new module based on that 
> information, rather than trying to convert this module to another 
> language.
>

OK we will discuss about this when you are ready with the English.
>
> Thanks for your encouragement!
>
>
> Timothy.
>
>> Le 30/09/2023 à 11:54, Timothy Allen a écrit :
>>>
>>> The Berean Standard Bible is available in two machine-readable 
>>> formats: USFM, and "translation tables", a 40MB Excel spreadsheet 
>>> with a row for every Hebrew or Greek word in their chosen source 
>>> texts with the English text it's translated to. I would like to make 
>>> one module with the nice formatting of the USFM sources and the 
>>> metadata from the spreadsheet, so I've spent the last few weeks 
>>> writing a script that runs through them both in parallel and makes s
>>>
>>> I agree with you that the module should have as much information as 
>>> possible. But not all of it can be read by the Sword interface. Some 
>>> may not be useful.
>>>
>>> You can also look at the LXX module, which has quite a lot of 
>>> information in its code.
>>>
>>> The number is useful for displaying strong numbers in order (if I 
>>> remember correctly) in Bishop (Android).
>>>
>>> Finally, if you think it's possible, I'd make a usfm file first, 
>>> because it's much easier to read and correct than an osis.
>>>
>>> Have you also seen Karl's script for building the module, in the 
>>> BSB-draft module folder?
>>>
>>> ure everything lines up, so I'm now confident that I have an 
>>> accurate mapping between them.
>>>
>>> My question now is, how can I translate the data from the 
>>> spreadsheet into OSIS?
>>>
>>> Here's the information the spreadsheet gives me:
>>>
>>> Column
>>> 	Example
>>> 	Notes
>>> he_ordinal
>>> 	1
>>> 	"Hebrew Ordinal", increments for each spreadsheet row in the Old 
>>> Testament, set to 999999 for each row in the New Testament
>>> el_ordinal
>>> 	0
>>> 	"Greek Ordinal", set to 0 for each row in the Old Testament, 
>>> increments for each row in the New Testament, except for Mark 1:1 
>>> which has a word with the number 18379.5 (presumably something 
>>> needed to be inserted and they didn't want to renumber everything else)
>>> en_ordinal
>>> 	1
>>> 	"English Ordinal", increments for each spreadsheet row (except for 
>>> that word in Mark 1:1)
>>> language
>>> 	Hebrew
>>> 	"Hebrew", "Greek", or sometimes "Aramaic"
>>> verse_ordinal
>>> 	1
>>> 	Increments for each verse in the Bible, so every word in Genesis 
>>> 1:1 has "1", etc.
>>> source_word
>>> 	בְּרֵאשִׁ֖ית
>>> 	The word in the original source text. Sometimes includes fancy 
>>> brackets to mark sources other than WLC or Nestle 1904: {TR} ⧼RP⧽ 
>>> (WH) 〈NE〉 [NA] ‹SBL› [[ECM]]
>>> transliteration
>>> 	bə·rê·šîṯ
>>> 	A transliteration of the source word into the Latin alphabet
>>> grammar_code
>>> 	Prep-b | N-fs
>>> 	A code describing the grammatical form of the word; these don't 
>>> appear to be Robinson codes, but their own custom thing for Hebrew 
>>> (https://biblehub.com/hebrewparse.htm) and Greek 
>>> (https://biblehub.com/abbrev.htm)
>>> grammar_description
>>> 	Preposition-b | Noun - feminine singular
>>> 	The grammar code, unabbreviated
>>> strongs_number
>>> 	7225
>>> 	The Strongs number of the basic form of this word
>>> translation
>>> 	In the beginning
>>> 	The English text that appears in the BSB
>>> gloss
>>> 	1) first, beginning, best, chief
>>> 1a) beginning
>>> 1b) first
>>> 1c) chief
>>> 1d) choice part
>>> 	A definition from the Brown-Driver-Briggs Hebrew Lexicon, or 
>>> Thayer's Greek Definitions, as appropriate
>>>
>>> Looking at the OSIS 2.1.1 User's Manual (and sniffing around in the 
>>> KJVA module), to represent this information in OSIS I should use the 
>>> <w> element, which supports the following attributes (copy/pasted 
>>> from the Manual):
>>>
>>>   * *gloss* Record comments on a particular word or its usage.
>>>   * *lemma* Use to record the base form of a word.
>>>   * *morph* Use to record grammatical information for a word.
>>>   * *POS* Use to record the function of a word according to a
>>>     particular view of the language's syntax.
>>>   * *src* Use to record origin of the word.
>>>   * *xlit* Use to record a transliteration of a word.
>>>
>>> The first problem is that sometimes multiple source words are 
>>> translated into a single English span, and it's not made clear how 
>>> to express that in these attributes. From poking around in the KJVA 
>>> module, I get the impression these are supposed to be 
>>> space-delimited lists. Is that correct?
>>>
>>> Assuming that's the case, here's my guesses at how to fill out these 
>>> attributes for each span:
>>>
>>>   * *gloss* can't be done, because each gloss contains spaces which
>>>     means the displaying app can't figure out which part of the
>>>     gloss goes with which word
>>>   * *lemma* is where Strongs numbers go; Greek Strongs numbers
>>>     should be prefixed with "G" and Hebrew/Aramaic ones with "H0"
>>>   * *morph* might be used for the "grammar code" content, but I
>>>     would probably need to figure out how to translate them into
>>>     Robinson codes first, since that seems to be the only
>>>     morphological dictionary module in the Crosswire repositories
>>>   * *POS* is unclear to me, I don't see how it differs from the
>>>     "morph" attribute
>>>   * *src* is also unclear: is this for the word order (he_ordinal or
>>>     el_ordinal, possibly numbered from the beginning of the verse
>>>     rather than the beginning of the entire Bible) or the actual
>>>     choice of source text (Nestle1904, TR, NA, SBL, etc.)?
>>>   * *xlit* clearly comes from the "transliteration" field
>>>
>>> One thing that's clearly missing is where to put the source word. 
>>> How does that work?
>>>
>>> Is there other way to represent information that doesn't fit into 
>>> the <w> element? I'd like this module to be as useful as possible, 
>>> so I'm hesitant to toss out any information that can be usefully 
>>> represented.
>>>
>>> Is there anything else I've missed or misunderstood?
>>>
>>>
>>> Timothy.
>>>
>>>
>>> _______________________________________________
>>> sword-devel mailing list:sword-devel at crosswire.org
>>> http://crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20231002/4100a06d/attachment-0001.htm>


More information about the sword-devel mailing list