/Cursary

Learn japanese and english vocabulary in a minimalist ncurses environment.

Primary LanguageC++MIT LicenseMIT

Cursary

Your friendly neighborhood ncurses vocabulary trainer for πŸ‡ΊπŸ‡Έ and πŸ‡―πŸ‡΅

πŸ’» Installation

Clone the repository and run make inside the project directory.
Currently this only works on Linux. If you are using Mac or Windows run g++ -lncurses /path/to/cursary.cc -o cursary. Ncurses alongside a πŸ‡―πŸ‡΅ font and input method need to be installed.

πŸ‘‚ Guide

Cursary's interface is quickly understood. On startup πŸ‘¨β€πŸ¦± has the option to choose a query type, after which he will be greeted with the query screen: options_menu

The query type field in the upper left corner displays the selected option. The query field in the middle displays the current word which is to be translated. Right below is the reply field that informs πŸ‘¨β€πŸ¦± whether the input was correct or not. In this case the input was ❌ so the vocabulary with its proper translation is shown. Located on the bottom is the input field where user input is received.
Cursary keeps track of how many words have been queried, how many of them were known and their total amount. These informations are displayed in the statistics field. Here 27 of a total 71 words have been queried so far and πŸ‘¨β€πŸ¦± translated 6 of them correctly.

During an active session, i.e. while vocabulary is being queried, the following key combinations are bound:

Key Bindings
Ctrl+O Quits current session & goes back to start menu
Ctrl+N Clears the input field
Ctrl+F Toggles furigana visibility if available

πŸ‘€ Showcase

Cursary

πŸ“ Dictionary File

Cursary scans dicts/enja.txt for vocabulary, where words may be added in accordance with the notation πŸ‘‡

Vocabulary inside the dictionary file is stored in 3-tuples and follows a preset structure. The first line contains the πŸ‡ΊπŸ‡Έ word. If multiple πŸ‡ΊπŸ‡Έ words point to the same πŸ‡―πŸ‡΅ word they may be separated by semicolons.
The πŸ‡―πŸ‡΅ counterpart is stored in the line below. If it features kanji-characters, then the third line contains furigana. If it exists only of kana, the third line is left empty.