Skip to content

Latest commit

 

History

History
178 lines (121 loc) · 11.9 KB

README.md

File metadata and controls

178 lines (121 loc) · 11.9 KB

Rikaitan

Get Rikaitan for Firefox Get Rikaitan for Chrome Chat

Visit rikaitan wiki to learn more!

👋 Rikaitan is the successor to Yomichan which was recklessly abandoned by its owner on Feb 26, 2023. Today, The AJATT community owns the project and maintains it. We have made a number of foundational changes to ensure the project stays alive, works on latest browser versions, and is easy to contribute to.

📢 Interested in adding a new language to Rikaitan? See here for thorough documentation!

What is Rikaitan?

Rikaitan turns your web browser into a tool for building language literacy by helping you read texts that would otherwise be too difficult to tackle in a variety of supported languages.

Rikaitan provides powerful features not available in other browser-based dictionaries:

  • 💬 Interactive popup definition window for displaying search results.
  • 🔊 Built-in native pronunciation audio with the ability to add your own custom audio sources.
  • ✍️ Kanji stroke order diagrams are just a click away.
  • 📝 Automatic flashcard creation for the Anki flashcard program via the AnkiConnect plugin.
  • 🔍 Custom search page for easily executing custom search queries.
  • 📖 Support for multiple dictionary formats including EPWING via the Rikaitan Import tool.
  • ✨ Clean, modern code makes it easy for developers to contribute new features and languages.

Term definitions Kanji information Dictionary options Anki options

Project Background

Rikaitan is the successor to Yomichan (migration guide). The original developer quit and deleted Yomichan from extension stores. Our primary objective is to maintain the project, ensuring it remains functional on the most recent browser versions and that any bugs are fixed.

Since this is a distributed effort, we highly welcome new contributors! Feel free to browse the issue tracker, and read our contributing guidelines. If you want to add or improve support for a language, read the documentation on language features. You can also find us on DJT.

Documentation/How To

Please visit the Rikaitan Wiki for the most up-to-date usage documentation.

Developer documentation

Installation

Rikaitan is available for Firefox-based web browsers and Chromium-based web browsers. We recommend LibreWolf as your everyday web browser. Ungoogled-chromium is a good alternative.

Download from Firefox Browser add-ons:

image

Download from Chrome Web Store:

image

Note: chromium-web-store can be used to allow installing extensions directly from Chrome Web Store.

Basic Usage

  1. Click the rikaitan icon Rikaitan button in the browser bar to open the quick-actions popup.

    rikaitan main popup
    • The cog cog button will open the Settings page.
    • The magnifying glass magnifying glass button will open the Search page.
    • The question mark symbol question mark button will open the Information page.
    • The profile icon profile button will appear when multiple profiles exist, allowing the current profile to be quickly changed.
  2. Import the dictionaries you wish to use for term and kanji searches; head over to the dictionary docs to get set up! If you do not have any dictionaries installed or enabled, Rikaitan 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.

    custom dictionaries list
  3. Webpage text can be scanned by moving the cursor while holding a modifier key, which is Shift by default. If definitions are found for the text at the cursor position, a popup window containing term definitions will open. This window can be dismissed by clicking anywhere outside of it.

    popup with search terms
  4. Click on the loudspeaker icon speaker button to hear the term pronounced by a native speaker. If an audio sample is not available, you will hear a short click instead. For more options, see Audio Configuration.

  5. Click on individual kanji in the term definition results to view additional information about those characters, including stroke order diagrams, readings, meanings, and other useful data.

    popup with kanji details

To further enhance your Rikaitan experience, it's worth integrating with Anki, a spaced-repetition flashcard program to help solidify the words you encounter.

Contributing

Since this is a distributed effort, we highly welcome new contributors! Feel free to browse the issue tracker, and read our contributing guidelines.

Here are some ways anyone can help:

  • Try using the Rikaitan dev build. Not only do you get cutting edge features, but you can help uncover bugs and give feedback to developers early on.
  • Document any UI/UX friction in GitHub Issues. We're looking to make Rikaitan more accessible to non-technical users.
  • All the issues in area/bug older than 2 months need help reproducing. If anything interests you, please try to reproduce it and report your results. We can't easily tell if these issues are one-off, have since been resolved, or are no longer relevant.

The current active maintainers of Rikaitan spend a lot of their time debugging and triaging issues. When someone files a bug report, we need to assess the frequency and severity of the bug. It is extremely helpful if we get multiple reports of people who experience a bug or people who can contribute additional detail to an existing bug report.

If you're looking to code, please let us know what you plan on working on before submitting a Pull Request. This gives the core maintainers an opportunity to provide feedback early on before you dive too deep. You can do this by opening a GitHub Issue with the proposal.

Some contributions we always appreciate:

  • Well-written tests covering different functionalities. This includes playwright tests, benchmark tests, and unit tests.
  • Increasing our type coverage.
  • More and better documentation!

Information on how to setup and build the codebase can be found here.

If you want to add or improve support for a language, read the documentation on language features.

Feel free to join us on DJT 🍔.

Building Rikaitan

  1. Install Node.js and npm.

  2. Run npm ci to set up the environment.

  3. Run npm run license-report:html to generate any missing or changed license information.

  4. Run npm run build for a plain testing build or npm run-script build -- --all --version {version} for a release build (replacing {version} with a version number).

  5. The builds for each browser and release branch can be found in the builds directory.

For more information, see Contributing.

Third-Party Libraries

Rikaitan uses several third-party libraries to function. Below are links to homepages, snapshots, and licenses of the exact versions packaged.

Name Installed version License type Link
@zip.js/zip.js 2.7.32 BSD-3-Clause git+https://github.com/gildas-lormeau/zip.js.git
dexie 3.2.4 Apache-2.0 git+https://github.com/dfahlander/Dexie.js.git
dexie-export-import 4.0.7 Apache-2.0 git+https://github.com/dexie/Dexie.js.git
rikaitan-handlebars 1.0.0 MIT n/a
parse5 7.1.2 MIT git://github.com/inikulin/parse5.git
wanakana 5.3.1 MIT git+ssh://[email protected]/WaniKani/WanaKana.git
hangul.js 0.2.6 MIT git+https://github.com/e-/Hangul.js.git