KanKan: kanji-component-aware online Japanese dictionary

So KanKan does this one thing that I can’t figure out why.
If I look up, say, 反芻 and open the details of the search:

When I click the list of English definitions, sometimes it copies the whole list (rumination; regurgitation; chewing the cud; turning over in one’s mind; thinking over (something); pondering; musing; rumination (about a subject)) and sometimes a clipped list (rumination; regu…).
I feel like the first time it’s the whole list, and then it’s the clipped list, is that right?

I’ll look into it but it may not be until the week after next because I don’t have a computer with me at the moment and I’m not debugging code from my phone…

Alright I’ll check if I can spot something in the code source then.
I think it’s in ts/kankan.ts


But the funny thing is that it doesn’t always slices, only if I click again I think. So maybe a timing issue? For the record, I actually prefer that it doesn’t slice at all, so you can just delete the if statement and I’m happy again :stuck_out_tongue:

I actually noticed some weird event bubbling, but I assumed my IME played a role. The click handling is definitely a bit janky artisanal.

Could a progressive web app (PWA) be done? I don’t have experience myself, but I think a few hundred MB can be downloaded after clicking to install. Depending on how much of the code is on client side.

That could be worth a try!

EDIT: sadly it looks like desktop Firefox doesn’t support that. But at any rate it would still work like a normal web page.


I wonder how it happened that definition 2 and 5 are the same? is it taking from several dictionaries or the one dictionary has a mistake?

:person_shrugging:

I see. Technically, “person given as a reference; witness​” != “witness” I guess

Yes maybe I should look at JMdict to see how these entries are grouped and reproduce it in my output.

Or filter out duplicates

Getting a 502 bad gateway error on the site :confused:

Oops, looks like the update I did earlier didn’t go so well. I’m looking into it.

Should be online now.

Yay, thanks! Got worried I would have to use the radical lookups on jisho again :fearful:

If you don’t mind sharing, what service(s) do you use for hosting and domains and how much do they charge you? I haven’t seen ads on the site but I’m not sure if it’s freely hosted or not.

I clicked on this tread randomly. I love this!!!

Just a cheap vps. Costs me a few euros a month.

ごめん, i just restarted from a long hibernation

I was actually always super interested in making a native Android clone of KanKan in Kotlin & Compose, but life never gave way (nor does it seem to be on the horizon anytime soon :frowning:)

Even Kantan News has been abandoned for a while, and is now broken for more than a month as NHK changed their private APIs…

I’ll definitely be in touch if / when I finally get around to it :grinning_face_with_smiling_eyes:

cool stuff

One cool thing about the modern Android tech stack is that porting it to iOS and Desktop would literally just be updating project config (and some minor code changes), thanks to JetBrains heavily investing in Kotlin and Compose Multiplatform.

In fact many would even recommend starting most new Android apps as multiplatform projects, even if you don’t intend to support iOS at the start, so the moment you do, you’re almost just flipping a switch.

FWIW I suggested a tweak to the jmdict 参考人 entry to fix this, and it has now been overhauled (in a much better and more comprehensive fashion than what I suggested) so it no longer has this odd duplication of “witness”:

参考人
【 さんこうにん 】

  1. [n] {law}
    :play_button: invited witness
    :play_button: unsworn witness
  2. [n] {law}
    :play_button: person of interest
    :play_button: voluntary interviewee
  3. [n] {law}
    :play_button: expert advisor
    :play_button: consultative expert