halkyon/halkyon_learn_curator/test/fixtures/jmdict-eng-sample.json
Tizian 「ティツィアーン」 a875a91f40
feat(curator): turn JMdict and the JLPT lists into dictionary files
A package of its own in the workspace, without Serverpod (AGPL, like the
tooling): an adapter per source writes one format for all, documented in
its README, which the server will load. The format is JSON Lines: a
header (source, version, languages, licence, credits), then entries with
a headword and reading, labels (`common`, `jlpt:n5`), a rank, the keys a
search matches, and the entry as cards take it. Everything specific to a
language happens in its adapter (Japanese: forms, readings in kana and
Hepburn romaji, long vowels typed once, meanings without "to" and
articles), so the server's search knows no language.

JMdict comes as jmdict-simplified's JSON, read one entry at a time: all
218,863 entries in some 20 seconds and 300 MB, 16.8 MB gzipped. The JLPT
lists (yomitan-jlpt-vocab, CC BY-SA 4.0, from Waller's CC BY lists) add
levels by JMdict entry, the easiest when a word is on several, and give
the headword its common spelling. Words rank N5 to N1, then the other
common words, then the rest.

The server's image leaves the package out, as it does the client's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-09 18:09:25 +02:00

1 line
No EOL
5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version": "3.6.2", "languages": ["eng"], "commonOnly": false, "dictDate": "2026-10-05", "dictRevisions": ["1.09", "1.08", "1.07", "1.06", "1.05", "1.04"], "tags": {"v1": "Ichidan verb", "vt": "transitive verb", "n": "noun (common) (futsuumeishi)", "adj-no": "nouns which may take the genitive case particle 'no'", "sK": "search-only kanji form", "rK": "rarely used kanji form", "uk": "word usually written using kana alone"}, "words": [{"id": "1358280", "kanji": [{"common": true, "text": "食べる", "tags": []}, {"common": false, "text": "喰べる", "tags": ["sK"]}], "kana": [{"common": true, "text": "たべる", "tags": [], "appliesToKanji": ["*"]}], "sense": [{"partOfSpeech": ["v1", "vt"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "to eat"}]}, {"partOfSpeech": ["v1", "vt"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "to live on (e.g. a salary)"}, {"lang": "eng", "gender": null, "type": null, "text": "to live off"}, {"lang": "eng", "gender": null, "type": null, "text": "to subsist on"}]}]}, {"id": "1080510", "kanji": [], "kana": [{"common": true, "text": "テレビ", "tags": [], "appliesToKanji": ["*"]}], "sense": [{"partOfSpeech": ["n"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [["テレビジョン"]], "antonym": [], "field": [], "dialect": [], "misc": ["abbr"], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "television"}, {"lang": "eng", "gender": null, "type": null, "text": "TV"}]}, {"partOfSpeech": ["n"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "TV program"}, {"lang": "eng", "gender": null, "type": null, "text": "TV programme"}, {"lang": "eng", "gender": null, "type": null, "text": "TV broadcast"}]}]}, {"id": "1447690", "kanji": [{"common": true, "text": "東京", "tags": []}, {"common": false, "text": "東亰", "tags": ["rK"]}], "kana": [{"common": true, "text": "とうきょう", "tags": [], "appliesToKanji": ["*"]}, {"common": false, "text": "とうけい", "tags": ["ok"], "appliesToKanji": ["*"]}], "sense": [{"partOfSpeech": ["n"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "Tokyo"}]}]}, {"id": "1579470", "kanji": [{"common": true, "text": "四", "tags": []}, {"common": false, "text": "4", "tags": []}, {"common": false, "text": "肆", "tags": []}], "kana": [{"common": true, "text": "し", "tags": [], "appliesToKanji": ["*"]}, {"common": true, "text": "よん", "tags": [], "appliesToKanji": ["四"]}, {"common": false, "text": "よ", "tags": [], "appliesToKanji": ["四"]}], "sense": [{"partOfSpeech": ["num"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": ["肆 is used in legal documents"], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "four"}, {"lang": "eng", "gender": null, "type": null, "text": "4"}]}]}, {"id": "1601040", "kanji": [{"common": true, "text": "歯磨き", "tags": []}, {"common": false, "text": "歯みがき", "tags": ["sK"]}, {"common": false, "text": "歯磨", "tags": ["sK"]}], "kana": [{"common": true, "text": "はみがき", "tags": [], "appliesToKanji": ["*"]}], "sense": [{"partOfSpeech": ["n", "vs", "vi"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "dental brushing"}, {"lang": "eng", "gender": null, "type": null, "text": "brushing one's teeth"}]}, {"partOfSpeech": ["n"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "dentifrice"}, {"lang": "eng", "gender": null, "type": null, "text": "toothpaste"}, {"lang": "eng", "gender": null, "type": null, "text": "tooth powder"}]}]}, {"id": "1000040", "kanji": [{"common": false, "text": "〃", "tags": []}], "kana": [{"common": false, "text": "おなじ", "tags": [], "appliesToKanji": ["*"]}, {"common": false, "text": "おなじく", "tags": [], "appliesToKanji": ["*"]}], "sense": [{"partOfSpeech": ["n"], "appliesToKanji": ["*"], "appliesToKana": ["*"], "related": [], "antonym": [], "field": [], "dialect": [], "misc": [], "info": [], "languageSource": [], "gloss": [{"lang": "eng", "gender": null, "type": null, "text": "ditto mark"}]}]}]}