I’m working for DLS and need to create a dictionary app that has two writing systems in two different tabs. The first is in Arabic script and the second is in Latin. From what I can see, unless I’m missing something, DAB takes one XHTML file as its lexicon (which I generated for the Arabic script), and any additional XHTML files have to be Reversal Indexes linked up to their respective language codes. However, I’d like to be able to add a classified dictionary generated for the Latin script as a second lexicon for another tab. Can this feature be added?
I’m not sure if this will help @David_Midkiff. I have helped a few people take a LIFT file and add some fields from existing data and generate an extra tab that is a Semantic tab from the Semantic information. Is you classification from semantic data?
By default DAB does not display any data contained in the trait elements of a LIFT file. I run a script to make that data visible in the app and to create a reversal to generate tab at the top. Maybe this does what you want.
It may be possible to generate an XHTML reversal for Semantic data too but I have not done that yet. The LIFT option is easy using my script.
Thanks for the information. Let me take a look at that and if I have any questions I’ll get back to you sometime next week. Thanks again!
Can I take a look at your script?
The script works on LIFT files not on XTHML.
The script is in a publishing framework that I use. You can download it here: https://github.com/SILAsiaPub/xrunner/releases/tag/116
- Install it. It is not signed so you will need to give it permission.
- Go to the C:\programs\xrunner_xrunner_projects\Modify-LIFT\source folder and put your LIFT file in that folder.
- Then rename it to lexicon.lift
- Start Xrunner by clicking on Start > Publishing > Xrunner
- Click the 1 click here to select your project folder button (top right) and navigate to the Modify-LIFT folder.
- Once that is selected, click on the Edit project.txt file button
There are a number of variables you can set that will change the output.
showsemanticentry=on showsemanticwordtab=on showsemanticnumbertab=off showsemanticnumberentry=on classification=category beforesemnumb=no. semanticclassificationsystem=semantic-domain-ddp4
showsemanticentrytells the script to make an entry that DAB displays in the body of the dictionary. Semantic information is stored in a
traitelement that is not displayed.
showsemanticwordtabwill add in reversal information for a pseudo language with the semantic words.
showsemanticnumbertablets you add a second tab that is a list of semantic numbers ( this is to aid dictionary production rather than for publication)
showsemanticnumberentryThis will display the number information as well as the word in the semantic entry.
classificationthis is the label word to use in the semantic entry
beforesemnumbthis is the word/prefix before the semantic numbers, if needed.
semanticclassificationsystemfor a Fieldworks generated LIFT file this is usually semantic-domain-ddp4 but it ma be something else. If your LIFT is from another source then search for the trait element and look for the semantic information type of trait and get the name attribute and use that instead of semantic-domain-ddp4.
<trait name ="semantic-domain-ddp4" value="1.1.1 Matahari"/>
Send me a personal message, if you need more help.
I have a made another variation that can find other information and create reversal entry to create another tab. So if your information in the LIFT file is not stored in trait element (example above) then let me know.