How to Learn Every Word You Don’t Know When Reading a Foreign Language Text with Anki


This is just my way of doing things. But I’ve found it immensely helpful to both be able to read real books/manga/articles in my target languages and then be able to reread with even better comprehension later. Flashcards are rehearsal, and participating in the four basic skills (reading, writing, listening, speaking) in your target language is opening night.



Farming Phase

  1. Read something in your target language and pause when you hit a word or grammar construction you don’t know. It can be anything. Book, comic, back of a cereal box.
  2. Look up the word or write it down to look up later. It’s easiest if you do this in the first column in LibreOffice to start, but you can always keep a list to look up later. If you look it up now, put the gloss in your native language in column 2.
  3. Write down the entire sentence it occurred in, with the thing you want to remember in curly braces {}. After the sentence, tab once and write the gloss of the word. One line per sentence. I use Notepad++ for this, you can use whatever you want as long as it has a find/replace feature. This doesn’t go in your spreadsheet.

Card Creation Phase

Single Word Cards

  1. If you’re going to use ringo, especially with the Forvo API, I highly recommend putting a “plain” version of the word in column E. For example, if you added “la pomme” in column A, put “pomme” in column E.
  2. Use the following formula in every cell in column C:
    =CONCATENATE("<img src=","""",E1,".jpg","""", ">")
    This will end up as <img src="<your word here>.jpg"> after the formula is applied. If you didn't use column E, you can replace E1 with A1 or wherever you put your target language word.
  3. Use the following formula in every cell in column D:
    =CONCATENATE("[sound:", E1, ".mp3]")
    This will end up as [sound:"<your word here>.mp3"].
    Your spreadsheet will now look something like this:
    Screenshot of LibreOffice spreadsheet with foreign language words ready to export
  4. Copy everything from Column A to D (not E!) into a text editor. I recommend turning on settings where you can see every tab/space to check formatting. Save this file as .txt. Make sure the encoding is UTF-8.
  5. Import this text file into Anki, using your forward/back note type. Make sure you’ve selected “Fields separated by: Tab” and “Allow HTML in fields.” You can choose whatever you want to do for “Ignore lines where first field matches existing note.” Field 1 of file is your target language field in the note, Field 2 is your native language field in the note, Field 3 is your image field in the note, and Field 4 is your audio field in the note. Click “Import.”
    Screenshot of import screen in Anki
  6. Copy column E into a different text file and use ringo to auto-fetch images and audio. Copy those files into your Anki’s folder and they should work on your new cards right away.
    If you want to add images and audio manually, make sure you save them as the same filenames that show up in the <img src=""> and [sound:] fields from earlier in the folder. Because Anki allows HTML in fields, those images and audio will load without you having to edit the cards.

Sentence Cards

  1. In your sentence and sentence cloze note type, go to “Cards,” then the “Styling” tab. Add CSS for a highlight field.
    Screenshot of Anki note types window
    Screenshot of Card type styling window in Anki
  2. In your list of sentences in your text editor (where you outlined the words you want to learn in curly braces), Find and Replace the curly braces like so:
    Screenshot of Notepad++ with foreign language sentences
    Screenshot of Notepad++ with foreign language sentences
  3. Save the file and import into Anki, using your target language sentences note type.
    Screenshot of import screen in Anki

    This will give you cards where the word you want is highlighted and the meaning is on the back, like so (yes, I know I lose the formatting on the back side when it goes back to the furigana::Reading field, but I don’t care enough to fix that):
    Screenshot of sentence card in Anki with key word highlighted
    Screenshot of answer sentence card in Anki
  4. Go back to your sentences text file and either undo a couple steps to get back to the curly braces, or just replace like I do:
    Screenshot of Notepad++ with foreign language sentences
    Screenshot of Notepad++ with foreign language sentences
  5. Save this file and import into Anki using your sentences close note type:
    Screenshot of import screen in Anki

    This will give you cloze cards where the cloze field is highlighted. I put the gloss on the front side in my cloze card settings.
    Screenshot of sentence card in Anki with key word cloze deleted
    Screenshot of answer sentence card in Anki

    I haven’t bothered to create a note type that has cloze and furigana, mostly because I’m lazy, but also because I already have this sentence with furigana on the “forward” sentence card in the deck anyway, but I bet it’s possible.


It may seem like a lot of steps now, but now that the workflow comes naturally to me, it saves me a TON of time creating cards in Anki. I used to spend hours adding images and audio and I never caught up. I used to manually change the color of highlighted words in a sentence on each card! I like having single word cards with images and audio to learn the words out of context, and I like having sentence cards to learn the words in context.

I highly recommend going back to old texts several months after you’ve fully learned the words and read the sentences a lot. You’ll be very surprised by how different the experience of rereading is.

I hope this tutorial has given you some ideas for how to make the Anki card creation process a little less onerous. I have so much fun reading now because I know I’ll be able to understand what I didn’t before if I ever reread.

back to garden