All Projects → luoliyan → chinese-support-redux

luoliyan / chinese-support-redux

Licence: GPL-3.0 License
Anki add-on providing support for Chinese study

Programming Languages

python
139335 projects - #7 most used programming language
OpenEdge ABL
179 projects

Projects that are alternatives of or similar to chinese-support-redux

anki-md
A markdown to anki flash cards converter
Stars: ✭ 22 (-75%)
Mutual labels:  flashcards, anki
speed-focus-mode
Speed Focus Mode add-on for Anki
Stars: ✭ 19 (-78.41%)
Mutual labels:  flashcards, anki
ScienceNotebooks
Collection of tools and stylesheet for scientific writting and learning (through Anki)
Stars: ✭ 43 (-51.14%)
Mutual labels:  flashcards, anki
kanjigrid
Fork of the Kanji Grid addon for Anki
Stars: ✭ 21 (-76.14%)
Mutual labels:  addon, anki
2anki.net
Server to create Anki flashcards faster, easier and better today ⭐️
Stars: ✭ 190 (+115.91%)
Mutual labels:  flashcards, anki
AnkiSharp
Create anki decks and cards from your C# application
Stars: ✭ 39 (-55.68%)
Mutual labels:  flashcards, anki
AnnA Anki neuronal Appendix
Using machine learning on your anki collection to enhance the scheduling via semantic clustering and semantic similarity
Stars: ✭ 39 (-55.68%)
Mutual labels:  flashcards, anki
anki-maobi
máobĭ (毛笔) is an Anki add-on to create cards with writing quizzes for Hanzi (Chinese characters)
Stars: ✭ 42 (-52.27%)
Mutual labels:  chinese, anki
Anki-Night-Mode
Enabling studying at night with Anki - without eye strain
Stars: ✭ 72 (-18.18%)
Mutual labels:  addon, anki
ForgetMeNot
A flashcard app for Android.
Stars: ✭ 234 (+165.91%)
Mutual labels:  flashcards, anki
vocage
A minimalistic spaced-repetion vocabulary trainer (flashcards) for the terminal
Stars: ✭ 68 (-22.73%)
Mutual labels:  flashcards, anki
anki-add-hooks-userscripts
Automate Anki card creation from popular translation websites
Stars: ✭ 17 (-80.68%)
Mutual labels:  flashcards, anki
eslint-config-mingelz
A shared ESLint configuration with Chinese comments. 一份带有完整中文注释的 ESLint 规则。
Stars: ✭ 15 (-82.95%)
Mutual labels:  chinese, mandarin
mpvacious
Adds mpv keybindings to create Anki cards from movies and TV shows.
Stars: ✭ 286 (+225%)
Mutual labels:  flashcards, anki
chinese-learner
A desktop web application for learning Mandarin Chinese and its character stroke order.
Stars: ✭ 22 (-75%)
Mutual labels:  chinese, mandarin
FCH-TTS
A fast Text-to-Speech (TTS) model. Work well for English, Mandarin/Chinese, Japanese, Korean, Russian and Tibetan (so far). 快速语音合成模型,适用于英语、普通话/中文、日语、韩语、俄语和藏语(当前已测试)。
Stars: ✭ 154 (+75%)
Mutual labels:  chinese, mandarin
Incremental Reading
Anki add-on providing incremental reading features
Stars: ✭ 164 (+86.36%)
Mutual labels:  addon, anki
mnemocards
In addition to helping you memorise, this code helps you do other things that I don't remember...
Stars: ✭ 34 (-61.36%)
Mutual labels:  flashcards, anki
files2flashcards
Keep your flashcards rooted in the context of your notes
Stars: ✭ 28 (-68.18%)
Mutual labels:  flashcards, anki
Anki-Chinese-Vocabulary-Generator
Enter only simplified characters and create word meaning with Traditional, Pinyin, Meaning, Audio and example sentences
Stars: ✭ 17 (-80.68%)
Mutual labels:  anki, mandarin

Chinese Support Redux

Codacy Badge Build Status Coverage Status

ko-fi

Chinese Support Redux is an Anki 2.1-compatible rewrite of the original Chinese Support add-on. It offers a number of features that streamline the process of creating flashcards for learning Chinese. The current focus of development effort is on improving the stability of the add-on and the accuracy of its output. Once the core functionality is sufficiently robust and reliable, additional features will be considered.

Please note that the add-on is still in beta and is sometimes shipped in an unstable state. Please upgrade with each new release and report any issues on GitHub. The automated test suite is a work-in-progress, so I still rely heavily on user reports to supplement my own manual testing.

Important Notes

  • If you find that a field is not filling at all, please check config.json for the complete list of valid field names. For those migrating from an older version of the add-on, you will need to rename any definition fields to English, German or French, depending on what you want.
  • If tone colours are not showing, ensure that the styling section of the template contains the following CSS:
.tone1 {color: red;}
.tone2 {color: orange;}
.tone3 {color: green;}
.tone4 {color: blue;}
.tone5 {color: gray;}

Features

  • Automatic field filling
    • Translation (from built-in dictionary; supports English, German and French)
    • Romanisation (supports Pīnyīn (拼音) and Cantonese Jyutping (粵拼))
    • Mandarin Audio (fetched from Google or Baidu)
    • Traditional (繁體字) and simplified (簡體字) characters
    • Bopomofo (ㄅㄆㄇㄈ), also known as Zhuyin (注音)
    • Rubies (small-print transcription placed above characters)
    • Frequency (from “very basic” to “obscure”) - based on anki-chinese-word-frequency
    • Usage Sentence Examples - Chinese/English sentence pairs from Tatoeba
  • Tone colours (applied to characters, romanisation and Bopomofo)
  • Built-in note types (Basic and Advanced)

Status

The vast majority of features have been successfully ported, and the add-on is in a usable state, albeit with some definite rough edges.

The add-on is still in beta. By this I mean “it works, but I wouldn’t trust it with my children”. Expect occasional issues, and please make a back-up before trying it. I use it myself and haven't experienced data loss, but your mileage may vary.

Please report any issues here on GitHub. Feature requests are also welcome.

If you are new to the Chinese Support add-on, the wiki from the previous version is still relevant (here).

Usage

The core feature of the add-on is the automatic field filling. To take advantage of this, you need to have an Anki note type with the appropriate fields (e.g., Hanzi, English, Pinyin, Sound). See config.json for a list of valid field names.

If you don't already have such a note type, the easiest approach is to use one of the built-in models. Two types are installed automatically: Basic and Advanced. The only important difference is that the Advanced model shows more information.

To use the field-filling features:

  1. Add a new note to Anki (press a)
  2. Select Chinese (Basic) or Chinese (Advanced) as the note type
  3. Enable Chinese Support Redux for this note type (click 汉字)
  4. Enter a word (e.g., 電話) into the Hanzi field (sentences will also work)
  5. Press Tab
  6. The remaining fields should then be populated automatically

Screenshots

Screenshot #1

Screenshot #2

Support

If you encounter any issues, the best way to have these addressed is to raise them on GitHub. Feature requests are welcome, with the caveat that all good things take time.

I understand the documentation is sparse. Anyone who wishes to add content to the wiki is more than welcome to.

Development

Testing

For those who wish to run the tests locally, this is fairly straightforward.

Clone the repository:

git clone https://github.com/luoliyan/chinese-support-redux
cd chinese-support-redux

Ideally, set up a virtual environment to isolate the project:

curl https://pyenv.run | bash
pyenv virtualenv 3.6.8 csr
pyenv local csr

Install dependencies and run the tests:

pip install -r requirements.txt
make test

Debugging with PyCharm

(a) Without Anki Source

  1. Copy the repo root to the Anki add-ons folder. As of version 2.1, this is %AppData%\Anki2\addons21
  2. Create a Python 3.8 virtual environment in PyCharm for the add-on folder (make sure you are running 64-bit Python). This can be done with:
import platform
platform.architecture()
  1. Run the following in the PyCharm console (these could be added to requirements.txt instead):
import subprocess
subprocess.check_call(["pip3", "install", "mypy", "anki", "ankirspy", "aqt", "pyqt5", pyqtwebengine"])
  1. Install the requirements.txt for the project venv
  2. Create a file for debugging in PyCharm as:
import aqt
aqt.run()
  1. Start debugging. The first Anki run will pick up the tests folder as a plugin and error out. This is expected.
  2. Go to the Tools → Add-ons menu and disable tests
  3. Enjoy coding!

(b) With Anki Source

  1. Download and extract Anki source code somewhere on the hard drive.
  2. Create a folder such as anki-addon-dev on your hard drive and open it on PyCharm as a project. Then, open Anki source code folder as another project within the current project window by choosing Attach.
  3. Under Preferences → Project → Project Dependencies → anki-addon-dev, check the box to approve the add-on depends on Anki source code.
  4. Under the run configurations beside run and debug buttons, edit the configuration as follows:
  • Script Path: [PATH_TO_ANKI_SOURCE_FOLDER]/anki-2.1.13/runanki
  • Parameters: -b [PATH_TO_ANKI_ADDON_PROJECT]/anki-addon-dev
  1. Create your project files and do the development on this path: anki-addon-dev/addons21/[YOUR_PROJECT_FOLDER]
  2. Happy debugging while developing

Additional Guidance

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].