<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 4, 2013, at 12:01 PM, Troy A. Griffitts <<a href="mailto:scribe@crosswire.org">scribe@crosswire.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">We have a design in place which allows
for the code example I previously mentioned:<br>
<br>
lxx->setKey(nasb->getKey())<br></div></div></blockquote><div><br></div>What Chris might not realize in this simple statement: In SWORD a module has the notion of current key. The module and the key each know their own versification.</div><div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000"><div class="moz-cite-prefix">
<br>
The engine recognized that the versifications are different and
calls a facility to do the translation.</div></div></blockquote><div><br></div>If I understand this correctly, the lxx.setKey will see that the v11n of the argument is different and needing translation by lookup. That lookup will get the equivalent for that verse. In most cases, there is no difference. In a made up example, Ps 14.1 in the NASB might be Ps 14.2 in the LXX. (Looking at the code, it always does the lookup.)</div><div><br></div><div>The front-end then has two current keys (verses) that it can display side by side. It can display the verse reference differences if desired.</div><div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000"><div class="moz-cite-prefix"> We have not finalized on
this facility yet. As also mentioned, Костя has submitted an
implementation (long long ago) available here (not sure if this is
his latest version, as he is using it now in Bibletime Mobile):<br>
<br>
<a class="moz-txt-link-freetext" href="http://crosswire.org/~kalemas/work/v11nmapping/">http://crosswire.org/~kalemas/work/v11nmapping/</a><br>
<br>
I am happy for his submission. We would like to include it or
something based off of it, but before we finalize something in the
engine for everyone to use, I want to be sure we handle the basic
issues mentioned in my preceding email on this. I am not
convinced I have mentioned all issues with implementing a parallel
display frontend because I have not yet tried to implement a
parallel display frontend which tries to implement the 'superset'
view described in my previous email.<br>
<br>
Chris, you are in an ideal position to give feedback on this--
though it won't be as helpful for me or the solution within the
SWORD engine, because I'm sure JSword has a completely different
facility for versification classes internally. But regardless,
your experience and feedback are invaluable as you drudge through
this task. Let us know what you decide.<br></div></div></blockquote><div><br></div>The implementation in JSword differs from that in SWORD with regard to the tables that are used for versification. SWORD reads in its tables and then optimizes them in core. JSword starts with different tables and then optimizes them in core. These optimized tables are substantially the same.</div><div><br></div><div>The problem with having different implementations is what is done when a bug is found in the v11n data. If the tables were the same then it would be trivial.</div><div><br></div><div>I think AndBible is using the tables from Костя with minor changes. STEP is using a different algorithm and tables.</div><div><br></div><div>In Him,</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>DM</div><div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000"><div class="moz-cite-prefix">
<br>
Troy<br>
<br>
<br>
<br>
<br>
<br>
On 07/04/2013 05:29 PM, Chris Burrell wrote:<br>
</div>
<blockquote cite="mid:CACQnaRWQdEnBsLD4V5BuVG7P6EJFbvJ-zRu_HQEmnZiSwUgXMg@mail.gmail.com" type="cite">
<div dir="ltr">I'm guess I've misunderstood as Ps.51 shows the
wrong alignment between Hebrew and English for the first two
verses... What are these "translation facilities currently
designed in the engine"?
<div>
Chris</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On 4 July 2013 16:24, Chris Burrell <span dir="ltr"><<a moz-do-not-send="true" href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I'm afraid, I'm not sure I follow. The
screenshot looks ok, but then I don't read Greek or Hebrew
so I don't really know.
<div>
<br>
</div>
<div>Are you saying Sword already has translation from 1
versification to another transparently, by "<span style="font-family:arial,sans-serif;font-size:13px"> </span><span style="font-family:arial,sans-serif;font-size:13px">the
v11n translation facilities currently designed in the
engine</span>"? From previous threads, I thought that
was one major thing that was still being worked on. So
you already do have all the mappings to convert from one
versification to another?</div>
<div><br>
</div>
<div>I'm confused!</div>
<span class="HOEnZb"><font color="#888888">
<div><br>
</div>
<div>Chris</div>
<div><br>
</div>
</font></span></div>
<div class="HOEnZb">
<div class="h5">
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On 4 July 2013 16:02, Troy A.
Griffitts <span dir="ltr"><<a moz-do-not-send="true" href="mailto:scribe@crosswire.org" target="_blank">scribe@crosswire.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi
guys. The questions that need answers in this
thread are logically complex and are one of the
reasons we haven't finalized any additions to the
core SWORD library to support this-- though I
greatly appreciate the contributions made by
Костя.<br>
<br>
Take, for example our standard 4 Bible web display
preset for "OT Scholar", at Daniel chapter 3,
around veres 23:<br>
<br>
<a moz-do-not-send="true" href="http://crosswire.org/study/parallelstudy.jsp?del=all&add=NASB&add=WLC&add=KJV&add=LXX&key=Dan.3.23#cv" target="_blank">http://crosswire.org/study/parallelstudy.jsp?del=all&add=NASB&add=WLC&add=KJV&add=LXX&key=Dan.3.23#cv</a><br>
<br>
How should this look?<br>
<br>
The problem, for the uninitiated, is that The
Prayer of Azariah and the Song of the Three Jews
in the LXX is inserted between what we
traditionally think of as verses 23 and 24. This
makes verse 24 in the KJV very different content
than what should be verse 24 in the LXX (our
current LXX displayed from the link above does not
include Apocryphal content)-- verse 24 in the LXX
being the first part of the Apocryphal content,
thus verse 91 in the LXX picking back up where
verse 24, in say the NASB (without the apocryphal
insertion), continues.<br>
<br>
The web interface above always displays in windows
of 1 chapter. Thus the user has asked for Chapter
3 of Daniel, centered on verse 23.<br>
<br>
There are a few questions to answer.<br>
<br>
What if they had asked for verse 24?<br>
<br>
What content do we show?<br>
<br>
Use case: The user is a protestant pastor, has
chosen NASB as his primary Bible, and is
interested in seeing the parallel verses to the
NASB in the other texts. He is not interested in
seeing apocryphal insertions. He primarily cares
about the NASB and only glances at the content
from the other modules when interested in seeing
the parallel.<br>
<br>
This is how the web frontend, and all current
SWORD based frontends *should* currently work with
no code changes, with the v11n translation
facilities currently designed in the engine. It
uses the first module as the "master" and iterated
its key and pulls the equivalent verses from the
other modules. The current facility in the engine
allows for:<br>
<br>
lxx->setKey(nasb->getKey())<br>
<br>
resulting in the LXX being positioned to the
equivalent verse (e.g., v91 from nasb v24)-- if
translation tables (for example from Костя) were
in place.<br>
<br>
But this use case, while likely the most dominant,
is not the most scholarly. A scholar would likely
wish to see a *superset* of all verses from all
displayed parallel Bibles, inserting gaps where
they should go in the other text which do not
contain the verses.<br>
<br>
Not too hard to imagine, but what is the
programmer-friendly API interface for this? Harder
to imagine. You can't simply choose one of the
modules to iterate.<br>
Possibly:<br>
<br>
ListKey superset;<br>
superset << kjv->getKey() <<
nasb->getKey() << lxx->getKey()
<< wlc->getKey();<br>
<br>
then one could iterate the superset listkey.<br>
<br>
This would leave the work of figuring out where
the gaps should go up to ListKey, or something in
the translation system in VerseKey which backs
ListKey.<br>
<br>
It's a complex problem, but we haven't even talked
about the issue of reordered content. Sometime
Romans 16:25-27a (obviously excluding the
subscriptio) is located after Romans 14:23. This
is an example of reordering. It doesn't give
problems from our "chapter window display" because
the reordering is across different chapters and
you could still pick your poison from the 2
choices above for display logic, but what about
display windows which allow more than a single
chapter, like BibleDesktop? Now the question
arises. If you've chosen to build a superset,
where do the gaps go? You could reasonably add
them to either place (after Romans 14:23 in the
modules which don't include the doxology here or
after Romans 16:24 for modules which don't include
the doxology here). How do you decide? How should
the program decide?<br>
<br>
Lot's of questions and input we all need to give
and a working proof of concept for at least a
single frontend before we commit to something for
everyone to use in the engine.<br>
<br>
Obviously not a 1.7.x issue, but feel free to
continue to give input.<br>
<br>
Troy<br>
<br>
<br>
<br>
On 07/04/2013 03:26 PM, David Haslam wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
And (for example) if you wish to query the whole
of the JPS module using book<br>
names, it will not do to specify *Gen-Mal*.<br>
<br>
You'd need to remember that in the Tanakh, the
last book is *II Chronicles*.<br>
<br>
<br>
<br>
--<br>
View this message in context: <a moz-do-not-send="true" href="http://sword-dev.350566.n4.nabble.com/Versifications-and-verse-order-tp4652697p4652712.html" target="_blank">http://sword-dev.350566.n4.nabble.com/Versifications-and-verse-order-tp4652697p4652712.html</a><br>
Sent from the SWORD Dev mailing list archive at
<a href="http://Nabble.com">Nabble.com</a>.<br>
<br>
_______________________________________________<br>
sword-devel mailing list: <a moz-do-not-send="true" href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a moz-do-not-send="true" href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings
at above page<br>
</blockquote>
<br>
<br>
_______________________________________________<br>
sword-devel mailing list: <a moz-do-not-send="true" href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a moz-do-not-send="true" href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings
at above page</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>Instructions to unsubscribe/change your settings at above page</blockquote></div><br></body></html>