Tested on B&N Nook Simple Touch with latest SW (1.2.1) and rooted by NookManager
My goal was to convert GNU/FDL English-Czech dictionary from GNU/FDL anglicko-český slovník which is using the following format:
english word [TAB] translation [TAB] notes [TAB] extra notes [TAB] author
It should be easy to customize the script to whatever source format you need.
Output (basewords.db) SQLite3 DB
CREATE TABLE android_metadata
(locale TEXT);
INSERT INTO android_metadata VALUES('en_US');
CREATE TABLE tblWords
(_id INTEGER PRIMARY KEY AUTOINCREMENT,
term TEXT,
description BLOB);
CREATE INDEX term_index on tblWords (term ASC);
with following BLOB (zipped HTML description)
<div class="entry">
<sup>6</sup><b><span class="searchterm-headword">a</span></b><br/>
<i>abbreviation</i>
<div class="definitions">
<b>1</b> absent <br/>
<b>2</b> acceleration <br/>
<b>3</b> acre <br/>
<b>4</b> adult <br/>
[...]
</div>
</div>
Convert dictionary to Nook format
python nook-dictionary.py
Remount /system directory to enable write access
adb shell mount -o rw,remount /dev/block/mmcblk0p5 /system
Backup original dictionary (Merriam-Webster's Collegiate Dictionary, 11th Edition)
adb pull /system/media/reference/basewords.db ./
Create a symlink
adb shell ln -s /system/media/reference/basewords.db /media/dict/basewords.db
Copy created dictionary to the device
adb push basewords.db /media/dict/basewords.db
Reboot the Nook (/system directory will be mounted as read-only automatically)
adb shell reboot
English-Czech dictionary / anglicko-český slovník
Source: GNU/FDL anglicko-český slovník
Size: 79 MB / 214680 translations
en-cs_v0.1.zip
Info about SQLite3 DB's and BLOBs
http://nookdevs.com/Nook_Simple_Touch_dictionary
Great thread about Nook dictionaries and hacking built-in Reader app
http://forum.xda-developers.com/showthread.php?t=1477918
Renate NST's page with usefull tools
http://www.temblast.com/android.htm