Kanji Club: Search Kanji by Parts with Instant Feedback
dampfkraft.com
dampfkraft.com
Personally, I've never gone ahead and made my own Japanese learning app or anything like that, but while studying I do pretty regularly think, "man, this would be so much better if it did X; I wish I had an app to do Y", etc., etc.
Because of Western attitudes towards Japanese pop culture, a lot of people learning Japanese are...well, they're gonna be kinda nerdy, frankly. And that means they're more likely than average to have the sort of skills that allow them to build (software) tools to help them study.
Throw in that learning Japanese, at least for Westerners, is a monumental task mostly driven by intellectual curiosity (rather than for, say, economic opportunities), it'll attract the sort of ambitious and intellectually curious people that'll actually endeavour to make their own tools, with the necessary skills to do it.
Whoa, you nailed it here. Never thought of it this way.
I don't know about that. It certainly seems common amongst the programmer crowd. But I've found that there's plenty of people capable of doing the "5 hours of routine work" without ever thinking "If I spend like 4 hours engineering this weird hack, then I might get this done really fast" (and then of course ending up wasting days trying to get it to work)
This is more or less exactly why, despite having played with a lot of different tools, I always come back to Anki. The UI is irritatingly unpolished, and it's difficult to learn well, but it's also the only tool out there that's open and flexible enough that I can easily experiment with and tweak what I'm doing without disrupting my overall learning process overmuch.
I've certainly nerdsniped myself a few times, especially when I'm trying to build something from the ground up because I'm currently toying with some other app. With Anki, though, most of my "app to do Y" ends up just being a Jupyter notebook that I hacked together in less than an hour.
I modified this to use the missed reviews on kanjikoohi at the difficulty factor to define the optimal path to learn the parts of kanji. https://github.com/scriptin/topokanji
This one shows the parts in a sematic web type view. https://github.com/kanji-graph/kanji-graph
From the about page, it seems that it's using Wikimedia data: https://commons.wikimedia.org/wiki/Commons:Chinese_character... .
To add to your comment, there's also RADKFILE/KRADFILE, which is used by a lot of Japanese dictionaries out there (including jisho.org), and also IDS (Ideographic Description Sequence) data: https://github.com/cjkvi/cjkvi-ids . The latter, I believe, is not meant for general lookup, but nonetheless can be quite informative, such as identifying semantic/phonetic components.
But no. It's literally one of the basic features of every kanji/hanzi dictionary.
Now I'm still using the same algorithm, but I do everything manually. It takes time but I found that the flashcard customization aspect makes the memorization easier.
It's not just yak shaving though, some programming skills can be really useful when dealing with vocab lists etc..
https://kanji.sljfaq.org/skip-help.html https://kanji.sljfaq.org/skip.html
For example, say we have the kanji 訓. For a SKIP-based lookup, you'd see this as 言|川, and you probably know that's 7 and 3 strokes. Whereas with this approach, you could type in the parts, e.g. いう (backspace) to get 言 and かわ to get 川. A lot faster when kanji have many parts or you're not so sure about the stroke counts. Yes, SKIP would be more helpful if you don't know the parts.
Other such methods, such as the more popular Cangjie [2] or Boshiamy [3], mix shape, stroke order and sound.
I suppose no such methods exist to write Japanese?
[1]: https://zh.wikipedia.org/wiki/%E8%A1%8C%E5%88%97%E8%BC%B8%E5...
I think in some IMEs you can search kanji by radicals, but you have to type the radicals phonetically first.
And for such a large table once again it is hard. Should have studied the chinese inout method and use the 26 keys instead of a table.
Anyway also interest the web site and how the Json work ...
I only learnt Mandarin Chinese for a few months, but I did find the app "Pleco". The most useful parts are the handwriting recognition -- which worked even on my beginner-writing -- and the live OCR.
But there's also an "assemble the character from bits" thing[2], though it relies on you knowing how many strokes are in each component. I use(d) it occasionally when I couldn't use OCR, as it was fairly slow (and inexact) for me to count strokes.
[2] https://i.imgur.com/lvm0Uln.png (I only pressed 木. 夏 has 10 strokes, and 榎 is listed further down in the ⑩ section, with 45 other characters, presumably in an order)
so far quite successfully use this for Japanese doc for reading abd studying : Nihongo it is expensive but doing ocr a bit it helps a lot of doing my homework. (Not as good as it does do live ocr like Pleco.)
I wonder whether those sharp and Casio ... but they do not do ocr.
日本語はちょっと書きにくい。
It would make no sense to switch between phonetic input and writing Kanji by pieces, so instead purely phonetic IMEs are used.
Pleco has said they’ve looked into producing an app for Japanese, but apparently all the good dictionaries and handwriting engines are locked up in exclusive deals with publishers and denshi Jisho.
We are starting to see handwriting engines that are good and not in exclusive licenses, but the technology to for it has existed for decades.
(Explanation: U puts it into component mode, then mu = 木 and xia = 夏)
It's a bit more finicky than OP's version though because the order is important, uxiamu won't give you any useful results.
[1]: https://f-droid.org/en/packages/ch.seto.kanjirecog/
[2]: "Note that this will NOT work - at all - if you don't know basically how to draw kanji. If you just draw something any old way that looks like it, it certainly won't be recognised."
One suggestion - when clicking an element on the top page, you might consider treating that as "add this element to the search string", rather than as "show the search results for this element". The idea being, many users won't offhand know how to get their IME to produce characters like 亅 or 乚 or 儿, so they'll probably click on such elements, intending to then refine their search.
Edit: second piece of feedback - there are a couple of cases where katakana are used to refer to certain radicals, and it would be an easy usability improvement to alias those characters. E.g. ル→儿、ウ→宀 and so on.
One of the most common characters in (simplified) Chinese? It's number 192 in this dataset - http://hanzidb.org/character-list/by-frequency?page=2 - among company like 老、门、先、立、比...
Not to mention it literally defines 儿话.
For the first piece of feedback, I have had other people request that, but I am not sure how to balance it with having detailed kanji pages. One thing to note is that while it is less convenient, on the detailed kanji page there is a link to "search this kanji" - I use that when I know a character that contains the part I want, but can't remember the name of the part itself.
BTW, this kind of search is common in 電子辞書. Mine is almost 20 years old and has a 部品読み search.
I had heard of 電子辞書 having this feature, but I've never actually used one. Glad to see that 部品 was the right word, I had been kind of uncertain about that and gotten feedback about it.
They don't look identical, but the radical is often referred to that way, e.g. when describing a kanji over the phone. Also same thing with ワ and 冖.
Thank you for citing your sources too. As others have mentioned, much of the fun of learning is developing the tools, and this thread helps fill a gaping hole in mine.
Anyway I've been using this: https://kanji.sljfaq.org/mr-old.html
as my daily driver and while it looks kind of dated, it's rock solid.
What I'm still searching for though is a table of jōyō kanji with their uniquely identifying radicals.
I.e. search for 人 and one of the results will be 囚 since it has 人 in it.
[1] https://play.google.com/store/apps/details?id=com.craxic.ake...
I see this is using a different approach, so I look forward to trying it out!
I've more recently started just using the google IME handwriting input, which is using some ML magic that lets it be extremely fuzzy about stroke order/count, relative placement, etc and I think must incorporate some sort of image/bitmap based recognition that many ones do not. E.g. you can I imagine it wouldn't be as useful for chinese, but for Japanese is works quite well.
You can use it on android and on the google translate website.