Visit yomitan.wiki to learn more!
👋 Yomitan is the successor to Yomichan (migration guide) which was sunset by its owner on Feb 26, 2023. 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.
📢 New contributors welcome!
📢 Interested in adding a new language to Yomitan? See here for thorough documentation!
Yomitan 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.
Yomitan 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 Yomitan Import tool.
- ✨ Clean, modern code makes it easy for developers to contribute new features and languages.
Please visit the Yomitan Wiki for the most up-to-date usage documentation.
- Dictionaries
- Anki Integration
- Advanced Features
- Troubleshooting
Yomitan comes in two flavors: stable and testing. New changes are initially introduced into the testing version, and after some time spent ensuring that they are relatively bug free, they will be promoted to the stable version. If you are technically savvy and don't mind submitting issues on GitHub, try the testing version; otherwise, the stable version will be your best bet. Check contributing for more information on how to help.
-
Google Chrome
-
Mozilla Firefox
-
Microsoft Edge
- stable
- Testing: Coming soon
※ Unlike Chrome, Firefox does not allow extensions meant for testing to be hosted in the marketplace. You will have to download the desired version and side-load it yourself. You only need to do this once, and you will get updates automatically.
🚀 Dip your toes into contributing by looking at issues with the label good first issue.
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 Yomitan 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 Yomitan 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 Yomitan 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 the Yomitan Discord.
-
Run
npm ci
to set up the environment. -
Run
npm run license-report:html
to generate any missing or changed license information. -
Run
npm run build
for a plain testing build ornpm run-script build -- --all --version {version}
for a release build (replacing{version}
with a version number). -
The builds for each browser and release branch can be found in the
builds
directory.
For more information, see Contributing.
Yomitan uses several third-party libraries to function.
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 |
yomitan-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://git@github.com/WaniKani/WanaKana.git |
hangul.js | 0.2.6 | MIT | git+https://github.com/e-/Hangul.js.git |