Skip to content
This repository was archived by the owner on Feb 9, 2023. It is now read-only.
/ jamdict Public archive
forked from neocl/jamdict

Jamdict - A Python library Japanese dictionary empowered by JMDict & KanjiDic2 by Jim Breen

License

Notifications You must be signed in to change notification settings

reem-codes/jamdict

 
 

Repository files navigation

Python library for manipulating Jim Breen's JMdict & KanjiDic2

Main features

  • Query JMDict and KanjiDic2 in XML format directly (but slow)
  • Convert JMDict and KanjiDic2 into SQLite format for faster access
  • Basic console lookup tool
  • jamdol (jamdict-online) - REST API using Python/Flask (jamdol-flask)

Installation

Homepage: https://github.com/neocl/jamdict

pip install jamdict
# pip script sometimes doesn't work properly, so you may want to try this instead
python3 -m pip install jamdict

# initial setup (this command will create ~/.jamdict for you
# it will also tell you where to copy the data files
python3 -m jamdict.tools info

# to look up a word using command line
python3 -m jamdict.tools lookup たべる
========================================
Found entries
========================================
Entry: 1358280 | Kj:  食べる, 喰べる | Kn: たべる
--------------------
1. to eat ((Ichidan verb|transitive verb))
2. to live on (e.g. a salary)/to live off/to subsist on

========================================
Found characters
========================================
Char: 食 | Strokes: 9
--------------------
Readings: shi2, si4, sig, sa, 식, 사, Thực, Tự, ショク, ジキ, く.う, く.らう, た.べる, は.む
Meanings: eat, food
Char: 喰 | Strokes: 12
--------------------
Readings: shi2, si4, sig, 식, Thặc, Thực, Tự, く.う, く.らう
Meanings: eat, drink, receive (a blow), (kokuji)

Data

XML files (JMdict_e.xml, kanjidic2.xml) must be downloaded and copy into ~/.jamdict/data

I have mirrored these files to Google Drive so you can download there too: https://drive.google.com/drive/folders/1z4zF9ImZlNeTZZplflvvnpZfJp3WVLPk

Official website

Sample codes

>>> from jamdict import Jamdict
>>> jmd = Jamdict()
>>> jmd.lookup('食べる')
'Entries: たべる(食べる):1. to eat2. to live on (e.g. a salary)/to live off/to subsist on | Chars: 食, 喰'
>>> result = jmd.lookup('食べる')
>>> print(result.entries)
[たべる (食べる) : 1. to eat 2. to live on (e.g. a salary)/to live off/to subsist on]
>>> for c in result.chars:
...     print(c, c.rm_groups)
... 
 [R: shi2, si4, sig, sa, , , Thực, Tự, ショク, ジキ, ., .らう, .べる, . | M: eat, food, manger, nourriture, alimento, comida, eclipse, comer, comer, comida, alimento]
 [R: shi2, si4, sig, , Thặc, Thực, Tự, ., .らう | M: eat, drink, receive (a blow), (kokuji)]

See jamdict_demo.py and jamdict/tools.py for more information.

About

Jamdict - A Python library Japanese dictionary empowered by JMDict & KanjiDic2 by Jim Breen

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 93.3%
  • TSQL 6.5%
  • Shell 0.2%