Skip to content

WernerDrasche/Japanese-Flashcards-Terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This program was created because anki would not compile for me on OpenBSD. If somebody for whatever reason decides to try this, be aware that this was programmed in 3 days and only provides bare minimum functionality.

Features (not in anki):

  • automatic scraping of meaning, furigana and word lists from jisho.org
  • kanji meanings for every kanji in word are shown when flipped
  • for every new kanji in word, a single kanji word will be added with this particular kanji
  • when single kanji word is flipped, topmost parts of kanji are shown
  • easy creation and management of word lists
  • will probably scale very badly because python

How to get japanese input to work on OpenBSD (this worked for me):

  • install japanese fonts
  • install fcitx, fcitx-anthy, fcitx-configtool-qt and kasumi
  • put this into .xsession:
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    ...
    exec dbus-launch i3```
    
  • autostart fcitx5 (I put it in i3config): exec --no-startup-id fcitx5 -rd
  • configure with configtool to use anthy

Actions:

  • [a]dd
  • [l]ist: manage word lists
  • [e]dit
  • [r]eview
  • write: save changes to flashcards.db
  • exit: exit and save to flashcards.db
  • abort: exit without saving
  • export: export words to words.json
  • import: import words from words.json (already added words will be ignored)

Add:

  • input the word to add and follow prompts
  • [e]dit: the current word is automatically selected
  • [m]anual: switch to manual mode and back
    • edit the EDITOR variable in flashcard.py to your favorite text editor
    • you will get a json form to fill out
    • example furigana input for 三月(month): ["さん", "がつ"]

Edit:

  • input word to select it
  • [d]elete: delete selected word
  • [m]eaning: edit meaning
  • [i]nfo: display word info
  • [a]dd: add to word lists
  • [r]emove: remove from word lists

Edit meaning:

  • [c]hange {index}
  • [d]elete {index}
  • [a]dd

Manage word lists:

  • [r]ename {index}
  • [d]elete {index}
  • [a]dd

Review:

  • choose word lists and from their union select n cards
  • repeat until no word list is chosen
  • review process will start:
    • if you get a card wrong once, card stays in the same slot
    • if you get a card wrong twice, card goes back one slot
    • otherwise card advances one slot
  • [b]ack: cancel and save state
  • [a]bort: cancel without saving
  • cards that are loaded from save which have been deleted in the meanwhile are discarded

Notes:

  • almost all prompts allow you to input [b]ack which will cancel the action and go back
  • everywhere where you can choose several options you can provide comma separated list and range notation is supported (e.g. 1,4-6,9)

About

Japanese flashcards for terminal with automatic web scraping

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published