Pop-up dictionary browser extension for language learning. Successor to Yomichan. (PERSONAL FORK)
1# Yomitan
2
3[>)](https://chrome.google.com/webstore/detail/yomitan/likgccmbimhjbgkjambclfkhldnlhbnn)
4[>)](https://addons.mozilla.org/en-US/firefox/addon/yomitan/)
5[](https://microsoftedge.microsoft.com/addons/detail/yomitan/idelnfbbmikgfiejhgmddlbkfgiifnnn)
6[](https://securityscorecards.dev/viewer/?uri=github.com/yomidevs/yomitan)
7
8[](https://discord.gg/YkQrXW6TXF)
9
10# Visit [yomitan.wiki](https://yomitan.wiki) to learn more!
11
12:wave: **Yomitan is [the successor](https://foosoft.net/posts/passing-the-torch-to-yomitan/) to Yomichan** ([migration guide](https://yomitan.wiki/yomichan-migration/)) which was [sunset](https://foosoft.net/posts/sunsetting-the-yomichan-project/) 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**.
13
14📢 **New contributors [welcome](#contributing)!**
15
16📢 **Interested in adding a new language to Yomitan? See [here](./docs/development/language-features.md) for thorough documentation!**
17
18## What is Yomitan?
19
20Yomitan 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](https://yomitan.wiki/supported-languages/).
21
22Yomitan provides powerful features not available in other browser-based dictionaries:
23
24- 💬 Interactive popup definition window for displaying search results.
25- 🔊 Built-in native pronunciation audio with the ability to add your own [custom audio sources](https://yomitan.wiki/advanced/#default-audio-sources).
26- ✍️ Kanji stroke order diagrams are just a click away.
27- 📝 [Automatic flashcard creation](https://yomitan.wiki/anki/) for the [Anki](https://apps.ankiweb.net/) flashcard program via the [AnkiConnect](https://foosoft.net/projects/anki-connect) plugin.
28- 🔍 Custom search page for easily executing custom search queries.
29- 📖 Support for multiple dictionary formats including [EPWING](https://ja.wikipedia.org/wiki/EPWING) via the [Yomitan Import](https://github.com/yomidevs/yomitan-import) tool.
30- ✨ Clean, modern code makes it easy for developers to [contribute](#contributing) new features and languages.
31
32[](img/ss-terms.png)
33[](img/ss-kanji.png)
34[](img/ss-dictionaries.png)
35[](img/ss-anki.png)
36
37## Documentation/How To
38
39**Please visit the [Yomitan Wiki](https://yomitan.wiki) for the most up-to-date usage documentation.**
40
41### Developer Documentation
42
43- Dictionaries
44 - 🛠️ [Making Yomitan Dictionaries](./docs/making-yomitan-dictionaries.md)
45- Anki Integration
46 - 🔧 [Anki handlebar templates](./docs/templates.md)
47- Advanced Features
48- Troubleshooting
49 - 🕷️ [Known browser bugs](./docs/browser-bugs.md)
50
51## Installation
52
53Yomitan 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](https://github.com/yomidevs/yomitan/issues/new/choose) on GitHub, try the _testing_ version; otherwise, the _stable_ version will be your best bet. Check [contributing](#contributing) for more information on how to help.
54
55- **Google Chrome**
56
57 - [stable](https://chrome.google.com/webstore/detail/yomitan/likgccmbimhjbgkjambclfkhldnlhbnn)
58 - [testing](https://chrome.google.com/webstore/detail/yomitan-development-build/glnaenfapkkecknnmginabpmgkenenml)
59
60- **Mozilla Firefox**
61
62 - [stable](https://addons.mozilla.org/en-US/firefox/addon/yomitan/)
63 - [testing](https://github.com/yomidevs/yomitan/releases) ※
64
65- **Microsoft Edge**
66 - [stable](https://microsoftedge.microsoft.com/addons/detail/yomitan/idelnfbbmikgfiejhgmddlbkfgiifnnn)
67 - Testing: Coming soon
68
69※ 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.
70
71## Contributing
72
73🚀 **Dip your toes into contributing by looking at issues with the label [good first issue](https://github.com/yomidevs/yomitan/issues?q=is%3Aissue+is%3Aopen+label%3A%22gоοd+fіrst+іssսe%22).**
74
75Since this is a distributed effort, we **highly welcome new contributors**! Feel free to browse the [issue tracker](https://github.com/yomidevs/yomitan/issues), and read our [contributing guidelines](./CONTRIBUTING.md).
76
77Here are some ways anyone can help:
78
79- 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.
80- Document any UI/UX friction in GitHub Issues. We're looking to make Yomitan more accessible to non-technical users.
81- 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.
82
83> 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.
84
85If 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.
86
87Some contributions we always appreciate:
88
89- Well-written tests covering different functionalities. This includes [playwright tests](https://github.com/yomidevs/yomitan/tree/master/test/playwright), [benchmark tests](https://github.com/yomidevs/yomitan/tree/master/benches), and unit tests.
90- Increasing our type coverage.
91- More and better documentation!
92
93Information on how to setup and build the codebase can be found [here](./CONTRIBUTING.md#setup).
94
95If you want to add or improve support for a language, read the documentation on [language features](./docs/development/language-features.md).
96
97Feel free to join us on the [Yomitan Discord](https://discord.gg/YkQrXW6TXF).
98
99## Building Yomitan
100
1011. Install [Node.js](https://nodejs.org/) and [npm](https://www.npmjs.com/).
102
1032. Run `npm ci` to set up the environment.
104
1053. Run `npm run license-report:html` to generate any missing or changed license information.
106
1074. 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).
108
1095. The builds for each browser and release branch can be found in the `builds` directory.
110
111For more information, see [Contributing](./CONTRIBUTING.md#setup).
112
113## Third-Party Libraries
114
115Yomitan uses several third-party libraries to function.
116
117<!-- The following table is generated using the command `npm run license-report:markdown`. -->
118
119| Name | License type | Link |
120| :------------------ | :----------- | :--------------------------------------------------------------------- |
121| @resvg/resvg-wasm | MPL-2.0 | git+ssh://git@github.com/yisibl/resvg-js.git |
122| @zip.js/zip.js | BSD-3-Clause | git+https://github.com/gildas-lormeau/zip.js.git |
123| dexie | Apache-2.0 | git+https://github.com/dexie/Dexie.js.git |
124| dexie-export-import | Apache-2.0 | git+https://github.com/dexie/Dexie.js.git |
125| hangul-js | MIT | git://github.com/e-/Hangul.js.git |
126| kanji-processor | n/a | https://registry.npmjs.org/kanji-processor/-/kanji-processor-1.0.2.tgz |
127| parse5 | MIT | git://github.com/inikulin/parse5.git |
128| yomitan-handlebars | MIT | n/a |
129| linkedom | ISC | git+https://github.com/WebReflection/linkedom.git |
130
131## Attribution
132
133`fallback-bloop.mp3` is provided by [UNIVERSFIELD](https://pixabay.com/sound-effects/error-8-206492/) and licensed under the [Pixabay Content License](https://pixabay.com/service/license-summary/).