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:" \
"
" \
"- viele en-Wörter, deren Endung im Singular ein unbetontes -a ist
"\
"- einige en-Wörter, die nicht auf -a enden
" \
"
" \
"Und wie lautet die Pluralendung der Substantive dieser Gruppe?" \
"" \
"- die Substantive enden in unbestimmter Form Plural auf -or
" \
"- die Substantive enden in bestimmter Form Plural auf -orna
" \
"- bei der Bildung des Plurals fällt das -a (der Singular-Endung) weg
" \
"
"
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:"\
"- einsilbige en-Wörter mit Endung auf einen Konsonanten
" \
"- en-Wörter mit Endung auf -e
" \
"- en-Wörter, die auf -el, -en, -er, -dom, -ing, -lek enden
" \
"Folgendermaßen lautet die Pluralendung der Substantive dieser Gruppe:"\
""\
"- die Substantive enden in unbestimmter Form Plural auf -ar
"\
"- die Substantive enden in bestimmter Form Plural auf -arna
"\
"- in der Pluralendung fällt das -e (der Singular-Endung) weg
"\
"- manchmal kommt es zu einer Vokaländerung, dabei wird o (im Wortstamm) zu ö bzw. a zu ä.
"
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:"\
"- einsilbige en-Wörter mit Endung auf einen Konsonanten
"\
"- Substantive mit Endung auf Konsonant
"\
"- einige Substantive, die als Lehnwörter anderen Sprachen entnommen wurden
"\
"- einige Substantive, die auf einen Vokal enden
"\
"Folgendermaßen lautet die Pluralendung der Substantive dieser Gruppe:"\
""\
"- die Substantive enden in unbestimmter Form Plural auf -er
"\
"- die Substantive enden in bestimmter Form Plural auf -erna
"\
"- es kann zu Vokaländerungen kommen, dann wird: a zu ä oder o zu ö
"\
"- Substantive, die auf einen Vokal enden, erhalten in unbestimmter Form Plural nur die Endung -r
"\
"- Substantive, die auf einen Vokal enden, erhalten in bestimmter Form Plural die Endung -rna
"
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:" \
"- Substantive, die auf einen (unbetonten) Vokal enden
" \
"- einige ett-Wörter mit der Endung -ande oder -ende
" \
"Wie lautet die Pluralendung der Substantive dieser Gruppe:" \
"" \
"- die Substantive enden in unbestimmter Form Plural auf -n
" \
"- die Substantive enden in bestimmter Form Plural auf -na, selten nur auf -n
"
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:" \
"- ett-Wörter, die auf einen Konsonant enden
" \
"- en-Wörter, die auf -ande oder -are enden
" \
"- einsilbige en-Wörter
" \
"Wie lautet die Pluralendung der Substantive dieser Gruppe:" \
"" \
"- die Substantive haben in unbestimmter Form Plural die selbe Endung wie im Singular
" \
"- die Substantive enden in bestimmter Form Plural auf -en
"
# 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.")