import genanki,csv karten=[] #https://www.ankisrs.net/docs/ #https://www.swedishgrammar.com/nouns_groups.html #https://www.lingq.com/en/grammar-resource/swedish/nouns/ #http://svenskord.com/ora-orat-oron-oronen/ dg1="Deklinationsgruppe 1
" \ "Plural endet auf -or

" \ "Substantive, die der ersten Deklinationsgruppe angehören, sind ausschließlich en-Wörter, also Utra.

" \ "Folgende Merkmale weisen auf Substantive dieser Gruppe hin:
" \ "" \ "Und wie lautet die Pluralendung der Substantive dieser Gruppe?" \ "" dg2 = "Deklinationsgruppe 2
"\ "Plural endet auf -ar

" \ "Der zweiten Deklinationsgruppe gehören ausschließlich en-Wörter, also Utra, an.
"\ "
Welche Substantive gehören zur Gruppe 2:"\ "" \ "Folgendermaßen lautet die Pluralendung der Substantive dieser Gruppe:
"\ "" dg3 = "Deklinationsgruppe 3
" \ "Plural endet auf -(e)r
"\ "Der dritten Konjugationsgruppe gehören einsilbige en-Wörter (Utra) an, aber auch ein paar ett-Wörter (Neutra) werden dieser Gruppe zugeordnet.

"\ "Welche Substantive gehören zur Gruppe 3:
"\ "
"\ "Folgendermaßen lautet die Pluralendung der Substantive dieser Gruppe:
"\ "" dg4="Deklinationsgruppe 4
" \ "Plural endet auf -er

" \ "Die vierte Deklinationsgruppe ist die einzige, die ausschließlich ett-Wörter (Neutra) umfasst.

" \ "Außerdem kann man sich merken, dass diese Gruppe die kleinste der fünf Deklinationsgruppen ist und ihr nur ca. 5 % aller schwedischen Substantive angehören."\ "

" \ "Welche Substantive gehören zur Gruppe 4:
" \ "" \ "Wie lautet die Pluralendung der Substantive dieser Gruppe:
" \ "" dg5="Deklinationsgruppe 5
" \ "Pluralendungen sind identisch mit den Endungen im Singular
" \ "Die Substantive dieser Gruppe können sowohl Neutra (ett-Wörter) als auch Utra (en-Wörter) sein.

" \ "Welche Substantive gehören zur Gruppe 5:
" \ "
" \ "Wie lautet die Pluralendung der Substantive dieser Gruppe:
" \ "" # Ein Modell definieren (z. B. mit 5 Feldern) model = genanki.Model( 1607392319, 'Schwedisch-Plural-Modell', fields=[ {'name': 'Deutsch'}, {'name': 'SingularUnbestimmt'}, {'name': 'SingularBestimmt'}, {'name': 'PluralUnbestimmt'}, {'name': 'PluralBestimmt'}, {'name': 'Erklärung'}, ], templates=[ { 'name': 'Karte 1', 'qfmt': """
Deutsch Unbestimmt Sg. Bestimmt Sg. Unbestimmt Pl. Bestimmt Pl.
{{Deutsch}} {{SingularUnbestimmt}} {{SingularBestimmt}} {{PluralUnbestimmt}} {{PluralBestimmt}}
""", 'afmt': """ {{FrontSide}}
{{Erklärung}}
""", }, ], css=""" table { border: 1px solid #ccc; background-color: #f9f9f9; } th, td { border: 1px solid #ccc; padding: 8px; } th { background-color: #e0e0e0; } """, ) # Ein Deck erzeugen deck = genanki.Deck( 2059400110, 'Schwedisch Pluraltraining' ) #Einlesen einer CSV-Datei csv_datei = 'schwedisch_plural.csv' with open(csv_datei, 'r', encoding='utf-8') as file: reader = csv.reader(file, delimiter=',') next(reader) # Überspringe die Kopfzeile for i, row in enumerate(reader, start=2): # Starte bei Zeile 2 wegen der Kopfzeile if len(row) != 6: print(f"Warnung: Zeile {i} hat nicht genau 6 Spalten und wird übersprungen: {len(row)} ") else: #print (f"Zeile {i} hat 6 Spalten: {row}") if row[5] == "1": row[5] = dg1 elif row[5] == "2": row[5] = dg2 elif row[5] == "3": row[5] = dg3 elif row[5] == "4": row[5] = dg4 elif row[5] == "5": row[5] = dg5 elif row[5] == "-": row[5] = "keine Änderung" karten.append(row) # Beispielkarten hinzufügen (Deutsch, Singular unbestimmt, Singular bestimmt, Plural unbestimmt, Plural bestimmt, Erklärung) # karten = [ # ['das Mädchen', 'en flicka', 'flickan', 'flickor', 'flickorna', dg1], # ['der Junge', 'en pojke', 'pojken', 'pojkar', 'pojkarna', dg2], # ['der Student', 'en student', 'studenten', 'studenter', 'studenterna', dg3], # ['Zahn', 'en tand', 'tanden', 'tänder', 'tänderna', dg3], # ['Buch', 'en bok', 'boken', 'böcker', 'böckerna', dg3], # ['Apfel', 'ett äpple', 'applet', 'äpplen', 'äpplena', dg4], # ] for k in karten: #print (f"Feld 1: {k[0]}, Feld 2: {k[1]}, Feld 3: {k[2]}, Feld 4: {k[3]}, Feld 5: {k[4]}, Feld 6: {k[5]}") note = genanki.Note( model=model, fields=k ) deck.add_note(note) # Paket erzeugen genanki.Package(deck).write_to_file('schwedisch_plural.apkg') print("Deck wurde erfolgreich als .apkg exportiert.")