[App] Hanzi typing SRS with 60 levels and a different studying method

Also, in search for SRS that works, and so I have deviated from the ways of Anki. I think it can be made to include Japanese, but it’s unlikely for me to go that far.

My old project is not online anymore. [source code]

Features and principles

  • Reading only
  • Multiple answer input (; separated), with options to require multiple important readings
  • No real synonyms. Warning shake at best. All answers must exist in the dictionary.
  • Typing and auto mark as right/wrong. No changing from wrong-to-right or vice versa.
  • Undo (via keyboard shortcut) is sent to the end of review, rather than immediate retyping. Middle button “not sure” is there for half-wrong (Esc shortcut).
  • Wrap up every 20 items, but can be done earlier. (F1, and I sometimes wrap-up at 10 items. No need for otherwise decision paralysis.)
  • Restudy (drill) wrong items after wrap up.
  • Search for inclusive vocabularies, and put studied items first. (Personal preference for hiding reading only if due in 1 hour. Tomorrow or later reviews don’t worth hiding reading.)
  • Hanzi break-down and build-up. Also put studied items first.
  • Vocab and Hanzi searching can include reading alongside to narrow the search
  • No separating vocab and Hanzi. (Not really an issue for Chinese, but could apply to Japanese.)
  • External links and Notes with rich text and images. I encourage taking notes, even if only readings are quizzed.
  • Levels, of course. Sorted by language proficiency test levels (HSK), then by most common Hanzi.
  • You can start from a mid level. It’s just a vocabulary list. Go down level if you feel like it.
  • Counting of “known” Hanzi
  • Custom vocab list, and custom skip list
  • Online text parser

Quizzing

Also with history,

Levels

Breakdown

Text analysis

Currently, it’s a desktop app, and it’s kinda unlikely that I would make it into a website or include Japanese (as it doesn’t have much benefit to myself). Anyway, contributions welcome.

Download the zip file, unzip, and open the exe file.

Also, Happy Chinese New Year :tada: :dragon_face:

5 Likes

I updated the project, for the text analyzer to exclude Hanzi in learning (i.e. fresh new Hanzi), and also to make names more distinguishable (ateji in Chinese is fierce).

Also, Add button – so that (almost) all Hanzi will be learned soon enough.

AI translation can be used if you have an API key, to cover for monolingual definitions, colloquial usages, and grammar explanation. DeepSeek is relatively cheap and cost effective.

Configuration

AI dictionary and TTS can be configured by .env put beside the exe or Python root.

  • Set CNPY_MAX_NEW=0 to do reviews to 0 first before adding new items.
  • Set TTS_VOICE=0 to use web TTS and disable gTTS/emoti-voice. Run emoti-voice and set TTS_VOICE to a voice to use emoti-voice.
  • Set OPENAI_API_KEY , OPENAI_API_BASE, OPENAI_MODEL to use DeepSeek / ChatGPT, etc.
  • Install ollama and set OLLAMA_HOST, OLLAMA_MODEL to use offline AI.

Another important update is it is maximized to make use of screen space first, then modals. Alt+Enter is no longer troublesome.

1 Like