Skip to content

amm926616/sqlite-personal-dictionary

Repository files navigation

sqlite-personal-dictionary

logo

Installation

Windows

Download the installer from the Releases section. The database location is in Username\AppData\Local\sqlite-personal-dictionary

Linux

Clone or download this repository and use it as desired. If you want to add this software to your application search, there is a bash script included. If you are new to linux, use bash install.sh to install. This script will:

  1. Add the sqlite-personal-dictionary folder to /usr/bin/.
  2. Add a pdict alias to your .bashrc.
  3. Copy sqlite-personal-dictionary.desktop to ~/.local/share/applications/ so you can access it from the application search. Make sure to reload your .bashrc or restart your terminal for the alias to take effect. The database location is in .config/sqlite-personal-dictionary

This dictionary is designed to work particularly well with Korean syllable-based searches. For example, if you search for "콩국수," the tool will break it down into its syllables—"콩," "국," and "수"—and then search the database for words containing each of these syllables. I've included a personal collection of a Korean dictionary in "my korean vocabulary" folder that you can use by pasting it into your database location.

Using this tool for English words is not recommended because it breaks words down into individual characters, which isn’t useful. For example, "star" would be split into "s," "t," "a," and "r," which doesn't yield meaningful results since English words are generally not based on syllable components like Korean words.

How I made it

I believe the Korean language is similar to my native Burmese in many ways. One key similarity is that the composition of each word is made up of base syllables, each with its own meaning. This project was born out of a desperate need because my INTP brain struggles to memorize vocabulary without breaking it down into these base components.

I used to take notes in obsidian, headline for the title and lists under each title for their similar meanings. Then I use to look for the syllable I wanted with search function(ctrl + f). As my file grows larger, the searching become laggy and the whole process become buggy. I looked for other projects that could fulfill my needs. I thought Stardict and Goldendict might work since they are dictionary software, but they lack the ability to frequently update with new vocabulary. Initially, I was hesitant to create my own app because I didn't have much time, and I was skeptical about how much work it would require. However, I realized all I needed was a simple database and a Python interface. So, I asked ChatGPT for help with most of the code and tweaked it to fit my workflow. Now, this project is exactly what I needed.

You can also use this program as your personal dictionary. The functionality is straightforward: you can add new words, search for them, and delete them. For me, the best part is the keyboard shortcuts. Pressing "Enter" in the word panel triggers a search, while pressing "Enter" in the meaning panel adds a new entry. To delete an entry, you need to fill in both the word and meaning panels. I use this program to add new syllable meanings as I come across them. When I encounter a new word, I try to guess its meaning based on its syllables. Thanks to this program, my vocabulary memorization workflow is twice as fast.

I call it a "personal dictionary" because it functions similarly to a traditional dictionary app. But as I mentioned, I use it primarily to break down vocabulary and collect the meanings of base syllables, which is essential for my INTP brain.

Keyboard shortcuts

  • ctrl + s >> Search Entry
  • ctrl + q >> Delete Entry

screenshots

on windows barebone

screenshot

on linux tailored

screenshot

syllable/combinations

full-screenshot

view all entries

full-screenshot

About

Simple sqlite database personal dictionary builder

Resources

Stars

Watchers

Forks