Jappy

Disobedience: The silver lining to the cloud of servitude. -- Ambrose Bierce

Jappy

Introduction

Jappy is a Japanese dictionary and study tool. It provides a Japanese-English dictionary, translation in Japanese text, example sentences, and a study list. I have a long list of features that I've been meaning to implement, but probably never will, so I decided to make it public before it was done. It's actually in pretty good shape, though. I use it often.

Update: I did use it often, but no longer do. The program is still useful, but has at least one serious, unfixed bug in the translation tool, and I have long since stopped improving it. WWWJDIC, which was something of a competitor, has continued advancing and is mostly superior to my program now. As long as nobody asks me to update it, it will probably remain as it is.

Features / Documentation

Dictionary
dictionary

Translation
translate

Examples
examples

Study
study

  • General - In general, help will appear in the status bar when you mouse over UI elements. You can select text and right click it to perform actions on it, or right-click hyperlinks. Clicking a hyperlink will perform an action, usually looking up the word beneath the hyperlink or translating a sentence. The keys F1-F4 select different tabs within the program, and the key combination <Windows>-G (the Windows key is next to the Alt key) will hide and show the program, so you can keep it in the background and quickly pop it up to look up a word without reaching for the mouse. In most tabs, you can press the TAB key to move the cursor to the search box, so you can quickly perform another search.
  • Japanese-English dictionary allows you to search for English and Japanese words, limiting searches by word type and sorting by popularity. Japanese text can be input as roumaji, and wildcards can be used. By default, exact match searches are performed, but you can prepend and/or append an asterisk to a query. When searching in English, you can add multiple words and it will search for examples containing all of them. You can prefix a word with - to exclude results containing that word. The program also accepts quoted phrases, eg "good morning", but will show an error box if you actually use them. That feature's not implemented yet.
    Mousing over a headword will display information about the kanji in the word, clicking it will show you more details about the word and 50 random example sentences containing it, and right clicking lets you perform other actions. The dictionary tab is accessible by pressing F1. Example searches:
    helloSearch for words having an English meaning that includes "hello".
    good idea -planSearch for words having an English meaning that includes "good" and "idea", but not "plan".
    @konnitihaRoumaji input. A search for the phrase こんにちは.
    こんにちはJapanese input. This should return the same results as above.
    こん*All words starting with こん.
    *こん*All words containing こん.
    @*kon* Same as above. Notice how the asterisk goes after the 'at' symbol, not before.
  • Translation will find words in Japanese text and translate them. I based this feature on Jim Breen's WWWJDIC, but my algorithm for parsing Japanese text is superior. (On the other hand, he has a large dictionary of hand-picked words that he uses to guide his algorithm, so it's better at translating kana than mine is.) The program does not attempt natural language translation. Rather, the program acts as a translation aid by picking out Japanese words in text, even when they are inflected (conjugated), and displaying possible meanings for them. This feature only accepts Japanese text, and is far better at translating natural Japanese text containing many kanji than it is at translating all kana. This tab can be accessed by pressing F2.
  • Example search lets you search examples in both English and Japanese. It accepts the same query syntax as the dictionary search. You can click the T next to a sentence to run the sentence through the translation function. You can access this tab by pressing F3.
  • Study tools are where I have the most missing functionality. You can add words to study lists, create study lists from kanji automatically, and view flash cards from a study list. The flash cards automatically adapt their frequency to show the ones you need more help with more often. This tab is accessible by pressing F4.

Known problems

The selection of text is a bit quirky. I wrote the hypertext document renderer myself and making the selection work correctly while still having high performance was so much work that I didn't do it. So if you want to select a given word, you may have to select a bit more than you want and then remove the extra part.

Credit

The dictionaries used by the program were created using the raw dictionary data from Jim Breen's Japanese page. This program would be useless without the thousands of pages of dictionary data upon which it relies.

Download

Executables: JappyExe.zip (103kb) Release 5 - released June 22nd, 2008
Dictionaries: JappyDicts.zip (35.3 mb) Release 1 - initial release

If you've already downloaded the most recent dictionaries, you can quickly update the executables by simply downloading them and replacing the ones you already have. Otherwise, download both archives and extract them into the same location.

Requirements

Before running Jappy, you will need to install the Microsoft .NET Framework 2.0, if you don't have it already.

Changelog

Release 6 - not yet released

  • Sped up headword queries with wildcards

Release 5 - released June 22nd, 2008

  • Fixed a bug that caused ky[aiueo] to not be recognized by the roumaji to kana converter.
  • Tweaked some buffer sizes for a slight performance improvement

Release 4 - released August 23rd, 2007

  • Added support for "nn" to the roumaji to kana conversion.

Release 3 - released May 28th, 2007

  • Added a Find dialog so you can search for text in the results
  • Fixed the font in the study dialog
  • Fixed a bug in the code to return all dictionary items
  • Fixed the tab order in the advanced search dialog

Release 2 - released May 26th, 2007

  • Fixed a bug that caused the kana parser to not recognize - and ~
  • Implemented support for flash cards

Release 1 - released April 5th, 2007

  • Initial release

Source code

The source code is available here.