Yomichan

anki anki-connect chrome firefox gpl license japanese web yomichan

Yomichan turns your web browser into a tool for building Japanese language literacy by helping you to decipher texts which would be otherwise too difficult tackle. This extension is similar to Rikaichan for Firefox and Rikaikun for Chrome, but it stands apart in its goal of being a all-encompassing learning tool as opposed to a mere browser-based dictionary.

Yomichan provides advanced features not available in other browser-based dictionaries:

Downloads

Dictionaries

There are three free Japanese dictionaries available for Yomichan, with two of them having versions with glossaries in different languages. You must download and import the dictionaries you wish to use in order to enable Yomichan definition lookups. If you have proprietary EPWING dictionaries that you would like to use, please see the Yomichan Import page to learn how to convert and import them into Yomichan.

Basic Usage

  1. Click on the icon in the browser toolbar to open the Yomichan actions dialog.

    Actions dialog

  2. Click on the monkey wrench icon in the middle to open the options page.

  3. Import the dictionaries you wish to use for term and Kanji searches. If you do not have any dictionaries installed (or enabled), Yomichan will warn you that it is not ready for use by displaying an orange exclamation mark over its icon. This exclamation mark will disappear once you have installed and enabled at least one dictionary.

    Dictionary importer

  4. Hold down the Shift key or the middle mouse button as you move your mouse over text to display a popup window containing term definitions. This window will only be shown if definitions were found and it can be dismissed by clicking anywhere outside of it.

    Term search results

  5. Click on the icon to hear the term pronounced by a native speaker. If an audio sample is not available, you will hear a short click instead.

  6. Click on individual Kanji in the term definition results to view additional information about those characters including readings, meanings, and a stroke order diagram.

    Kanji search results

Custom Dictionaries

Yomichan supports the use of custom dictionaries including the esoteric but popular EPWING format. They were often utilized in portable electronic dictionaries similar to the ones pictured below. These dictionaries are often sought after by language learners for their correctness and excellent coverage of the Japanese language.

Unfortunately, as most of the dictionaries released in this format are proprietary I am unable to bundle them with Yomichan. You will need to procure these dictionaries yourself and import them with Yomichan Import. Please see the project page for additional details.

Pocket EPWING dictionaries

Anki Integration

Yomichan features automatic flashcard creation for Anki, a free application designed to help you retain knowledge. This feature requires the prior installation of an Anki plugin called AnkiConnect. Please see the respective project page for more information about how to set up this software.

Flashcard Configuration

Before flashcards can be automatically created, you must configure the templates used to create term and/or Kanji notes. If you are unfamiliar with Anki deck and model management, this would be a good time to reference the Anki Manual. In short, you must specify what information should be included in the flashcards that Yomichan creates through AnkiConnect.

Flashcard fields can be configured with the following steps:

  1. Open the Yomichan options page and scroll down to the section labeled Anki Options.
  2. Tick the checkbox labeled Enable Anki integration (Anki must be running with AnkiConnect installed).
  3. Select the type of template to configure by clicking on either the Terms or Kanji tabs.
  4. Select the Anki deck and model to use for new creating new flashcards of this type.
  5. Fill the model fields with markers corresponding to the information you wish to include (several can be used):

    Markers for Term Cards

    MarkerDescription
    {audio}Audio sample of a native speaker’s pronunciation in MP3 format (if available).
    {cloze-body}Raw, inflected term as it appeared before being reduced to dictionary form by Yomichan.
    {cloze-prefix}Text for the containing {sentence} from the start up to the value of {cloze-body}.
    {cloze-suffix}Text for the containing {sentence} from the value of {cloze-body} to the end.
    {dictionary}Name of the dictionary from which the card is being created (unavailable in grouped mode).
    {expression}Term expressed as Kanji (will be displayed in Kana if Kanji is not available).
    {furigana}Term expressed as Kanji with Furigana displayed above it (e.g. 日本語にほんご).
    {glossary}List of definitions for the term (output format depends on whether running in grouped mode).
    {reading}Kana reading for the term (empty for terms where the expression is the reading).
    {sentence}Sentence, quote, or phrase in which the term appears in the source content.
    {tags}Grammar and usage tags providing information about the term (unavailable in grouped mode).
    {url}Address of the web page in which the term appeared in.

    Markers for Kanji Cards

    MarkerDescription
    {character}Unicode glyph representing the current Kanji.
    {cloze-body}Raw, inflected parent term as it appeared before being reduced to dictionary form by Yomichan.
    {cloze-prefix}Text for the containing {sentence} from the start up to the value of {cloze-body}.
    {cloze-suffix}Text for the containing {sentence} from the value of {cloze-body} to the end.
    {dictionary}Name of the dictionary from which the card is being created.
    {glossary}List of definitions for the Kanji.
    {kunyomi}Kunyomi (Japanese reading) for the Kanji expressed as Katakana.
    {onyomi}Onyomi (Chinese reading) for the Kanji expressed as Hiragana.
    {sentence}Sentence, quote, or phrase in which the character appears in the source content.
    {url}Address of the web page in which the Kanji appeared in.

When creating your model for Yomichan, please make sure that you pick a unique field to be first; fields that will contain {expression} or {character} are ideal candidates. Anki does not require duplicate flashcards to be added to a deck and uses the first field in the model to check for duplicates. If, for example, you have {reading} configured to be the first field in your model and already have はし in your deck, you will not be able to create a flashcard for はし, because they share the same reading.

Flashcard Creation

Once Yomichan is configured, it becomes trivial to create new flashcards with a single click. You will see the following icons next to term definitions.

Below are some troubleshooting tips you can try if you are unable to create new flashcards:

Keyboard Shortcuts

The following shortcuts are globally available:

ShortcutAction
Alt + InsertOpen search page.
Alt + DeleteToggle extension on/off.

The following shortcuts are available on search results:

ShortcutAction
EscCancel current search
Alt + PgUpPage up through results.
Alt + PgDnPage down through results.
Alt + EndGo to last result.
Alt + HomeGo to first result.
Alt + UpGo to previous result.
Alt + DownGo to next result.
Alt + bGo to back to source term.
Alt + eAdd current term as expression to Anki.
Alt + rAdd current term as reading to Anki.
Alt + pPlay audio for current term.
Alt + kAdd current Kanji to Anki.

Development

Working on Yomichan and related tools is very time consuming and I am always on the lookout for code contributions from other developers who want to help out. I take pride in the high quality of the codebase and ask you to follow the following basic guidelines when creating pull requests:

Templates

Yomichan uses Handlebars templates for user interface and Anki note formatting. The source templates are found in the tmpl directory and the compiled version is stored in the ext/bg/js/templates.js file. If you modify the source templates, you will need to also recompile them. If you are developing on Linux or Mac OS X, you can use the included build_tmpl.sh and build_tmpl_auto.sh (requires inotify-tools) shell scripts to do this for you. Otherwise, simply execute handlebars tmpl/*.html -f ext/bg/js/templates.js from the project’s base directory.

Dependencies

Yomichan relies on several third-party libraries to function. The following are links to homepages and snapshots of the exact versions used for distribution.

Frequently Asked Questions

Screenshots

Term definitions Kanji information Dictionary options Anki options

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.