aboutsummaryrefslogtreecommitdiff
path: root/readme.md
blob: 7cde01213b11fbf2a45ec7eb65085b242c621889 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 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](#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][taekim], 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](search/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"](assets/the-dream.png)

[taekim]: https://guidetojapanese.org/learn/