[Userscript] WaniKani Kanji Review Vocabulary List

This script feels a bit like cheating and yet like absolutely the right thing to use :thinking: I dread kanji-only reviews and always questioned a bit the benefit of reviewing basically just part of a word, so I appreciate you making this very much - thank you!

I have set to show only unlocked vocabulary, though, because I think for the first few reviews at least it’s better to focus on actual shape recognition but have long term retention work with context.

Possible feature requests (no clue how difficult those are to implement):

  • don’t show list for kun’yomi reviews → I should recognize this kanji on its own
  • hide list by default and toggle list via button and/or hotkey → making it an optional hint system
  • only show list when either reading or meaning is asked? → might be interesting for those who do 1x1 reviews, not sure
3 Likes

I think there is a bug again

1 Like

For this one, I’m not certain if there’s a way for the script itself to know if it’s an kun or on review. Maybe there is, as I don’t know too much about what information is available to scripts.

I’m not certain offhand about implementing hotkeys. I’d have to figure out how to be sure it’s not a hotkey used by something else at the very least. But I can add an option that blurs the text until you move the mouse over the vocabulary bar.

I don’t know the best way to know if it’s asking meaning or reading, but I’ve found a usable method to implement.

I’m unable to reproduce this. Do you know if you were on the latest version of the script at the time? (I figure you probably were.) The worst bugs are the ones I can’t reproduce to determine the source of the issue.

1 Like

I’ve updated the userscript to version 0.4.0:

Updates:

  • Added option to disable vocabulary list for meaning or reading. (See SHOW_FOR_MEANING_REVIEW and SHOW_FOR_READING_REVIEW options.)
  • Added an option to blur vocabulary until hovered with the mouse pointer. (See BLUR_VOCABULARY_LIST option.)
  • Fixed code that was causing incompatibility with Reorder Omega.

Disclaimer: As per usual, all options are stored directly in the code. If you’ve changed any options, you’ll have to set them again after updating.

3 Likes

Isn’t there already a userscript that gives you a hint when you got no idea? @ChristopherFritz Maybe a combination could be useful, where the vocab only show’s up, after you toggle it or something when you got no idea on your own.
EDIT: just read the update that you already did that. Maybe I should finish reading a thread before I reply. ^^’

Remembering kanji by vocabulary is something I’m doing quite often on my own, which is why the combination of kanji/vocab from WK works so well for me. But as @rfindley said, I’d also be worried for myself, that I’d start having trouble recognizing the kanji by themselves and therefore in any new kanji-combinations from vocab I don’t yet know.

1 Like

There’s a script that turns the on’yomi into katakana, so there should be a way to recognize it (if it wasn’t all manually put into the file).

1 Like

The new option to blur until mouse-over is in this direction, so there is that.

This is definitely an understandable concern.

For me, I’m not able to learn the kanji in isolation very well. But if it’s in words that I see when reading, it’s a lot easier for me. From there, I start to notice the same kanji used in other words.

Results will definitely vary between different types of learners.

I do recall seeing mention of that script. I’ll have to check it out sometime to see what they’re using.

At the very learn, I expect the API makes it clear what answers are valid, as well as which answers on on, kun, etc. So checking to see which list the expected answer is in may also be a viable implementation if there isn’t something better available.

just checked it: the outdated one was called “Katakana Madness”, the one that’s currently up to date is “Katakana for On’yomi”.

1 Like

The current item in $.jStorage.get('currentItem') has a .emph propery. I’m not sure what its intended purpose is, but it seems to always say either kunyomi or onyomi for kanji

1 Like

It’s the reading category that WK emphasizes for that kanji. So, any of the readings in the corresponding category (on, kun, or nanori) will be accepted in the kanji review.

2 Likes

And just like that, version 0.5.4 appears.

Updates:

Reading Review: Only Show Vocabulary Matching Reading Type

When doing reading reviews, vocabulary words are now only shown if they share the readings being asked for.

Example

Here, 細い and 細かい are not displayed because they don’t use the さい reading. Only vocabulary using the reading さい or rendaku’d ざい are shown.

If you prefer that all words show regardless of reading, you can turn this feature off (change the setting to false):

// Only show vocabulary with a reading matching the readings WaniKani is asking for (kunyomi, onyomi, or nanori).
const MATCH_VOCABULARY_READING_TO_KANJI_ANSWER = true

Note: Due to implementation, if a vocabulary word uses the expected reading as part of the word other than the kanji being reviewed, it will still show.

Reading Review: Hide Vocabulary Based on Answer’s Reading Type

You can now exclude the list for kanji based on the reading type of the answer. Do so by changing the appropriate setting to false.

// Show vocabulary words for kanji based on reading WaniKani is asking for.  Must be true or false.
const SHOW_FOR_KUNYOMI = true
const SHOW_FOR_ONYOMI = true
const SHOW_FOR_NANORI = true

Disclaimer

Once again, all options are in the source code, so updating wipes out any you’ve changed.

3 Likes

and to think this started out as a side project that you never intended to post/maintain and make this resplendent :wink:

it’s much appreciated by so many of us!!

2 Likes

It’s so almost kind of maintained now that I even decided to put it on my otherwise empty GitHub account, just so I’d have something on there.

(My work Github account on the other hand has millions of lines of code I’ve written, but that’s not public.)

2 Likes

Works great - amazing! Thank you! :crabigator:

I’ve been using this for a while now and I love the idea, but I’m having problems with missing inputs when it tries to load the vocabularies for the next reviews. I think it would be way better if it loaded everything before answering the first review. Maybe take inspirations from @skatefriday’s code? The concepts seem similar so I don’t know if you could do that [Userscript] Simple Show Context Sentence

This one is difficult for me, as I’m not certain of any way to reliably (or even unreliably) reproduce it, so I don’t know where specifically the issue occurs.

Is it potentially happening on any review, or only after ten reviews? (I’m not familiar with whether WaniKani adds in a new review after one is completed within a session, or if it waits until a set of ten is completed before fetching another set of ten.)

Every time an item is completed (reading and meaning), another item is pulled from the end of reviewQueue and placed at the end of activeQueue.

1 Like

It happens for me almost every time this box appears for a second or two and breaks the flow of the review

It seems to be kind of random, I annotated the first 4 times it happened and it was after reviews 2, 4, 14 and 18 so it happens a lot in a session

Just for reference, the Open Framework is what displays that pop-up if a server request (on behalf of a script) takes more than 1sec to complete. It’s interesting that it’s happening on the ‘subjects’ info, because that should generally be coming from browser cache after the first time loading from the server. I wonder if your cache is messed up… :thinking:

2 Likes

Should I try to delete the browser cache?