• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    C++
  • License
    MIT License
  • Created about 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A free, open-source, offline Cantonese Dictionary for Windows, Mac, and Linux. Qt, SQLite. C++ and Python.

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:

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 as Info.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
  1. 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.
  1. Make with make. A .app application bundle will appear in the directory where you ran this command, which you can use open to run.
Ubuntu
  1. Generate a Makefile from jyut-dict.pro: qmake jyut-dict.pro
  2. 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!

More Repositories

1

lyric-grabber

Grabs lyrics from lyric websites and puts them into ID3 tags and text files. PyQt, Python.
Python
17
star
2

exhale

A Pebble app for breathing, written in C.
C
12
star
3

fitbit-pomodoro

A Pomodoro app for the Fitbit OS, written in JavaScript.
JavaScript
7
star
4

homebridge-dht22

A homebridge plugin for the DHT22 temperature and humidity sensor. C, C++, and JavaScript.
C
5
star
5

vesta

Indoor environment monitoring on a Raspberry Pi with HomeKit integration. I²C, SPI, UART, GPIO, MQTT. Node.js, Python (and MicroPython!), Arduino, C, C++.
C
5
star
6

star-wars-targeting-computer-watchface

A Star Wars Targeting Computer watchface for Pebble, written in C.
C
4
star
7

homebridge-bmp280

A Homebridge plugin for the BMP280 temperature/barometric pressure sensor connected to Raspberry Pi over SPI. C, C++, and JavaScript.
C
4
star
8

cbschedule

A Pebble app to fetch and display the schedule for Colonel By Secondary School, written with Pebble.js.
JavaScript
4
star
9

homebridge-sgp30

A Homebridge plugin for the SGP30 eCO2 and TVOC sensor connected to Raspberry Pi over I²C. C, C++, and JavaScript.
JavaScript
3
star
10

homebridge-soil-moisture

A Homebridge plugin for an analog soil moisture sensor. Sensor <--> Arduino Dock <--UART--> Omega2 <--MQTT--> Raspberry Pi. JavaScript, Python, and the Arduino Language.
JavaScript
3
star
11

simple-metar

A minimalist and responsive METAR display website.
JavaScript
2
star
12

hkscs-unicode-converter

hkscs-unicode-converter is a Python package for converting HKSCS characters assigned to Private Use Areas of Unicode to their equivalents in Unicode 4.1 onwards.
Python
2
star
13

literary-terms-question-bank

A literary terms question bank for IB students, written in Java.
Java
2
star
14

lit-brolly

Nōn omne quod nitet aurum est.
C++
1
star
15

stm32-exploration

STM32 microcontrollers exploration. Covers the basics (linker scripts, assembly, GPIO, interrupts, clocks) and some other fun stuff (FreeRTOS, Rust).
Assembly
1
star
16

homebridge-micropython-bme280

A Homebridge plugin for a BME280 Temperature/Humidity/Pressure Sensor <--> ESP8266/WeMos D1 Mini <--MQTT--> Raspberry Pi. JavaScript, Python.
Python
1
star
17

fitbit-carta

A minimalist maps watchface for Fitbit OS.
JavaScript
1
star
18

fitbit-metar

A METAR app for the Fitbit OS, written in JavaScript.
JavaScript
1
star
19

hangman

A simple Hangman game with story and endless mode, written in Visual Basic.
Visual Basic
1
star
20

simple-taf

A minimalist and responsive TAF display website.
JavaScript
1
star
21

poke-ball-watchface

A Poké Ball watchface for Pebble, written in C.
JavaScript
1
star
22

homebridge-pms7003

A Homebridge plugin for the PMS7003 dust/particulate matter sensor connected to Raspberry Pi over UART. C, C++, and JavaScript.
JavaScript
1
star