View Single Post
Old 08-31-2017, 11:17 AM   #19
Doitsu
Grand Sorcerer
Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.
 
Doitsu's Avatar
 
Posts: 5,735
Karma: 24031401
Join Date: Dec 2010
Device: Kindle PW2
Quote:
Originally Posted by ntamas View Post
Another question: How can someone make a Kindle dictionary? Is it difficult technically?
It's relatively easy, but nowadays rather pointless, because when you buy a used Kindle PW2 or better and register it, you can download high quality French, German, Italian, Portuguese, Russian, Chinese and Japanese dictionaries for free.

For more information on the dictionary format see this MR thread and the Kindle Publishing Guidelines. There's also a Python 3 script that'll convert tab-delimited word lists to mobi dictionary source files: tab2opf.py. (If you use this script, you'll need to save the input files as utf-8 files and use the -utf command line parameter.)

A minimal dictionary HTML file should look like this:

Code:
<html>
<body>

<idx:entry>
	<b><idx:orth>book
	<idx:infl>
		<idx:iform value="books"/>
	</idx:infl>
	</idx:orth> </b> 
	<i>Noun</i> <br/>
	a written or printed work consisting of pages
</idx:entry>
<br/><br/>
<hr/>
<idx:entry>
	<b><idx:orth>go
	<idx:infl>
		<idx:iform value="goes"/>
		<idx:iform value="going"/>
		<idx:iform value="went"/>
		<idx:iform value="gone"/>
	</idx:infl>
	</idx:orth> </b> 
	<i>Verb</i> <br/>
	move from one place to another
</idx:entry>
<br/><br/>

</body>
</html>
The .opf file also needs to contain a special non-standard section that defines the input and output languages.

Code:
<metadata>
<!-- more entries -->
<x-metadata>
    <output encoding="utf-8"></output>
    <DictionaryInLanguage>en</DictionaryInLanguage>
    <DictionaryOutLanguage>en</DictionaryOutLanguage>
</x-metadata>
</metadata>
Doitsu is offline   Reply With Quote