I’ve been using Anki for a couple of years and picked up quite a few languages with it. When I used it for Chinese, I had two cards for each note:
Chinese → English
English → Chinese
But this bogged down my schedule and made me spend so many hours a day reviewing, which in turn reduced the amount of information I was actually able to mentally retain.
When I started learning Russian, I edited the note type so I only had Russian–> English cards and it worked more efficiently, but created a new problem. A few years later, I started realizing that my active vocabulary was much more reduced than my passive; there were a lot of words I could understand when I heard them or read them, but when it came time to actually speak I couldn’t remember them.
I flipped the cards into English → Russian and that helped because it was actually forcing me to recall the words and identify where I had forgotten them.
I wonder if there is a way to, after a certain # of successful reviews, to automatically flip the card’s fields - so it starts out as TL → English but once it’s matured enough it automatically switches to English → TL.
Is something like this possible in HTML/CSS or could this work as an addon?
1 Like
I think a better solution is to practice output separately. Or try to integrate Anki in a way that doesn’t involve anything other than your target language. That’s because in real life, you shouldn’t be thinking “It’s X in English, what is it in the other language.” If you still insist in translating, I think it’s better to translate full sentences.
1 Like
Perhaps a workaround or tangentially related to the original prompt - Is there a way for the Front of the cards to show different fields on different days?
Say, for example, I have a note type with a TL text field, TL audio field, and English field.
Instead of having three cards for each note (with each of those three fields individually on the front) is there a way for the card itself (through JavaScript) to alternate between these three fields every day? For example:
Day 1 - all cards show TL text (reading day)
Day 2 - all cards show TL audio (listening day)
Day 3 - all cards show English (translating day)
repeat
Probably, yes. You can use this: JavaScript Date getDay() Method. Then you’d just need an if
statement or a switch
to check which day it is, then update the styling of the fields accordingly (hiding the fields you don’t want to see and showing the field you do want to see).
But it’s probably best if you create separate reading, listening and translating cards and just study them whenever they are due.
separate reading, listening and translating cards
That’s what I tried a couple summers ago and my daily review counts ballooned into the several thousands - I was spending several hours a day doing Anki and I wasn’t actually learning much.
I don’t know how to code. (sad face) However, I tried getting GPT to write JavaScript for me, and none of its code iterations actually worked. No matter what I configured the cycle start date to be, the front was always just audio (and not even the icon, just a recording with no way to replay it) and nothing else.
For now, I made a third workaround: disable automatic audio playback (deck settings) and put all the fields on the front with Hint tags. So I have to click on the fields that I want to see, and I can choose which one I will see before I flip the card and see all of them revealed.
This accomplishes my original goal of having separate days for Reading/Listening/Translating and the original idea of switching them around to help passive memory.
{{#Hindi}}{{hint:Hindi}}{{/Hindi}}
(replace with the field’s name)
If you really want to do it, you can use the following code to get started. The code assumes that you have three fields – reading, listening and translating.
Front template
<div id="reading">{{Reading}}</div>
<div id="listening">{{Listening}}</div>
<div id="translating">{{Translating}}</div>
<script>
var date = new Date();
var day = date.getDay();
switch (day) {
case 0:
console.log("It is Sunday.");
/* Show translating */
document.getElementById('reading').classList.add("hidden");
document.getElementById('listening').classList.add("hidden");
break;
case 1:
console.log("It is Monday.");
/* Show listening */
document.getElementById('reading').classList.add("hidden");
document.getElementById('translating').classList.add("hidden");
break;
case 2:
console.log("It is Tuesday.");
/* Show reading */
document.getElementById('listening').classList.add("hidden");
document.getElementById('translating').classList.add("hidden");
break;
case 3:
console.log("It is Wednesday.");
break;
case 4:
console.log("It is Thursday.");
break;
case 5:
console.log("It is Friday.");
break;
case 6:
console.log("It is Saturday.");
break;
}
</script>
CSS
.card {
font-family: arial;
font-size: 20px;
text-align: center;
color: black;
background-color: white;
}
.hidden {
display: none;
}
It seems like there’s one thing that’s being glossed over in this discussion – whether you should do this at all.
Your review history for one of those card-fronts is not necessarily relevant to your scheduling needs for another. Cards spontaneously changing what they are asking makes your review history useless. If you miss a Listening card, you need to see that Listening card again soon, and on shorter intervals – but that doesn’t mean you need to see the Translating card again, because maybe it’s doing just fine.
Even your everything-on-the-front idea doesn’t fix the problem. You won’t know each day what you studied the last time this card came up. Same example, when you miss cards on day 2, you can’t be sure they will be next scheduled for a Listening day. If they come up on a Reading day, then you won’t get the Listening practice you need.
That’s why you need separate cards to test separate things.
I understand that keeping them on separate cards means you have more cards to study, but there isn’t a shortcut around that.
You might also consider that those Listening cards might not be memorization cards – they seem more like practice cards, which don’t need the same sort of spaced-repetition scheduling as your Recognition/Production cards do.
1 Like
Three things from these replies stand out to me.
you shouldn’t be thinking “It’s X in English, what is it in the other language.” If you still insist in translating, I think it’s better to translate full sentences.
So my vocab cards should all be TL–> English and switching them around doesn’t make sense.
But it’s probably best if you create separate reading, listening and translating cards
What I do for a lot of these vocab cards is place bilingual example sentences on the back.
Maybe instead (once the vocab is at least a couple days old) I make separate sentence cards with English on the front and TL on the back (which will theoretically help the passive memory issue and improve my ability to actually make sentences and piece together grammar from scratch?)
You might also consider that those Listening cards might not be memorization cards – they seem more like practice cards, which don’t need the same sort of spaced-repetition scheduling as your Recognition/Production cards do
Since I learned Chinese through flashcards where it was either an AI voice or someone sitting at a microphone slowly and clearly pronouncing every sentence, my 听力 (listening comprehension) has always been terrible. I tried making flashcards with clips of real-life dialogue from online videos and movies but that was way too time consuming and didn’t really work out. Maybe just entirely getting rid of the Listening type cards and just spend the time watching native content is going to be better.
Whether to use only Recognition cards or also use Production cards does not have a one-size-fits-all solution. It depends on your level, your learning goals, and what role Anki plays in your language study. But ask a dozen people, and you’ll get a dozen strong personal opinions about it.
If your Listening-practice cards are just TTS, it’s probably not worth doing. TTS can be valuable for a lot of things, but a TTS service/voice that is reliable enough for a learner (who doesn’t know what things should sound like) is the holy grail / golden fleece / white whale / pick your metaphor.
1 Like