/MorphMan

Anki plugin that reorders language cards based on the words you know

Primary LanguagePythonOtherNOASSERTION

MorphMan


MorphMan is an Anki addon that tracks what words you know, and utilizes that information to optimally reorder language cards. This greatly optimizes your learning queue, as you will only see sentences with exactly one unknown word (see i+1 principle for a more detailed explanation).

Installation (Anki 2.1)

Install MorphMan via AnkiWeb

Installation (Anki 2.0)

To install MorphMan, download the latest .zip archive from here and extract the files to your Anki2/addons_ (To find your Anki folder on Windows, enter "%appdata%" in the file explorer). Your folder structure should look like this:

  • Anki2/addons/morphman.py
  • Anki2/addons/morph/*allFilesAndDirectories*

After restarting Anki, you should see an entry called morphman under Tools -> Add-ons. You can find information and troubleshooting tips here.

Usage

MorphMan supports the following languages:

  • languages with spaces: English, Russian, Spanish, Korean, Hindi, etc.
  • Japanese: You must additionally install the Japanese Support Anki addon
  • Chinese: For Anki 2.0, please use Jieba-Morph. Chinese is included in Morphman for Anki 2.1
  • CJK Characters: Morphemizer that splits sentence into characters and filters for Chinese-Japanese-Korean logographic/idiographic characters.
  • more languages can be added on request if morpheme-splitting-tools are available for it

See Matt VS Japan's video tutorial and accompanying blog post. See the MorphMan wiki for more information.

Development

  • Set up local environment:
    • The best is to use a Python virtual environment and install prebuilt Anki wheels:
      python -m virtualenv pyenv
      source pyenv/bin/activate
      python -m pip install aqt==2.1.54 anki==2.1.54 pyqtwebengine pylint
      export PYTHONPATH=./
      
  • Run tests: python test.py
  • Build Qt Developer UI with python scripts/build_ui.py
  • Install git commit hook to run tests and pylint scripts/setup_dev.sh