Jyut Dictionary - A free, open-source, offline Cantonese dictionary
/jyːt ˈdɪkʃənɛɹi/
Look up words from multiple dictionaries in Cantonese or Mandarin, with Traditional Chinese, Simplified Chinese, Jyutping, Pinyin, and English input.
Download now!
Available for macOS, Windows, and Ubuntu.
Features
Vast number of entries.
Jyut Dictionary gives you access to CEDICT, CC-CANTO, words.hk 粵典, the Unihan database, 開放詞典, and Chinese sentences from Tatoeba, all completely offline. Plus, you can download and add more dictionaries to the program. That's over 200,000 entries and 100,000 sentences to search from!
Search quickly.
Results appear in a list as you type, so it's faster and easier to find what you're looking for. Plus, your search history is saved if you want to go back to a word you've looked up before.
Search with your preferred input method.
Jyut Dictionary supports entry with Traditional Chinese, Simplified Chinese, Jyutping, Pinyin, and English.
Localized.
Use the dictionary in English, French, Simplified and Traditional Cantonese, or Simplified and Traditional Chinese.
Customizable.
Prefer to see only Traditional Chinese? Maybe hide Pinyin? Change the colours of the words or disable them altogether? Do that with a plethora of settings options!
Project structure
The project contains two subdirectories under src
: dictionaries
, and jyut-dict
.
dictionaries
This folder contains several Python3 scripts that convert the various online Cantonese/Written Chinese dictionaries into the dictionary format used by Jyut Dictionary. However, for copyright reasons, data for these sources may not be included in this repository. Selected sources include:
- CC-CEDICT and CC-CEDICT-compatible dictionaries (in .u8 and .xml format), such as:
- ABC Chinese-English Dictionary
- ABC Cantonese-English Dictionary
- CUHK 現代標準漢語與粵語對照資料庫
- CantoDict
- Cross-Straits Language Database (兩岸詞典)
- 廣州話正音字典
- HSK 3.0 (汉语水平考试 3.0)
- Kaifangcidian 粵語詞典 - 開放詞典
- MoEDict (重編國語辭典修訂本)
- Tatoeba
- Unihan Database
- Wiktionary - English
- words.hk 粵典
jyut-dict
This folder contains the source code for the program, and a Qt Creator project file. Files are divided into several subdirectories:
components
: UI components, such as the list view or search bar.dialogs
: dialogs, such as the "update available" notification dialog.logic
: definitions for search and entry classes, as well as other backend logic.platform
: platform-specific files, such asInfo.plist
for the macOS application bundle.resources
: databases, icons, and images.windows
: UI windows of the program, such as the main window.
Build and run
This project requires Qt 5.15.
Before building the application, you must build the dictionary database using parse-set.py
(for CEDICT + CC-CANTO) or parse-individual.py
(for CFDICT/HanDeDict). Read the README in src/dictionaries/cedict
for instructions, then place the generated database, named dict.db
, in src/jyut-dict/resources/db/
.
Qt Creator (macOS, Ubuntu, Windows)
Import the project to Qt Creator, then run. Add DEFINES+="PORTABLE" to the QMake configuration if you would like to isolate your debug build from any system files.
Command line (macOS, Ubuntu)
macOS
- Generate a Makefile from
jyut-dict.pro
:qmake jyut-dict.pro
- Note: you may need the full path of qmake. Search in Spotlight to find the appropriate version, which on 64-bit Macs is the qmake binary under in the
clang_64
folder.
- Make with
make
. A.app
application bundle will appear in the directory where you ran this command, which you can useopen
to run.
Ubuntu
- Generate a Makefile from
jyut-dict.pro
:qmake jyut-dict.pro
- Make with
make
. A Linux executable will appear in the directory where you ran this command.
Packaging for release
See the READMEs for each platform under src/jyut-dict/platform/<platform>
for instructions on packaging the built executable.
On the roadmap
See the Github issues and projects for more information!