Thursday, 21 March 2013

Babylon-based dictionaries on Kindle - Round 2

My post "Using Babylon-based dictionaries on your Kindle" seems to have gotten relatively wide attention. Currently the statistics show that 2595 users have seen it, 31 of them commented, 2 more via Facebook and a number of emails I've received from readers.
People's interest in pre-built dictionaries which they can run on their Kindle devices (specifically English-Hebrew dictionaries, but not just) is understandable. There are some issues with the BabylonToHtml conversion tool I've put together.

Due to lack of time for resolving the known issues with the project, or for production of pre-built dictionaries, I've decided to share BabylonToHtml publicly as an open-source project, for anyone who wishes to update/improve it.

Pre-Built Dictionaries in this post!

I'm sharing some pre-built dictionaries in this post. Some were produced by me and some by others. They are shared here so that they can be freely downloaded and used by anyone.
This section will be updated with dictionaries which the readers share with me over time.
 Jump to the pre-built dictionaries section!



BabylonToHtml is Now Open to the Public

Why?
My lack of time to address the currently known issues with BabylonToHtml, got me to a decision to make this an open-source project for the benefit (and intervention) of the public.

Known issues
At this time there are a few known issues which need to be addressed for better production of dictionaries. Here they are AFAIK:
  1. Unresolved characters #1:
    There are unresolved portions of the produced dictionary, which are wrapped by
    <charset c=T>****;</charset> blocks. Those are probably unicode characters which need to be resolved. If left unresolved they appear as gibberish in the output dictionary (and distort the HTML structure).

  2. Unresolved characters #2:
    There are unresolved portions of the produced dictionary, which are delimited with dollar-signs, e.g: $506274$ or cos$531761$. Not 100% sure how those should be treated/resolved.
    This would require some research (see "Additional resources for code-contributors" below).

  3. Bug in the project: Encoding is never really applied as requested:
    The encoding is actually force-resolved in the code, no matter what the user says (it gets overridden by the dictionary analysis code). This needs to be fixed.

  4. Potentially unresolvable bug with Hebrew and right-to-left dictionaries:
    Specifically for Hebrew dictionaries: Kindle (at least Kindle 2) always aligns the text from left-to-right.
    Not just the letters (this is a feature which would be relatively easy to implement), but also the order of the words themselves. This means that no matter what you do, the words will be placed in their original order, only starting from the left and going right (as if they were written in English).
    Simply reversing the word order will not work, because then the outcome would give the text from end to start (may work only if the definition's text is a single-line).
    To know which word will appear where is impossible (this depends on the screen's size and selected Unicode font (in the case of Kindle 2, a hacked font needs to be installed, as explained here).
    Some problems with Hebrew dictionaries (Click for full size)...
  5. Image handling
    Some .bgl files seem to contain embedded images. This thread may have a hint about the right way to extract resources, written in C++.

Where?
The project's sources are now shared as open-source on GitHub, which supports unlimited open-source repositories (to learn a bit more about source-control, see my post "Setting Up Subversion Source-Control with Assembla and TortoiseSVN". Although that post refers to Subversion and not Git, you can still get a general idea. Besides using GitHub's client on Windows or Mac is quite intuitive).
Everyone is now allowed to get a copy of the repository, apply changes and sync-in improvements.

Here's a link to the repository: BabylonToHtml (or click the screenshot below).
BabylonToHtml on GitHub

Additional resources for code-contributors
As I stated in the original post, Babylon's .bgl format is well known and there are other online projects which parse it, some of which were suggested by commentators of the post directly and some by email.
Personally I suspect they all yield from one single reverse-engineered implementation, because of the suspicious similarity in names of variables and embedded comments.
Here are a few of those projects, which may be useful for anyone who'd like to contribute to this project's code and its known issues listed above:
  • dictconv: This is the code I've used in my BabylonToHtml, with slight modifications and changes.
  • Forum thread: BGL (babylon glossary) to GLS (babylon glossary source) (C++ implementation). This one may also handle resources, such as images, embedded into the .bgl file.
  • BGL-Reverse - another open-source reverse engineered BGL parser (Python).
  • PyGlossary - yet another open-source reverse engineered BGL parser, this one is also in Python.
Pre-Built Dictionaries!

I'll share here links to pre-built .prc files which were converted from Babylon .bgl files using my tool.

To deploy/use them, simply transfer them to your Kindle device, as explained on step 4 of the previous post, see this link.

Readers: Send me your creations and I will post them here!
FileSource LanguageDestination LanguageNotes
Babylon English-Bulgarian dictionary.prc
(Alternative link)
EnglishBulgarianBy Alon Rotem
Babylon English Hebrew - Reversed Words.prc
(Alternative link)
EnglishHebrewBy Alon Rotem.
One of my attempts to get the words ordered correctly in Hebrew (words still need to be read from bottom to top) and to clean-up some of the unresolved character-codes, still has some troubles with gibberish characters.
Babylon English-Hebrew Dictionary.prc
(Alternative link)
EnglishHebrew22/03/2013 Contributed by a reader of the blog, Made with pyglossary.
Text that has both Hebrew and non-Hebrew (like numbers, latin characters, parenthesis, etc.) in the same paragraph is handled better, word aliasing (e.g. write/wrote/written --> write) is added. The Hebrew text is right aligned (still words still need to be read from bottom to top).
Tested on: Kindle 3 with v3.4, Kindle Keyboard with v3.4
Babylon English-Hebrew Dictionary (Kindle Voyage version).prc
EnglishHebrew25/05/2015 Contributed by a reader of the blog, Made with pyglossary.
This dictionary had layout issues (lines were overflowing the width of the screen) when using the default Kindle Voyage font (Caecilia size 4), thus it was forced to break 40 character lines. It may have layout issues if a non-default font is used.
Tested on: Kindle Voyage, Kindle Paperwhite (Firmware 5.6.1.1)
Babylon English-Hebrew Dictionary - MG Reversed Words.prc
(Alternative link)
EnglishHebrew25/03/2013 Contributed by a reader of the blog, Made with pyglossary.
Similar to "Babylon English-Hebrew Dictionary.prc" from 22/03/2013 but the letters are reversed in each word (still words still need to be read from bottom to top).
Should be working on: Kindle Paperwhite.
Babylon Russian English.prc
(Alternative link)
RussianEnglish09/07/2013 Contributed by Simon Brenncke.
Tested on: Kindle 4
A Spanish English Dictionary Granada University Spain.prc
(Alternative link)
SpanishEnglish15/05/2013 Contributed by Claudio Acevedo.
Tested on: Kindle Paperwhite
An English Spanish Dictionary Granada University Spain.prc
(Alternative link)
EnglishSpanish15/05/2013 Contributed by Claudio Acevedo.
Tested on: Kindle Paperwhite

babylon czech english.prc
(Alternative link)
CzechEnglish15/05/2013 Contributed by a reader of the blog.
Tested on: Kindle Paperwhite.

51 comments:

  1. Very good .
    The new verion worked well for me !
    NIr

    ReplyDelete
  2. I tried all of the prc files (including the new one 22/3) and I'm facing a reversed words problem. ex: ืฉืœื•ื shown as ืื•ืœืฉ ...
    I have Kindle Paperwhite if it's matter.. Any way fix it?

    Thanks,
    Adir

    ReplyDelete
    Replies
    1. Please try the latest addition from 25/03/2013 and tell if it's working for you (and on which firmware)

      Delete
    2. it works nice! Thanks
      Pity I can't use two dictionaries at same time... Or Can I?

      Delete
    3. Maybe you can, if you manage to merge them into 1 file, for example to contain both words in Spanish and in French, so you have translations for words in both languages..

      Delete
  3. Hello Alon,

    don't know if this is off-topic or not... anyway,
    I'd like to lookup words in the dictionary even if they are not listed there.
    Say, if the dictionary doesn't contain "difficulty", it should land me anyway there where I could get by by looking at "difficult". This would make up for dictionaries without inflections; other ereaders work this way.
    ...any idea on this? can it be done on the kindle?

    Thanks

    Mauro

    ReplyDelete
  4. ืขื•ื‘ื“ ืžืขื•ืœื”, ื™ืฉ ืœื™ ืืช ื”Kindle paper white ื‘ื’ืจืกื” 5.3.4
    ื–ื” ื ืจืื” ื˜ื•ื‘ ื•ืขื•ื‘ื“ ื˜ื•ื‘ ื•ืžืžืฉ ืžืฉื ื” ืืช ื—ื•ื•ื™ืช ื”ืงืจื™ืื”, ืื ื™ ืžื•ื“ื” ืœืš ืžืงืจื‘ ืœื‘ !

    ReplyDelete
    Replies
    1. ืชื•ื“ื” ืจื‘ื”, ื›ืคื™ืจ!

      Delete
  5. Hi, I've downloaded the C# project from GIT to my Windows 7 Virtual Machine and I am studying the code (I am totally newbie) and playing with different dictionaries (English, Spanish, French). What I can see is that some special characters appear as Unicode, many of them from the BGL pronunciation "section" [], this only happens with latin html's, special characters from English BGL pronunciation section are written OK on the html file. The program detects correctly the languages but the source coding as Windows-1252, maybe it's a problem of MS Windows? Thanks in advanced

    ReplyDelete
    Replies
    1. Hi,
      Those characters have been discussed in the post and in the comments as well.
      First, there is a problem with the program's ability to detect the right dictionary languages, and thus the right encoding (although those can be forcefully provided as command line args, they are ignored at a later stage of the dictionary analysis). This has also been mentioned as a bug.
      Second, those pronunciation characters are not well handled and they leak to the HTML output (where they should not be present).
      There is an option to extract the definitions with pyglossary, which handles the special characters better, then combine those into the output html file. The better versions of the dictionaries I've shared (English > Hebrew) were built that way.
      I've been thinking about incorporating pyglossary into my project and using its abilities to better parse the .bgl file, but alas- not much time to do that yet..

      Delete
  6. ืฉืœื•ื ืจื‘,
    ืกืœื™ื—ื” ืขืœ ื”ื‘ื•ืจื•ืช, ืื‘ืœ ื”ืื ืžื“ื•ื‘ืจ ืคื” ื‘ืžื™ืœื•ืŸ ืžื•ื‘ื ื” ื‘ืชื•ืš ื”ืงื™ื ื“ืœ ื›ืš ืฉืืคืฉืจ ืœืจืื•ืช ืืช ื”ืชืจื’ื•ื ืชื•ืš ื›ื“ื™ ืงืจื™ืื”?
    ืื ื›ืŸ ื”ืื ื›ืœ ื‘ื•ืจ ื•ืขื ื”ืืจืฅ ื™ื›ื•ืœ ืœื”ืชืงื™ืŸ ืื•ืชื•?
    ื“ืจืš ืื’ื‘ , ืžื“ื•ืข ืื™ ืืคืฉืจ ืœื”ืชืงื™ืŸ ืžื™ืœื•ืŸ ืขื‘ืจื™ ื›ืชื•ื‘ ื‘ืื•ืชื™ื•ืช ืœื•ืขื–ื™ื•ืช?
    ืฉืจื”

    ReplyDelete
    Replies
    1. ื”ื™ื™ ืฉืจื”,
      ืจืืฉื™ืช, ืชื•ื“ื” ืขืœ ื”ื”ืชืขื ื™ื™ื ื•ืช ื‘ื‘ืœื•ื’ ื•ื‘ืคืจื•ื™ื™ืงื˜ ื”ื–ื”.

      ื”ืžื™ืœื•ืŸ ื”ืžื•ื‘ื ื” ื‘ืชื•ืš ื”ืงื™ื ื“ืœ (ื–ื” ืฉืžื’ื™ืข ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื›ืžื™ืœื•ืŸ ืื ื’ืœื™-ืื ื’ืœื™) ื ื™ืชืŸ ืœื”ื—ืœืคื” ื‘ืžื™ืœื•ืŸ ืื—ืจ. ื–ื” ื”ืจืขื™ื•ืŸ ืฉืขื•ืžื“ ืžืื—ื•ืจื™ ื”ืคืจื•ื™ื™ืงื˜ ื”ื–ื”.

      ื”ืคื•ืกื˜ ื”ื–ื”, ื•ื’ื ื”ืคื•ืกื˜ ืฉืงื“ื ืœื• (ืจ' ืงื™ืฉื•ืจ ื‘ืจืืฉ ื”ืคื•ืกื˜) ื‘ื ืœืกืคืง ืžื™ืœื•ื ื™ื ื—ืœื•ืคื™ื™ื ื•ืœืชืช ืคืชืจื•ื ื•ืช ืœืžืกืคืจ ื‘ืขื™ื•ืช ื”ืงื™ื™ืžื•ืช ื‘ืื•ืคืŸ ื›ืœืœื™ ืขื ืžื™ืœื•ื ื™ื ื‘ืงื™ื ื“ืœ, ื•ื’ื ื‘ืคืจื˜ ืœื’ื‘ื™ ืขื‘ืจื™ืช:

      ืื™ืŸ ื›ืœ ื›ืš ืžื™ืœื•ื ื™ื ื˜ื•ื‘ื™ื ืœื”ื•ืจื“ื”/ืจื›ื™ืฉื”.
      ืงื™ื ื“ืœ ืœื ืžืชืžื•ื“ื“ ื”ื™ื˜ื‘ ืชืžื™ื“ ืขื ืฉืคื•ืช ืฉื ื›ืชื‘ื•ืช ืžื™ืžื™ืŸ ืœืฉืžืืœ.
      ื”ื“ื’ืžื™ื ื”ืงืฆืช-ื™ื•ืชืจ-ื™ืฉื ื™ื ืฉืœ ืงื™ื ื“ืœ (ืงื™ื ื“ืœ 2, ื›ืžื• ืฉื™ืฉ ืœื™) ื‘ื›ืœืœ ืœื ืžืฆื™ื’ื™ื ืื•ืชื™ื•ืช ืฉืื™ื ืŸ ืœื˜ื™ื ื™ื•ืช ืื ืœื ืžืชืงื™ื ื™ื ืขืœื™ื”ื ื‘ืžื™ื•ื—ื“ ื’ื•ืคืŸ ื‘ื™ื "ืœ. ื›ืš ืฉื’ื ืื ื™ืฉ ืžื™ืœื•ืŸ ืขื‘ืจื™ (ืื• ื›ืœ ืฉืคื” ืฉืื™ื ื” ื‘ื›ืชื‘ ืœื˜ื™ื ื™) ืœื ื ื™ืชืŸ ืœืงืจืื• ื›ืœืœ.

      ืœืฉืืœื•ืชื™ื™ืš:
      ื›ืŸ, ืžื“ื•ื‘ืจ ื‘ืžื™ืœื•ืŸ ื”ืžื•ื‘ื ื” ื‘ืชื•ืš ื”ืงื™ื ื“ืœ.
      ืคื™ืชื—ืชื™ ืชื•ื›ื ื” ืฉืžืืคืฉืจืช ืœื”ืžื™ืจ ืืช ืžื™ืœื•ื ื™ ื”ืžื—ืฉื‘ ื”ืžืขื•ืœื™ื ืฉืœ ื‘ื‘ื™ืœื•ืŸ ืœืžื™ืœื•ื ื™ ืงื™ื ื“ืœ. ืฉืื•ืชื ืืคืฉืจ ืœื”ืชืงื™ืŸ ื›ืžื™ืœื•ืŸ ื—ืœื•ืคื™ ืœืžื™ืœื•ืŸ ื”ืžื•ื‘ื ื”.
      ืื’ื‘, ืขื•ื“ ื‘ืขื™ื” ืฉืœ ื”ืžื™ืœื•ืŸ ื”ืžื•ื‘ื ื” ื‘ืงื™ื ื“ืœ ื”ื™ื ืฉื”ื•ื ืžืกื•ื’ืœ ืœืืชืจ ืžื™ืœื™ื ื‘ืื•ืคืŸ ืžื‘ื ื” ื™ืฉื™ืจื•ืช ืžื—ืœื•ืŸ ื”ืงืจื™ืื” ืจืง ื›ืฉืžื“ื•ื‘ืจ ื‘ืžื™ืœื™ื ื‘ืื•ืชื™ื•ืช ืœื˜ื™ื ื™ื•ืช. ื›ืš ื™ื•ืฆื ืฉืžื™ืœื•ื ื™ื ืฉืžืชืจื’ืžื™ื ืžืื ื’ืœื™ืช ื™ืขื‘ื“ื•, ื‘ืขื•ื“ ืฉื‘ืžื™ืœื•ื ื™ื ืฉืžืชืจื’ืžื™ื ืžืฉืคื•ืช ืื—ืจื•ืช, ื›ื ืจืื” ืœื ื™ืขื‘ื•ื“ ื”ื—ื™ืคื•ืฉ ื”ืžื•ื‘ื ื” ืฉืœ ืกื™ืžื•ืŸ ืžื™ืœื” ื‘ื˜ืงืกื˜.

      ื‘ืคื•ืกื˜ ื”ืงื•ื“ื ื”ืกื‘ืจืชื™ ืื™ืš ืœื”ืชืงื™ืŸ ืืช ื”ืžื™ืœื•ื ื™ื, ื‘ืฆื™ืจื•ืฃ ืฆื™ืœื•ืžื™ ืžืกืš:
      http://www.alonintheworld.com/2012/06/using-babylon-based-dictionaries-on.html
      ืœื”ืขืจื›ืชื™, ื‘ื•ืจื™ื ื•ืขืžื™ ืืจืฆื•ืช ืืžื•ืจื™ื ืœื”ืฆืœื™ื— ื‘ืื•ืคืŸ ืžื™ื•ื—ื“ ืขื ื”ืชืงื ืช ื”ืžื™ืœื•ืŸ ืขืœ ื”ืงื™ื ื“ืœ. ื™ื—ื“ ืขื ื–ืืช ืืฆื™ื™ืŸ ืฉืื ื‘ื›ืœ ื–ืืช ื”ืกืชื‘ื›ืช ืขื ื”ื”ืชืงื ื”, ืืช ืžื•ื–ืžื ืช ืœื›ืชื•ื‘ ืืœื™ื™ ืžื™ื™ืœ. ื”ื›ืชื•ื‘ืช:
      alon@alonintheworld.com

      ื‘ื˜ื‘ืœื” ื‘ืคื•ืกื˜ ื”ื–ื” ื™ืฉ ืงื™ืฉื•ืจื™ื ืœืžืกืคืจ ืžื™ืœื•ื ื™ื ื‘ื›ืœ ืžื™ื ื™ ืฉืคื•ืช. ื—ืœืง ืžื”ื ืื ื™ ื”ืžืจืชื™ ืžืžื™ืœื•ื ื™ ื‘ื‘ื™ืœื•ืŸ, ื•ื—ืœืง ืžื”ื ื”ื•ืžืจื• ื‘ืืžืฆืขื•ืช ื”ืชื•ื›ื ื” ืฉื›ืชื‘ืชื™ ืข"ื™ ืงื•ืจืื™ื ืฉืœ ื”ื‘ืœื•ื’.

      ื™ืฉ ืžืกืคืจ ื’ื™ืจืกืื•ืช ืฉืœ ื”ืžื™ืœื•ืŸ ื”ืื ื’ืœื™-ืขื‘ืจื™. ืื ื™ ืžืžืœื™ืฅ ืœื”ื•ืจื™ื“ ื•ืœื ืกื•ืช ืืช ื–ื” ืžืชืืจื™ืš 22/03 ืื• ื–ื” ืžื”-25/03. ื”ื”ื‘ื“ืœ ื‘ื™ื ื™ื”ื ื”ื•ื ื”ื™ืคื•ืš ืฉืœ ื”ืื•ืชื™ื•ืช. ืงื™ื™ืžื•ืช ื’ื™ืจืกืื•ืช ืฉืœ ืงื™ื ื“ืœ ืฉื‘ื”ืŸ ืื—ื“ ืžื”ื ื™ืฆื™ื’ ืืช ื”ืžื™ืœื™ื ื ื›ื•ืŸ, ื‘ืขื•ื“ ื”ืื—ืจ ื™ืฆื™ื’ ืื•ืชืŸ ื‘ื”ื™ืคื•ืš ืžื”ืกื•ืฃ ืœื”ืชื—ืœื”.

      ืžื” ืฉื›ืŸ, ืžืื—ืจ ื•ืœืงื™ื ื“ืœ ื™ืฉ ื‘ืขื™ื•ืช ืขื ื™ื™ืฉื•ืจ ืœื™ืžื™ืŸ, ื”ืžื™ืœื™ื ืชืžื™ื“ ืชื•ืคืขื ื” ื‘ืกื“ืจ ื”ืคื•ืš ื‘ื›ืœ ื˜ืงืกื˜ ืฉืื•ืจื›ื• ืขื•ืœื” ืขืœ ืฉื•ืจื” ืื—ืช (ืกื“ืจ ื”ืžื™ืœื™ื, ืœื ืกื“ืจ ื”ืื•ืชื™ื•ืช). ืื‘ืœ ื”ืื•ืชื™ื•ืช ื‘ืžื™ืœื™ื ืืžื•ืจื•ืช ืœื”ื•ืคื™ืข ื›ืžื• ืฉืฆืจื™ืš, ื•ืœื ื‘ื”ื™ืคื•ืš. ืื ื ื™ืกื™ืช ืืช ืื—ื“ ื”ืžื™ืœื•ื ื™ื ื”ืืœื” ื•ื”ืื•ืชื™ื•ืช ืžื•ืคื™ืขื•ืช ื”ืคื•ืš, ื ืกื™ ืืช ื”ืžื™ืœื•ืŸ ื”ืฉื ื™.

      ืื’ื‘, ื›ืžื“ื•ืžื ื™ ื™ืฉ ืžื™ืœื•ืŸ ืฉืืžืื–ื•ืŸ ืžืฆื™ืขื” ืœืจื›ื™ืฉื” ืฉื‘ื• ื”ื”ื’ื“ืจื•ืช ื‘ืขื‘ืจื™ืช ื›ืชื•ื‘ื•ืช ื‘ืื•ืคืŸ ืคื•ื ื˜ื™ ื‘ืื ื’ืœื™ืช. ืœื ืžืฉื ื”ื• ืฉื‘ืื•ืคืŸ ืื™ืฉื™ ื”ื™ื™ืชื™ ืžื•ืฆื™ื ืขืœื™ื• ื›ืกืฃ.

      ื‘ื”ืฆืœื—ื”!
      ืืœื•ืŸ

      Delete
  7. Any one who would upload german spanish (and viceversa)?
    I have converted the PONS dictionary but with lots of strange signals and unaligned..

    ReplyDelete
  8. ืื”ืœืŸ ื•ืชื•ื“ื” ืขื ืงื™ืช ืขืœ ื”ืจืขื™ื•ืŸ ื•ื”ืขื‘ื•ื“ื”. ื™ืฉ ืœื™ ื‘ืขื™ื” ืขื ื”ืžื™ืœื•ื ื™ื:
    ื”ืงื™ื“ืœ ืฉืœื™ - 5, ื”ื”ื•ื ืขื ื”ื’'ื•ื™ืกื˜ื™ืง
    ืคื•ืชื— ืืช ื”ืงื‘ืฆื™ื ืฉืœ ื”ืžื™ืœื•ืŸ ื” ืค ื• ืš.
    ืชื’ื™ื“ื• ื‘ื‘ืงืฉื”, ืื™ืš ืžืชืงื ื™ื ืืช ื–ื”. ื•ืชื•ื“ื” ืจื‘ื” ืฉื•ื‘.

    ReplyDelete
  9. !ืชื•ื“ื” ืจื‘ื”
    ืืฆื˜ืจืฃ ืœืžื™ ืฉื›ื‘ืจ ืฆื™ื™ืŸ ืืช ื–ื” ืœืคื ื™ ืฉื”ืžื™ืœื•ืŸ ืขื•ื‘ื“ ืขืœ paperwhite
    ื›ืžื” ื ื—ืžื“ ืฉื™ืฆืจืช ืคื™ืชืจื•ืŸ ื ื•ื— ื•ื—ื™ื ืžื™!
    ื™ื™ืฉืจ ื›ื—!

    ReplyDelete
    Replies
    1. ืชื•ื“ื” ืจื‘ื”, ืื™ืœ!
      ื”ืขื‘ื•ื“ื” ืœื ื ืคืกืงืช, ืจืง ืงืฆืช ื‘ื”ืงืคืื”

      Delete
  10. ืื™ื–ื” ื›ื™ืฃ, ืžืžืฉ ื‘ืžืงืจื” ื”ื’ืขืชื™ ืœืืชืจ ื”ื–ื”. ืขื•ื‘ื“ ืžืขื•ืœื” ืขืœ ื”ืงื™ื ื“ืœ
    PW2
    ืชื•ื“ื” ืชื•ื“ื” ืชื•ื“ื”

    ReplyDelete
    Replies
    1. ื›ื™ืฃ ืœืฉืžื•ืข. ืชื•ื“ื” ืขืœ ื”ืคื™ื“ื‘ืง! ืืžืฉื™ืš ืœื ืกื•ืช ืœืฉืคืจ ืืช ื”ื›ืœื™ ื”ื–ื”. ื›ืฉื™ื”ื™ื” ืœื™ ื–ืžืŸ. ื›ืœื•ืžืจ ืžืชื™ืฉื”ื• ื‘ืื™ื ืกื•ืฃ

      Delete
  11. ื”ื™ื™ ืืœื•ืŸ,
    ื”ื•ืจื“ืชื™ ืืช ื”ืžื™ืœื•ืŸ ืœืงื™ื ื“ืœ,ื•ื”ื•ื ื ืžืฆื ื›ืงื•ื‘ืฅ ื ืคืจื“ ื‘ืชื•ืš ื”ืกืคืจื™ื™ื”.
    ืืš ืื ื™ ื”ื•ืคื›ืช ืื•ืชื• ืœืžื™ืœื•ืŸ ืจืืฉื™? ื›ืš ืฉืื ื™ ืžืกืžื ืช ืืช ื”ืžื™ืœื” ื‘ืœื—ืฆืŸ ื™ืžื ื™ ื•ืžื•ืคื™ืข ืœื™ ื”ืคื™ืจื•ืฉ??

    ReplyDelete
  12. Is there an English-English dictionary?

    ReplyDelete
    Replies
    1. I can produce a Babylon-based one, but the Kindle has a built-in English-English dictionary by default.

      Delete
  13. ืชื•ื“ื” ืจื‘ื”!

    ReplyDelete
  14. ื–ื” ื›ืœื™ ื ืคืœื! ื—ื‘ืœ ืฉืื™ ืืคืฉืจ ืœืขืฉื•ืช ืืช ื–ื” ืžืขื‘ืจื™ืช ืœืื ื’ืœื™ืช

    ReplyDelete
    Replies
    1. ืชื•ื“ื”! ืื ื™ ืžืกื›ื™ื ืฉื—ื‘ืœ ืฉืื™ ืืคืฉืจ. ื‘ืขืงืจื•ืŸ ืืคืฉืจ ืœื‘ื ื•ืช ืืช ืงื•ื‘ืฅ ื”ืžื™ืœื•ืŸ, ืื‘ืœ ืคื•ื ืงืฆื™ื™ืช ื—ื™ืคื•ืฉ ื”ืžื™ืœื™ื ื”ืื•ื˜ื•ืžื˜ื™ืช ืœื ืขื•ื‘ื“ืช ื‘ืงื™ื ื“ืœ ืขืœ ืžื™ืœื™ื ืฉืื™ื ืŸ ื‘ืื•ืชื™ื•ืช ืœื˜ื™ื ื™ื•ืช. ื‘ืœื™ ืงืฉืจ, ืื ื™ ืžืชื›ื ืŸ ืœืฉืคืจ ืืช ื›ืœื™ ื”ืžืจืช ื”ืžื™ืœื•ืŸ ื•ืœืขืฉื•ืช ืื•ืชื• ื—ื–ืง ื™ื•ืชืจ ื•ื™ื“ื™ื“ื•ืชื™ ื™ื•ืชืจ ืžืชื™ืฉื”ื•

      Delete
  15. ื™ืฉ ืœื™ Paperwhite
    ื”ืžื™ืœื•ืŸ ืžืฆื™ื’ ืืช ื”ืžื™ืœื™ื ื›ืžื• ืฉืฆืจื™ืš ืจืง ืฉืฆืจื™ืš ืœืงืจื•ื ืžื”ืกื•ืฃ ืœื”ืชื—ืœื” (ืืช ื”ืžื™ืœื™ื).
    ืœืžื” ืœื ื ื™ืชืŸ ืœื”ืคื•ืš ื’ื ืืช ืกื“ืจ ื”ืžื™ืœื™ื?

    ReplyDelete
  16. ืืฆื™ื™ืŸ ื’ื ืฉื’ื ื‘ืžื™ื“ื” ื•ืžื“ื•ื‘ืจ ืจืง ื‘ืฉื•ืจื” ืื—ืช - ืฆืจื™ืš ืœืงืจื•ื ืืช ื”ืžื™ืœื™ื ื‘ืกื“ืจ ื”ืคื•ืš.

    ReplyDelete
  17. ื™ืฉ ืžื™ืœื•ืŸ ืชืงื™ืŸ ื’ื ืœื’ื™ืจืกื” 4.1.1?

    ReplyDelete
    Replies
    1. ืœื ื ื™ืกื™ืชื™ ืขืœ ื’ื™ืจืกื” 4.1.1 ื›ื™ ืื™ืŸ ืœื™ ืงื™ื ื“ืœ ืฉืžืจื™ืฅ ืืช ื”ื’ื™ืจืกื” ื”ื–ืืช. ืื‘ืœ ืืช/ื” ืžื•ื–ืžื /ืช ืœื”ืจื™ืฅ ื•ืœืขื“ื›ืŸ ืื•ืชื™ ืื ื”ืžื™ืœื•ืŸ ืขื•ื‘ื“ ืื• ืœื.

      Delete
    2. ื”ืจืฆืชื™. ืœืฆืขืจื™ ืจื•ืื™ื ืื•ืชื™ื•ืช ื‘ืขื‘ืจื™ืช ืื•ืœื ื”ืคื•ืš. ืœื“ื•ื’ืžื ื”ืœื›ืชื™ --> ื™ืชื›ืœื”
      ืืฉืžื— ืžืื•ื“ ืื ืชื•ื›ืœ ืœืชืช ืžืขื ื”

      ืชื•ื“ื” ืจื‘ื” ื•ืฉื ื” ื˜ื•ื‘ื”

      Delete
  18. ื”ื™ื™ ืืœื•ืŸ, ืชื•ื“ื” ืจื‘ื”..ืฉื ื™ื ืฉืื ื™ ืžื—ืคืฉ ืžื™ืœื•ืŸ ืื ื’ืœื™ ืขื‘ืจื™ ืœืงื™ื ื“ืœ.
    ื™ื“ื•ืข ืœืš ืœืžื” ืœื ื ื™ืชืŸ ืœื”ื•ืจื™ื“ ืืช ื”ืงื‘ืฆื™ื?
    Quota exceeded
    ื™ื•ืชืจ ืž24 ืฉืขื•ืช

    ReplyDelete
    Replies
    1. ื”ื™ื™ ื•ืชื•ื“ื”! ืื™ื–ื” ืงื•ื‘ืฅ ื ื™ืกื™ืช ืœื”ื•ืจื™ื“ ืœืœื ื”ืฆืœื—ื”? ื”ืจื’ืข ื ื™ืกื™ืชื™ ื•ื”ืฆืœื—ืชื™ ืœื”ื•ืจื™ื“ ืืช ืงื•ื‘ืฅ ื”ืžื™ืœื•ืŸ ื”ืื ื’ืœื™-ืขื‘ืจื™

      Delete
    2. ืืฃ ืื—ื“ ืžื”ืžื™ืœื•ื ื™ื
      (ื ื™ืกื™ืชื™ ืืช ื›ื•ืœื)
      ืœืžืจื•ืช ืฉืขื›ืฉื™ื• ื›ื‘ืจ ืœื ืžื•ืฆื’ืช ื”ื”ื•ื“ืขื”, ืคืฉื•ื˜ ืžื•ืคื™ืข ื“ืฃ ืœื‘ืŸ ืจื™ืง.
      ืื ืื ื™ ืคื•ืชื— ืืช ื”ืงื™ืฉื•ืจ ื‘ืžืฆื‘ ื’ืœื™ืฉื” ืคืจื˜ื™ืช, ืžื•ืคื™ืข ืฉื•ื‘ ื”ืขืžื•ื“ ืฉืœ
      Quota exceeded

      Delete
  19. ืชื•ื“ื” ืจื‘ื” ืขืœ ื”ืœื™ื ืง ื”ืืœื˜ืจื ื˜ื™ื‘ื™! ืชื‘ื•ืจืš!

    ReplyDelete
    Replies
    1. ื‘ืฉืžื—ื”! ื•ืชื•ื“ื” ืฉื”ืขืจืช ืืช ืชืฉื•ืžืช ืœื‘ื™ ืœืขื ื™ื™ืŸ

      Delete
  20. ืฉืœื•ื,
    ืื ื™ ืžืขื•ื ื™ื™ืŸ ืœืงื ื•ืช ืงื™ื ื“ืœ ื›ืฉื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœื™ ื”ื™ื ืœืฉืคืจ ืืช ื”ืื ื’ืœื™ืช ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืžื™ืœื•ืŸ ืฉืคืจืกืžืช.
    ื”ืื ื”ื•ื ื™ืฆื™ื‘ ืžืกืคื™ืง ื‘ืฉื‘ื™ืœ ืฉื”ืจื›ื™ืฉื” ืชื”ื™ื” ืžืฉืชืœืžืช?
    ื”ื‘ืขื™ื•ืช ื™ื™ืฉื•ืจ ืœื™ืžื™ืŸ ื”ื•ืจืื™ื•ืช ืื• ืฉื ื™ืชืŸ ืœื”ืกืชื“ืจ ืื™ืชืŸ?
    ืื ื™ ืžืžืฉ ืžืขืจื™ืš ืืช ื”ืขื‘ื•ื“ื” ืฉื”ืฉืงืขืช. ืชื•ื“ื”!

    ReplyDelete
    Replies
    1. ืืฆื™ื™ืŸ ืฉืืงื ื” ืืช ื”ืงื™ื ื“ืœ ื”ื‘ืกื™ืกื™ ื”ื—ื“ืฉ ืฉื™ืฆื ืœืคื ื™ ื›ืžื” ื™ืžื™ื. ื”ืื ื‘ื• ื”ืชืžื™ื›ื” ื‘ืขื‘ืจื™ืช ืชื”ื™ื‘ ื˜ื•ื‘ื” ื™ื•ืชืจ?

      Delete
  21. ื‘ืงื™ื ื“ืœ ืื ื“ืจื•ืื™ื“ ื”ื•ืื•ืชื™ื•ืช ืžื•ืคื™ืขื•ืช ื›ืจื™ื‘ื•ืขื™ื. ื”ืื ื™ืฉ ื“ืจืš ืœืชืงืŸ?

    ReplyDelete
  22. Bulgarian here. :) I'll write this in English as it's the language that this blog is primarily written in.

    This is great! BGL2HTML is an awesome idea! BTW, what version of HTML does this program output exactly? It would be very useful for this to be mentioned in the README.md file of your program.

    Is it possible for the reverse to be done (not with your program, but in general, with some other program), i.e. prc2html or prc2txt? I think that it is possible, by using the open-source program Calibre. PRC2html/txt or PRC2(other-formats-here) conversion is very useful for PC users, as HTML and .txt (UTF-8-encoded) are more universal formats and one needs just a web browser for .html (and .txt) and a text editor for viewing (and editing) .txt files, without having to install additional ebook-viewing software.

    ReplyDelete
    Replies
    1. ะ—ะดั€ะฐะฒะตะน, Sah War :-)
      I appreciate the fact you wrote in English, since your English is probably better than my Bulgarian :-)

      The output HTML more XMLized content with tag prefixes (but without specifying any special namespace), and does not use standard HTML elements, but special ones, like <idx:entry>, <idx:orth>, <idx:infl>.. (to see how it's generated, see HtmlGenerator.cs, if you read C#).

      As for reversing .prc files, there is open source for the PRC structure, for example the Calibre repository on GitHub. I guess this code (written in python) can be the base for eBook conversion, which is in fact what Calibre does.

      Delete
  23. ืืœื•ืŸ, ื™ืฉ ื”ืจื‘ื” ืื ืฉื™ื ืžืื•ื“ ืžืื•ื“ ืžืจื•ืฆื™ื ืžื”ืคืจื•ื™ื™ืงื˜ ืฉืœืš.

    ื›ื•ืœื ื• ื ืฉืžื— ืื ืชื•ืกื™ืฃ ื›ืคืชื•ืจ ืงื˜ืŸ ื‘ืฆื“ ืœืชืจื•ืžืช ื›ืกืฃ ื‘PAYPAL.

    ReplyDelete
    Replies
    1. ืงื•ื“ื ื›ืœ ืชื•ื“ื” ืจื‘ื”! ืžืื•ื“ ื ืขื™ื ื•ืžืจื’ืฉ ืœืฉืžื•ืข, ืœื ื—ืฉื‘ืชื™ ืขืœ ื–ื” ื‘ื›ืœืœ. ืœืขืฆืชืš ื”ื•ืกืคืชื™ ื‘ืฆื“ ื›ืคืชื•ืจ ืชืจื•ืžื•ืช, ืœื›ืœ ืžื™ ืฉืžืขื•ื ื™ื™ืŸ ืœื”ื—ื–ื™ืจ ืงืฆืช ื•ืœืชืจื•ื. ืฉื•ื‘ ืชื•ื“ื”

      Delete
  24. Hi Alon, and many thanks for this useful project.
    I wanted to to share two observations I had when installing this:
    1. The Kindle Voyage pre-built version works nicely on my Paperwhite (with firmware 5.6.1.1).
    2. At some point, dictionaries moved from the documents/ directory to the documents/dictionaries directory, so you now need to place your dictionary there for it to be identified.

    ReplyDelete
    Replies
    1. I updated the table of pre-built with the new info, and the installation instructions (on the previous post, also added a link to them here).
      Thank you very much for the feedback, Mikos!

      Delete
  25. ืฉืœื•ื ืืœื•ืŸ ื”ืื ื ื™ืชืŸ ืœื”ื•ืจื™ื“ ืžื™ืœื•ืŸ ืœืชืจื’ื•ื ืžื™ืœื™ื ืข"ื’ ืงื•ื‘ืฅ PDF?
    ื•ื›ืŸ ื”ืื ื ื™ืชืŸ ื‘ืื™ื™ืคื“?
    ืชื•ื“ื”!

    ReplyDelete
  26. Amazing project. ืชื•ื“ื” ืจื‘ื”. Is there a link to a ready Hebrew to English dictionary for kindle? That would be awsome!

    ReplyDelete
    Replies
    1. Thank you, RunningRabbi! :-)
      Unfortunately, to my tests, dictionary lookup did not work with non-Latin characters (i.e. pointing a word does not look it up in the dictionary), thus there is no Hebrew-English dictionary. It may work on newer Kindle versions, but I have not tried.

      Delete
  27. Hi,
    Great job on the project!

    Is there any progress with the word order problem?
    Have you ever tried creating the dictionary in AZW3 format?

    ReplyDelete
  28. ืฉืœื•ื ืืœื•ืŸ
    ื™ืฉ ืœื™ ืคื™ื™ืคื•ื•ื™ื˜ ื’ืจืกื” 5
    ื”ืื ื”ื•ื ืืžื•ืจ ืœื”ืฆืœื™ื— ืœืงืจื•ื ืงื‘ืฆื™
    PRC
    ืื ื™ ืจื•ืื” ื‘ืชืงื™ื™ืช ืžื™ืœื•ื ื™ื ืจืง ืงื‘ืฆื™
    AZW
    ืžื” ืื ื™ ืžืคืกืคืก ?
    ืชื•ื“ื”

    ReplyDelete
    Replies
    1. ื”ืกืชื“ืจืชื™ - ืื—ืœื” ืคืจื•ื™ืงื˜
      ืชื•ื“ื”

      Delete
  29. ะ—ะดั€ะฐะฒะตะนั‚ะต, ะดะฐะปะธ ะธะผะฐั‚ะต ะฒัŠะทะผะพะถะฝะพัั‚ ะดะฐ ะบะฐั‡ะธั‚ะต ะธ ะฝะตะผัะบะพ-ะฑัŠะปะณะฐั€ัะบะธ prc ั„ะฐะนะป? ะ‘ะปะฐะณะพะดะฐั€ั

    ReplyDelete