<div dir="ltr">A verse mapping list wouldn&#39;t necessarily be a nightmare. You would probably need about 300-1000 entries depending on how many versions you needed mapped. The Hebrew text would need around 200, mostly in the psalms. The Greek text would need a little less than a hundred in the NT. The LXX would need some special mapping, about a hundred additional. Then if you mapped every English version ever translated, you may see several hundred variations from your standardized system. Right now you don&#39;t have all that may translations, but you would have to add that index info for every new version you added.<div>
<br></div><div>On the upside, it&#39;s not terribly difficult to find a list of verse corrections for a version. It will just be a moderate amount of manual data entry.</div><div><br></div><div>Joseph</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Sat, Mar 1, 2014 at 3:41 AM, Troy A. Griffitts <span dir="ltr">&lt;<a href="mailto:scribe@crosswire.org" target="_blank">scribe@crosswire.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ëÏÓÔÑ,<br>
<br>
IOn 02/28/2014 08:14 AM, ëÏÓÔÑ íÁÓÌÀË wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ok.<br>
<br>
I have got following:<br>
<a href="http://crosswire.org/~kalemas/work/v11nmapping/paralleldisplay.html" target="_blank">http://crosswire.org/~kalemas/<u></u>work/v11nmapping/<u></u>paralleldisplay.html</a><br>
</blockquote>
<br>
Amazing! šThis looks really great! šDaniel 3 is a nice test chapter. šYour output looks very nice. I will play around with your updates to the test and send mine.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
/me cant get rid of feeling that Troy still did not disabled his<br>
screen filter that rips everything i write to him<br>
</blockquote>
<br>
ëÏÓÔÑ, no, I&#39;m sorry for not replying inline in my last email. šMuch of what I wrote was in response to your emails, but it wasn&#39;t obvious because I did not post inline. (notice the repentance with this email)<br>

I read everything you wrote and was excited to start the conversation again, and concluded that if we can just prove that one implementation CAN handle pretty well a majority of the cases, then we can move forward and commit to this API interface we&#39;re trying. The theoretical conversation wasn&#39;t going anywhere and a proof of concept seemed to be the best way forward. šAs far as the implementation, I am concerned about your same points, that SWORD and JSword need to have a common set of mapping data and ideally a common storage format for that data. šI&#39;m not concerned about the size and speed immediately as we can always improve the implementation.<br>

<br>
I just would like the programming interface and how we intend for it to be used by consumers to be solid; I don&#39;t want frontend developers to have to change their code. šI think our proof of concept should satisfy this.<br>

<br>
As for the shared mapping data and storage mechanism, we need to collaborate with JSword.<br>
<br>
Conceptually, I have always been leery of a &#39;superset meta v11n&#39; concept to do this mapping. šIt seems the most straightforward way if we can establish this superset, but conceptually it practically prevents things like mappings between the different versifications of Josephus-- which is a very real problem we&#39;d like to solve with the same mechanism.<br>

<br>
I believe you are going from X -&gt; KJV+ -&gt; Y right now.<br>
<br>
I think this logic is fine but was hoping for the internal data to be boiled down generically to optimized deltas somehow,e.g.,: X-&gt;KJV { verseShift(Ps.9.21-:10.1); chapterShift(Ps.10-112:+1) ... }<br>
and then when asked to map from X -&gt; Y, we could look at our mappings and find the most optimized path. šIt may still be X-&gt;KJV-&gt;Y, but it may also be X-&gt;Y or JosephusLoeb -&gt; JosephusWhiston.<br>
<br>
If we force the concept of a superset KJV+ v11n scheme into our mapping concept, I am afraid it will limit us and we will continually have to update this meta v11n when we create new modules and find new strange things.<br>

<br>
Chris can comment, but simply mapping the various LXX editions to each other, alone, can be daunting to think about.<br>
<br>
This all is aside from the API mechanism on which we are working presently, but just offered for discussion between JSword and SWORD and others when considering how we wish to represent and persist these mappings.<br>
<br>
Troy<br>
<br>
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2014-02-28 9:48 GMT+04:00 Troy A. Griffitts &lt;<a href="mailto:scribe@crosswire.org" target="_blank">scribe@crosswire.org</a>&gt;:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ëÏÓÔÑ,<br>
<br>
Tonight I spent some time adding a new example to the engine&#39;s code examples<br>
tree for displaying Bibles in parallel. šIt basically rips off the XHTML<br>
header, styles, and footer from SWORDWeb and then executes a small, isolated<br>
function to output the parallel display. šThis small function can be our<br>
playground to test our stuff to see how we&#39;ve done. šThis will force us to<br>
implement the use case for our work at least once to see how ugly the code<br>
gets. šRight now, it looks good, like we expect, but there is no logic yet<br>
to handle any case but 1:1 translation.<br>
<br>
I&#39;ve checked the example in because I think this will be a handy example for<br>
frontends to follow when we get something working nice.<br>
<br>
I feel it is important, before we commit to an API mechanism, that we<br>
consume that mechanism at least once, trying to solve the use case for which<br>
it was conceived-- at least at a basic level.<br>
<br>
Those who are interested to just see the minimum code required to display in<br>
parallel, but don&#39;t wish to check out the latest SVN, can have a look here<br>
(at the parallelDisplay(...) method):<br>
<br>
<a href="http://crosswire.org/svn/sword/trunk/examples/tasks/parallelbibles.cpp" target="_blank">http://crosswire.org/svn/<u></u>sword/trunk/examples/tasks/<u></u>parallelbibles.cpp</a><br>
<br>
the example can be run and tested with something like:<br>
<br>
./parallelbibles KJV ESV jn.3.16 &gt; paralleltest.html<br>
firefox paralleltest.html<br>
<br>
You can see the output from this test run here:<br>
<a href="http://crosswire.org/~scribe/paralleltest.html" target="_blank">http://crosswire.org/~scribe/<u></u>paralleltest.html</a><br>
<br>
Let&#39;s collaborate! :)<br>
<br>
Troy<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 02/26/2014 02:56 PM, ëÏÓÔÑ íÁÓÌÀË wrote:<br>
<br>
Oh, i just get what you meant about speed and size of translation. What you<br>
would like to achieve beyond i have implemented? It is optimized in speed<br>
and is very lightweight in size.<br>
<br>
As a bonus it can be šused in per translation versification concept.<br>
<br>
The only thing i would like to change is to slightly increase size, adding<br>
one byte per rule to store rule type, so it can handle difficult cases in<br>
future with backward compatibility.<br>
<br>
<a href="tel:26.02.2014%2023" value="+12602201423" target="_blank">26.02.2014 23</a>:00 ÐÏÌØÚÏ×ÁÔÅÌØ &quot;Troy A. Griffitts&quot; &lt;<a href="mailto:scribe@crosswire.org" target="_blank">scribe@crosswire.org</a>&gt;<br>

ÎÁÐÉÓÁÌ:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
One positive thing from the previous thread is the reminder of Kosta&#39;s<br>
proposed implementation for translation between modules of varying v11n.<br>
<br>
The accusation of irresponsibility is warranted, not for delaying the<br>
patch submission, but for delaying the discussion toward a resolution and<br>
buyin by a consensus of frontends.<br>
<br>
To sum up:<br>
<br>
We have refactored and isolated translation to a single point within the<br>
engine. Basically, when you set the value of one VerseKey from a VerseKey<br>
with differing v11n, translation will happen. This propogates naturally to<br>
many places in the engine. For example it will allow one to set the LXX<br>
module from a key obtained from the KJV module:<br>
<br>
lxx.setKey(KJV.getKey());<br>
<br>
<br>
The question still on the table is: how useful is this for the primary use<br>
case of displaying in parallel modules with varying v11ns?<br>
<br>
A secondary question is how can we optimize, in both speed and size, the<br>
translation. The JSword team is beginning to implement their own mechanism<br>
and I would like to hear about their experience.<br>
<br>
There are open threads on this with many of my, and others, thoughts and<br>
concerns. I would appreciate it if commenters might consider searching the<br>
list history before commenting.<br>
<br>
My theoretical question is, what logic do we want to use to create a<br>
parallel display? There are many hard cases we haven&#39;t resolved, even if the<br>
resolution is &quot;we simply don&#39;t handle that, and what you&#39;ll see is X.&quot;<br>
<br>
I know the STEP tools have a parallel display implementation. I have no<br>
idea if its behavior in corner cases is acceptable to most.<br>
<br>
--<br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.<br>
______________________________<u></u>_________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/<u></u>mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</blockquote>
<br>
<br>
______________________________<u></u>_________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/<u></u>mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/<u></u>mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</blockquote>
______________________________<u></u>_________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/<u></u>mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</blockquote>
<br>
<br>
______________________________<u></u>_________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/<u></u>mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page</blockquote></div><br></div>