anki_deck is a simple tool to generate Anki flashcards from the
xdxf dictionaries.
Based on https://www.reddit.com/r/Anki/comments/34imaw/export_from_goldendict_to_anki_deck_working_method/
To use anki_deck you need the following data:
XDXF dictionary file.
Words file - list of words you want to put in flashcards. It's just a plain file with one word per line:
someword another
Audio samples (optional) in
.oggformat.
anki_deck can create plain text flashcards file or .apkg deck.
Both of them may be imported by Anki. To import text file you will need to create a card with fields and deck
.apkg may be imported without extra actions.
You may use it without install like:
python -m anki_deck.cli ....
Or install with setyp.py and use:
anki_deck ...
Usage:
# To generate flashcards text file anki_deck -d /<path>/<to>/dict.xdxf -a /<path>/<to>/audio -w mywords.txt txt # To generate a deck anki_deck -d /<path>/<to>/dict.xdxf -a /<path>/<to>/audio -w mywords.txt deck MyDeck # or MyDeck.apkg anki_deck -d /<path>/<to>/dict.xdxf -a /<path>/<to>/audio -w mywords.txt deck MyDeck -n "Deck name"
If you put dict and audio in a directory with structure:
dictdata/ audio/ dict.xdxf
then you may use:
anki_deck -i /<path>/<to>/dictdata -w mywords.txt ...
Also if words file is named words.txt you may skip -w:
anki_deck -i /<path>/<to>/dictdata ...
See help for all options:
anki_deck -h
Text flashcards format:
<word> <translations> <transcription> <sound>
To import flashcards file create card with fields:
- Front
- Back
- Transcription
- Sound
Front Template:
{{Front}}
<br>
{{Transcription}}
<br>
{{Sound}}
Back Template:
{{FrontSide}}
<hr id=answer>
{{Back}}
Example of converting DSL to XDXF:
dictzip -d -k En-Ru-Apresyan.dsl.dz makedict -i dsl -o xdxf En-Ru-Apresyan.dsl
Example of extracting sounds from .lsa:
lingvosound2resdb -l ~/.goldendict/content/Speech.lsa rm -rf soundfiles resdatabase2dir -i res.rifo -d audio rm res.r* ; rm SoundE.ogg ; rm Speech.lsa