When I am learning a new word in Chinese, I usually look it up in
Pleco and hit the
button to create a flash card. Pleco is extremely useful for generating flash
cards, but I prefer to use Anki, which lets me
review those flash cards using
Both Pleco and Anki have Android apps, but there is no native interface between them. Pleco exports a complex XML file with a lot of metadata. Anki expects to import a CSV file which maps to your custom note.
In Anki terminology, a note is a set of two or more fields:
# type: Note French: Bonjour English: Hello Page: 12
and a card is a view into that note via a card type:
# type: Card Type Q: French A: English<br> Page #Page
# type Card Q: Bonjour A: Hello Page #12
It is normal to have a few card types, which represent a few views into that note which you are trying to memorize.
My Chinese-language notecards have three fields:
# type: Note characters: 苹果 pinyin: <font color="green">píng</font><font color="blue">guǒ</font> meaning: noun apple
characters field contains CJK unicode, and the
pinyin field is
HTML. Anki will render these fields correctly on web and mobile.
I have four card types:
Q: characters + meaning A: pinyin Q: characters + pinyin A: meaning Q: pinyin + meaning A: characters Q: characters A: pinyin + meaning
It doesn’t make sense to have a card where
Q: pinyin, since the
question is ambiguous – there are many words and characters with the same
pronunciation. I think it also doesn’t make sense to have a card where
meaning, since there are many ways to say the same idea in each
In Pleco, a flash card looks like this:
Pleco can export your set of saved flash cards, but it does so as XML:
<?xml version="1.0" ?> <plecoflash formatversion="2" creator="Pleco User -1" generator="Pleco 2.0 Flashcard Exporter" platform="Android" created="1605883885"> <categories/> <cards> <card language="chinese"> <entry> <headword charset="sc">感冒</headword> <headword charset="tc">感冒</headword> <pron type="hypy" tones="numbers">gan3mao4</pron> <defn>noun common cold verb 1 catch cold 2 dialect be interested in; like (usu. used in the negative)</defn> </entry> <dictref dictid="PACE" entryid="21428224"/> </card> </cards> </plecoflash>
<card> entry is a rich object with (1)
tc (traditional Chinese) characters, (2) a pinyin string in
which the numeral following a syllable denotes its tone, and (3) a dictionary
Anki, on the other hand, prefers to import data as a CSV (comma-separated or semicolon-separated is fine), where each columns maps to a field in the destination note. The above example as CSV might look like:
<span><font color="blue">găn</font></span> <span><font color="purple">mào</font></span>;感冒;noun common cold verb 1 catch cold 2 dialect be interested in.
This might render in Anki like so:
I wrote pleco-to-anki, a Python script
which converts an XML file with a
plecoflash object to a CSV file suitable for
üare two different vowels in pinyin and the difference must be preserved. For example, 旅游 can be written as “lǚyóu”: note the diaeresis (¨) and háček (ˇ) over the letter ‘u’.
Hopefully pleco-to-anki can benefit you as well as me. Please leave me a PR or open an issue if you catch a bug or encounter difficulty using this tool.