Skip to content
This repository has been archived by the owner on May 8, 2023. It is now read-only.
/ learn_hanzi Public archive

Spaced-repetition flashcards app for learning Chinese characters

Notifications You must be signed in to change notification settings

dierat/learn_hanzi

Repository files navigation

#Learn Hanzi!

Use the app here: http://learnhanzi.meteor.com/

Learn Hanzi! desktop incorrect answer view

Learn Hanzi! mobile successful answer view

#What is it?

Learn Hanzi is a spaced-repetition flashcards app that is designed to teach you Chinese characters. It's actually a prototype that I made to help me learn Chinese (and Meteor), but you're welcome to use it too. Currently the app will teach you the 101 most common Chinese radicals from the 2,000 most common Chinese characters. The source for the list of radicals used can be found on Hacking Chinese. (You may notice that the original list contains 100 radicals while this app uses 101 - the extra character is 屮 ("sprout").)

Radicals are root characters that are combined to make compound characters, which can also be combined to make even more complex characters. Many of these radicals are not words on their own, but learning them first can make it much easier to learn more complicated characters later on because you will already know the building blocks. There are 214 Kangxi radicals, but some of them are only used a few times and are not as useful to learn on their own. This app focuses on teaching the most common radicals found in the most common characters for higher efficiency. Keep in mind though that they are not ordered according to frequency. They have instead been organized based on visual similarity so you can learn to tell similar images apart and learn new information based on characters you already know.

Chinese radicals sometimes have several forms and which form is used depends on where in the compound character the radical is placed. For example, "heart" (心) has two additional radical forms that sometimes appear in compound characters. If "heart" is placed in an overhead position, it is made shorter to match the space (⺗), but if it's placed on the left or right side, it becomes thinner to fit into that location (忄). (Wikipedia has a very helpful set of illustrations that show the various positions radicals can occupy in a compound character.)

The character descriptions in this app often cite the history of the characters, and some of the images shown with the characters are copies of the characters' ancient forms. The oracle bone script is the oldest confirmed Chinese writing and dates back to 1200–1050 BCE. Other forms include the bronze inscriptions, large seal script, and small seal script. There were usually several different methods of writing Chinese characters in use at any given time, so the different forms mentioned were contemporaries of each other (rather than one being used, discarded, and traded for the next).

There are currently two forms of hanzi used for written Chinese today - traditional and simplified. The traditional character set has been more or less stable since the 5th century while the simplified character system was developed very recently in the 1950s by the People's Republic of China to increase literacy rates within China. The simplified characters mostly resemble their traditional counterparts but with fewer strokes, and many Chinese characters are the same in both sets. Most beginners start with learning the simplified characters, which this app uses. The simplified system is used in mainland China while the traditional characters are used in Taiwan, Singapore, and Hong Kong. Other languages that adopted the Chinese system of writing (Japanese, Korean, and Vietnamese) use the traditional system as well (though some have their own simplified versions).

If you have any feedback, suggestions, bug reports, or just general comments that you'd like to send me, you can e-mail me at [email protected].

#How do I get it running on my computer?

Fork this repository, then clone your fork down onto your machine.

Navigate to the directory of your clone in your terminal and type

meteor

to run the server. Then open your browser at the URL

localhost:3000

to see the app.

To fill the database, open the browser console (ctrl + j) while viewing the app and type:

Meteor.call('shuffle_deck');

You can run that command again at any time to reset the database, but it will also reset any the history for any users that have been viewing and answering cards.

#Roadmap

  • Add blurb about the app on login page so people know what they're signing up for
  • rewrite/restyle about page so it's easier to read.
  • Add quick logo/page icon.
  • Add 'About' to the About page (so users know what page they're on)
  • Resize images and remove unused resources so the page loads faster
  • Add instructions for other people to use this codebase for their own flashcards app, or make an empty version for them to use.
  • Switch to using the papa parse package instead of the python parsing program I wrote.
  • Allow visitors to use the quiz without signing up right away (then remove main login page, have the sign-in button visible in the header all the time, and have a banner that shows up at the top of the page suggesting unlogged in users to create an account to save their progress
  • Record number of correct and incorrect answers for each user for each card to give the users feedback on how well they are doing and also to find out which cards are most confusing for users.
  • Gamify the learning process further by adding points for correct answers to encourage users.
  • Create custom illustrations for the characters to replace found images. These could illustrate the concepts more specifically and also be more visually consistent than the current images.
  • Add more characters, working through the 1,000 most frequently used characters, or crowd source the content for the app from communities that are working on learning the characters already. A form could be make to make the process of adding characters to the database easier, but checking the quality of the content would be difficult.

About

Spaced-repetition flashcards app for learning Chinese characters

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published