aboutsummaryrefslogtreecommitdiff

Yomikun

This project is very much a work in progress. Crossed out text in this document is for features that will be implemented, but aren't. See the dream for ideas/features that are in the works. Documentation is currently also incomplete, but is intended to be fixed before an official 'dev-ready' pre-release.

Yomikun is a spiritual successor to Yomichan, but implemented from scratch. Because Yomichan is no longer maintained, and extension manifest v2 is being deprecated, this project was created. Yomikun aims to provide all the original features of Yomichan, but in a standalone application for tighter integration with OS services and other applications. ~Yomikun has a very flexible extension API~, and aims to provide extra features that help with immersion and sentence mining on top of the base word lookup that Yomichan provided. While Yomikun's scope is larger than Yomichan, it's still focused on Japanese only.

~New features (from Yomichan)~

NONE OF THESE ARE IMPLEMENTED YET

  • standalone server/client architecture for integration outside of browsers
  • text input from other sources than clipboard and manual input
    • integration with accessibility frameworks provided by OSes to extract text from applications without using OCR
    • OCR for games or manga
    • subtitle tracking for video players such as YouTube, Jellyfin and MPV
  • dedicated sentence mining features
  • flexible dictionary editing, importing, exporting, toggling and sharing
  • user dictionaries containing series-specific words or readings of kanji
  • support for front-end UI translations
  • slightly more accurate automatic reading generation
  • bookmark words/sentences
  • support for extensions

Documentation

Some general project structure documentation is done in markdown, but other specific documentation (on algorithms, data structures, etc.) should be done in JSDoc format in the corresponding code files. The documentation also makes frequent references to, and uses terminology from Tae Kim's Japanese grammar guide, which is abbreviated to taekim instead of copying the link into the source code each time. Tae Kim uses slightly different terms for grammatical concepts. The 'Tae Kim-version' of these terms is used for named constants in code. See tags.ts for an overview of relevant grammatical terms for the Yomikun parser.

The dream

Here's a Figma mockup for what the search page could look like (contains questionable content/translations, this image is mainly for illustration purposes)

"the dream"