{"id":8919113,"url":"https://github.com/jdlorimer/chinese-support-redux","last_synced_at":"2025-09-27T05:31:34.619Z","repository":{"id":37587838,"uuid":"107763540","full_name":"jdlorimer/chinese-support-redux","owner":"jdlorimer","description":"Anki add-on providing support for Chinese study","archived":true,"fork":false,"pushed_at":"2023-11-30T22:45:58.000Z","size":142263,"stargazers_count":101,"open_issues_count":97,"forks_count":50,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-09T21:03:58.021Z","etag":null,"topics":["addon","anki","cantonese","chinese","flashcards","mandarin","study-aid"],"latest_commit_sha":null,"homepage":"https://ankiweb.net/shared/info/1128979221","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdlorimer.png","metadata":{"files":{"readme":"README.html","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-10-21T08:18:30.000Z","updated_at":"2024-06-02T20:22:05.000Z","dependencies_parsed_at":"2023-01-19T12:46:41.832Z","dependency_job_id":"b5eb7d01-b144-4ed8-a531-490cbf93be18","html_url":"https://github.com/jdlorimer/chinese-support-redux","commit_stats":null,"previous_names":["jdlorimer/chinese-support-redux"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Fchinese-support-redux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Fchinese-support-redux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Fchinese-support-redux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdlorimer%2Fchinese-support-redux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdlorimer","download_url":"https://codeload.github.com/jdlorimer/chinese-support-redux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234391380,"owners_count":18824809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addon","anki","cantonese","chinese","flashcards","mandarin","study-aid"],"created_at":"2024-05-02T01:02:53.425Z","updated_at":"2025-09-27T05:31:29.551Z","avatar_url":"https://github.com/jdlorimer.png","language":"Python","funding_links":["https://ko-fi.com/X8X01RVSD"],"categories":["Python"],"sub_categories":[],"readme":"\u003ca href=\"https://app.codacy.com/app/luoliyan/chinese-support-redux?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=luoliyan/chinese-support-redux\u0026amp;utm_campaign=Badge_Grade_Dashboard\"\u003e\u003cimg src=\"https://api.codacy.com/project/badge/Grade/6b99fcb30a2142d899f79c601a6aa291\" alt=\"Codacy Badge\" /\u003e\u003c/a\u003e\u003ca href=\"https://travis-ci.org/luoliyan/chinese-support-redux\"\u003e\u003cimg src=\"https://travis-ci.org/luoliyan/chinese-support-redux.svg?branch=master\" alt=\"Build Status\" /\u003e\u003c/a\u003e \u003ca href=\"https://coveralls.io/github/luoliyan/chinese-support-redux?branch=master\"\u003e\u003cimg src=\"https://coveralls.io/repos/github/luoliyan/chinese-support-redux/badge.svg?branch=master\" alt=\"Coverage Status\" /\u003e\u003c/a\u003e\n\n\u003ca href=\"https://ko-fi.com/X8X01RVSD\"\u003e\u003cimg src=\"https://ko-fi.com/img/githubbutton_sm.svg\" alt=\"ko-fi\" /\u003e\u003c/a\u003e\n\nChinese Support Redux is an Anki 2.1-compatible rewrite of the \u003ca href=\"https://github.com/ttempe/chinese-support-addon\"\u003eoriginal\u003c/a\u003e 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.\n\nPlease 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.\n\n\u003cb\u003eImportant Notes\u003c/b\u003e\n\n\u003cul\u003e\u003cli\u003eIf you find that a field is not filling at all, please check \u003ca href=\"https://github.com/luoliyan/chinese-support-redux/blob/master/chinese/config.json\"\u003econfig.json\u003c/a\u003e 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 \u003ccode\u003eEnglish\u003c/code\u003e, \u003ccode\u003eGerman\u003c/code\u003e or \u003ccode\u003eFrench\u003c/code\u003e, depending on what you want.\u003c/li\u003e\u003cli\u003eIf tone colours are not showing, ensure that the styling section of the template contains the following CSS:\u003c/li\u003e\u003c/ul\u003e\n\u003ccode\u003e\n.tone1 {color: red;}\n.tone2 {color: orange;}\n.tone3 {color: green;}\n.tone4 {color: blue;}\n.tone5 {color: gray;}\n\u003c/code\u003e\n\n\u003cb\u003e\u003ci\u003eFeatures\u003c/i\u003e\u003c/b\u003e\n\n\u003cul\u003e\u003cli\u003eAutomatic field filling\u003cul\u003e\u003cli\u003eTranslation (from built-in dictionary; supports English, German and French)\u003c/li\u003e\u003cli\u003eRomanisation (supports \u003ca href=\"https://en.wikipedia.org/wiki/Pinyin\"\u003ePīnyīn (拼音)\u003c/a\u003e and Cantonese \u003ca href=\"https://en.wikipedia.org/wiki/Jyutping\"\u003eJyutping (粵拼)\u003c/a\u003e)\u003c/li\u003e\u003cli\u003eMandarin Audio (fetched from Google or Baidu)\u003c/li\u003e\u003cli\u003eTraditional (繁體字) and simplified (簡體字) characters\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://en.wikipedia.org/wiki/Bopomofo\"\u003eBopomofo (ㄅㄆㄇㄈ)\u003c/a\u003e, also known as Zhuyin (注音)\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://www.w3schools.com/tags/tag_ruby.asp\"\u003eRubies\u003c/a\u003e (small-print transcription placed above characters)\u003c/li\u003e\u003cli\u003eFrequency (from “very basic” to “obscure”) - based on \u003ca href=\"https://github.com/ernop/anki-chinese-word-frequency\"\u003eanki-chinese-word-frequency\u003c/a\u003e\u003c/li\u003e\u003cli\u003eUsage Sentence Examples - Chinese/English sentence pairs from \u003ca href=\"https://tatoeba.org/\"\u003eTatoeba\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003cli\u003eTone colours (applied to characters, romanisation and Bopomofo)\u003c/li\u003e\u003cli\u003eBuilt-in note types (Basic and Advanced)\u003c/li\u003e\u003c/ul\u003e\n\u003cb\u003e\u003ci\u003eStatus\u003c/i\u003e\u003c/b\u003e\n\nThe vast majority of features have been successfully ported, and the add-on is in a usable state, albeit with some definite rough edges.\n\nThe 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 \u003ci\u003eyour\u003c/i\u003e mileage may vary.\n\nPlease report any issues \u003ca href=\"https://github.com/luoliyan/chinese-support-redux/issues\"\u003ehere\u003c/a\u003e on GitHub. Feature requests are also welcome.\n\nIf you are new to the Chinese Support add-on, the wiki from the previous version is still relevant (\u003ca href=\"https://github.com/ttempe/chinese-support-addon/wiki\"\u003ehere\u003c/a\u003e).\n\n\u003cb\u003e\u003ci\u003eUsage\u003c/i\u003e\u003c/b\u003e\n\nThe 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., \u003ccode\u003eHanzi\u003c/code\u003e, \u003ccode\u003eEnglish\u003c/code\u003e, \u003ccode\u003ePinyin\u003c/code\u003e, \u003ccode\u003eSound\u003c/code\u003e). See \u003ccode\u003econfig.json\u003c/code\u003e for a list of valid field names.\n\nIf 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.\n\nTo use the field-filling features:\n\n\u003col\u003e\u003cli\u003eAdd a new note to Anki (press \u003ccode\u003e\u003cb\u003ea\u003c/b\u003e\u003c/code\u003e)\u003c/li\u003e\u003cli\u003eSelect \u003ccode\u003eChinese (Basic)\u003c/code\u003e or \u003ccode\u003eChinese (Advanced)\u003c/code\u003e as the note type\u003c/li\u003e\u003cli\u003eEnable Chinese Support Redux for this note type (click \u003ccode\u003e汉字\u003c/code\u003e)\u003c/li\u003e\u003cli\u003eEnter a word (e.g., 電話) into the \u003ccode\u003eHanzi\u003c/code\u003e field (sentences will also work)\u003c/li\u003e\u003cli\u003ePress \u003ccode\u003e\u003cb\u003eTab\u003c/b\u003e\u003c/code\u003e\u003c/li\u003e\u003cli\u003eThe remaining fields should then be populated automatically\u003c/li\u003e\u003c/ol\u003e\n\u003cb\u003e\u003ci\u003eScreenshots\u003c/i\u003e\u003c/b\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/luoliyan/chinese-support/master/screenshots/add-card.png\" alt=\"Screenshot #1\" /\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/luoliyan/chinese-support/master/screenshots/view-card.png\" alt=\"Screenshot #2\" /\u003e\n\n\u003cb\u003e\u003ci\u003eSupport\u003c/i\u003e\u003c/b\u003e\n\nIf you encounter any issues, the best way to have these addressed is to \u003ca href=\"https://github.com/luoliyan/chinese-support-redux/issues\"\u003eraise them on GitHub\u003c/a\u003e. Feature requests are welcome, with the caveat that all good things take time.\n\nI understand the documentation is sparse. Anyone who wishes to add content to \u003ca href=\"https://github.com/luoliyan/chinese-support-redux/wiki\"\u003ethe wiki\u003c/a\u003e is more than welcome to.\n\n\u003cb\u003e\u003ci\u003eDevelopment\u003c/i\u003e\u003c/b\u003e\n\n\u003cb\u003eTesting\u003c/b\u003e\n\nFor those who wish to run the tests locally, this is fairly straightforward.\n\nClone the repository:\n\n\u003ccode\u003e\ngit clone https://github.com/luoliyan/chinese-support-redux\ncd chinese-support-redux\n\u003c/code\u003e\n\nIdeally, set up a virtual environment to isolate the project:\n\n\u003ccode\u003e\ncurl https://pyenv.run | bash\npyenv virtualenv 3.6.8 csr\npyenv local csr\n\u003c/code\u003e\n\nInstall dependencies and run the tests:\n\n\u003ccode\u003e\npip install -r requirements.txt\nmake test\n\u003c/code\u003e\n\n\u003cb\u003eDebugging with PyCharm\u003c/b\u003e\n\n\u003ch4\u003e(a) Without Anki Source\u003c/h4\u003e\u003col\u003e\u003cli\u003eCopy the repo root to the Anki add-ons folder. As of version 2.1, this is \u003ccode\u003e%AppData%\\Anki2\\addons21\u003c/code\u003e\u003c/li\u003e\u003cli\u003eCreate 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:\u003ccode\u003epythonimport platformplatform.architecture()\u003c/code\u003e\u003c/li\u003e\u003cli\u003eRun the following in the PyCharm console (these could be added to \u003ccode\u003erequirements.txt\u003c/code\u003e instead):\u003ccode\u003epythonimport subprocesssubprocess.check_call([\"pip3\", \"install\", \"mypy\", \"anki\", \"ankirspy\", \"aqt\", \"pyqt5\", pyqtwebengine\"])\u003c/code\u003e\u003c/li\u003e\u003cli\u003eInstall the \u003ccode\u003erequirements.txt\u003c/code\u003e for the project venv\u003c/li\u003e\u003cli\u003eCreate a file for debugging in PyCharm as:\u003ccode\u003epythonimport aqtaqt.run()\u003c/code\u003e\u003c/li\u003e\u003cli\u003eStart debugging. The first Anki run will pick up the \u003ccode\u003etests\u003c/code\u003e folder as a plugin and error out. This is expected.\u003c/li\u003e\u003cli\u003eGo to the Tools → Add-ons menu and disable \u003ccode\u003etests\u003c/code\u003e\u003c/li\u003e\u003cli\u003eEnjoy coding!\u003c/li\u003e\u003c/ol\u003e\n\u003ch4\u003e(b) With Anki Source\u003c/h4\u003e\u003col\u003e\u003cli\u003eDownload and extract Anki source code somewhere on the hard drive.\u003c/li\u003e\u003cli\u003eCreate a folder such as \u003ccode\u003eanki-addon-dev\u003c/code\u003e 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.\u003c/li\u003e\u003cli\u003eUnder \u003ccode\u003ePreferences → Project → Project Dependencies → anki-addon-dev\u003c/code\u003e, check the box to approve the add-on depends on Anki source code.\u003c/li\u003e\u003cli\u003eUnder the run configurations beside run and debug buttons, edit the configuration as follows:\u003c/li\u003e\u003cli\u003eScript Path: \u003ccode\u003e[PATH_TO_ANKI_SOURCE_FOLDER]/anki-2.1.13/runanki\u003c/code\u003e\u003c/li\u003e\u003cli\u003eParameters: \u003ccode\u003e-b [PATH_TO_ANKI_ADDON_PROJECT]/anki-addon-dev\u003c/code\u003e\u003c/li\u003e\u003cli\u003eCreate your project files and do the development on this path:\u003ccode\u003eanki-addon-dev/addons21/[YOUR_PROJECT_FOLDER]\u003c/code\u003e\u003c/li\u003e\u003cli\u003eHappy debugging while developing \u003c/li\u003e\u003c/ol\u003e\n\u003cb\u003eAdditional Guidance\u003c/b\u003e\n\n\u003cul\u003e\u003cli\u003e\u003ca href=\"https://addon-docs.ankiweb.net/#/getting-started\"\u003eWriting Anki Add-ons - Getting Started\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://github.com/ankitects/anki/blob/main/docs/development.md\"\u003eAnki development README\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://chrisk91.me/2018/02/13/Setting-up-VSCode-for-Anki-addon-development.html\"\u003eSetting up VSCode for Anki add on development\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdlorimer%2Fchinese-support-redux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdlorimer%2Fchinese-support-redux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdlorimer%2Fchinese-support-redux/lists"}