[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