This commit is contained in:
Sven Riwoldt
2025-05-25 16:53:52 +02:00
parent 67d0312a97
commit 3160304aa0
24 changed files with 13844 additions and 0 deletions

196
Plural/plural_ohne_yaml.py Normal file
View File

@@ -0,0 +1,196 @@
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="<b>Deklinationsgruppe 1</b></br>" \
"Plural endet auf <span style='color:red;'>-or</span></br></br>" \
"Substantive, die der ersten Deklinationsgruppe angehören, sind ausschließlich <span style='color:red;'>en</span>-Wörter, also Utra.</br></br>" \
"Folgende Merkmale weisen auf Substantive dieser Gruppe hin:</br>" \
"<ul>" \
"<li>viele <span style='color:red;'>en</span>-Wörter, deren Endung im Singular ein unbetontes <span style='color:red;'>-a</span> ist</li>"\
"<li>einige <span style='color:red;'>en</span>-Wörter, die nicht auf <span style='color:red;'>-a</span> enden</li></br>" \
"</ul>" \
"Und wie lautet die Pluralendung der Substantive dieser Gruppe?" \
"<ul>" \
"<li>die Substantive enden in <b>unbestimmter</b> Form Plural auf <span style='color:red;'>-or</span></li>" \
"<li>die Substantive enden in <b>bestimmter</b> Form Plural auf <span style='color:red;'>-orna</span></li>" \
"<li>bei der Bildung des Plurals fällt das <span style='color:red;'>-a</span> (der Singular-Endung) weg</li>" \
"</ul>"
dg2 = "<b>Deklinationsgruppe 2</b></br>"\
"Plural endet auf <span style='color:red;'>-ar</span></br></br>" \
"Der zweiten Deklinationsgruppe gehören <b>ausschließlich</b> <span style='color:red;'>en</span>-Wörter, also Utra, an.</br>"\
"</br>Welche Substantive gehören zur Gruppe 2:"\
"<ul><li>einsilbige en-Wörter mit Endung auf einen Konsonanten</li>" \
"<li><span style='color:red;'>en</span>-Wörter mit Endung auf <span style='color:red;'>-e</span></li>" \
"<li><span style='color:red;'>en</span>-Wörter, die auf <span style='color:red;'>-el</span>, <span style='color:red;'>-en</span>, <span style='color:red;'>-er</span>, <span style='color:red;'>-dom</span>, <span style='color:red;'>-ing</span>, <span style='color:red;'>-lek</span> enden</li></ul>" \
"Folgendermaßen lautet die Pluralendung der Substantive dieser Gruppe:</br>"\
"<ul>"\
"<li>die Substantive enden in <b>unbestimmter</b> Form Plural auf <span style='color:red;'>-ar</span></br></li>"\
"<li>die Substantive enden in <b>bestimmter</b> Form Plural auf <span style='color:red;'>-arna</span></br></li>"\
"<li>in der Pluralendung fällt das <span style='color:red;'>-e</span> (der Singular-Endung) weg</br></li>"\
"<li>manchmal kommt es zu einer Vokaländerung, dabei wird <span style='color:red;'>o</span> (im Wortstamm) zu <span style='color:red;'>ö</span> bzw. <span style='color:red;'>a</span> zu <span style='color:red;'>ä.</span></br></li></ul>"
dg3 = "<b>Deklinationsgruppe 3</b></br>" \
"Plural endet auf <span style='color:red;'>-(e)r</span></br>"\
"Der dritten Konjugationsgruppe gehören <b>einsilbige</b> <span style='color:red;'>en</span>-Wörter (Utra) an, aber auch ein paar <span style='color:red;'>ett</span>-Wörter (Neutra) werden dieser Gruppe zugeordnet.</br></br>"\
"Welche Substantive gehören zur Gruppe 3:</br>"\
"<ul><li>einsilbige <span style='color:red;'>en</span>-Wörter mit Endung auf einen Konsonanten</li>"\
"<li>Substantive mit Endung auf Konsonant</li>"\
"<li>einige Substantive, die als Lehnwörter anderen Sprachen entnommen wurden</li>"\
"<li>einige Substantive, die auf einen Vokal enden</li></ul></br>"\
"Folgendermaßen lautet die Pluralendung der Substantive dieser Gruppe:</br>"\
"<ul>"\
"<li>die Substantive enden in <b>unbestimmter</b> Form Plural auf <span style='color:red;'>-er</span></li>"\
"<li>die Substantive enden in <b>bestimmter</b> Form Plural auf <span style='color:red;'>-erna</span></li>"\
"<li>es kann zu Vokaländerungen kommen, dann wird: <span style='color:red;'>a</span> zu <span style='color:red;'>ä</span> oder <span style='color:red;'>o</span> zu <span style='color:red;'>ö</span></li>"\
"<li>Substantive, die auf einen Vokal enden, erhalten in <b>unbestimmter</b> Form Plural nur die Endung <span style='color:red;'>-r</span></li>"\
"<li>Substantive, die auf einen Vokal enden, erhalten in <b>bestimmter</b> Form Plural die Endung <span style='color:red;'>-rna</span></li></ul>"
dg4="<b>Deklinationsgruppe 4</b></br>" \
"Plural endet auf <span style='color:red;'>-er</span></br></br>" \
"Die vierte Deklinationsgruppe ist die einzige, die <b>ausschließlich</b> <span style='color:red;'>ett</span>-Wörter (Neutra) umfasst.</br></br>" \
"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."\
"</br></br>" \
"Welche Substantive gehören zur Gruppe 4:</br>" \
"<ul><li>Substantive, die auf einen (unbetonten) Vokal enden</li>" \
"<li>einige ett-Wörter mit der Endung <span style='color:red;'>-ande</span> oder <span style='color:red;'>-ende</span></li></ul>" \
"Wie lautet die Pluralendung der Substantive dieser Gruppe:</br>" \
"<ul>" \
"<li>die Substantive enden in <b>unbestimmter</b> Form Plural auf <span style='color:red;'>-n</span></li>" \
"<li>die Substantive enden in <b>bestimmter</b> Form Plural auf <span style='color:red;'>-na</span>, selten nur auf <span style='color:red;'>-n</span></li></ul>"
dg5="<b>Deklinationsgruppe 5</b></br>" \
"Pluralendungen sind identisch mit den Endungen im Singular</br>" \
"Die Substantive dieser Gruppe können sowohl <span style='color:red;'>Neutra</span> (ett-Wörter) als auch <span style='color:red;'>Utra</span> (en-Wörter) sein.</br></br>" \
"Welche Substantive gehören zur Gruppe 5:</br>" \
"<ul><li>ett-Wörter, die auf einen Konsonant enden</li>" \
"<li>en-Wörter, die auf <span style='color:red;'>-ande</span> oder <span style='color:red;'>-are</span> enden</li>" \
"<li>einsilbige en-Wörter</li></ul></br>" \
"Wie lautet die Pluralendung der Substantive dieser Gruppe:</br>" \
"<ul>" \
"<li>die Substantive haben in <b>unbestimmter</b> Form Plural die selbe Endung wie im Singular</li>" \
"<li>die Substantive enden in <b>bestimmter</b> Form Plural auf <span style='color:red;'>-en</span></li></ul>"
# 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': """
<table style="width: 100%; border-collapse: collapse; text-align: center;">
<thead>
<tr>
<th>Deutsch</th>
<th>Unbestimmt Sg.</th>
<th>Bestimmt Sg.</th>
<th>Unbestimmt Pl.</th>
<th>Bestimmt Pl.</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{Deutsch}}</td>
<td>{{SingularUnbestimmt}}</td>
<td>{{SingularBestimmt}}</td>
<td>{{PluralUnbestimmt}}</td>
<td>{{PluralBestimmt}}</td>
</tr>
</tbody>
</table>
""",
'afmt': """
{{FrontSide}}<hr><div style="padding: 10px; font-size: 1.1em;">{{Erklärung}}</div>
""",
},
],
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', 'student<b>en</b>', 'student<b>er</b>', 'student<b>erna</b>', dg3],
# ['Zahn', 'en t<b>a</b>nd', 't<b>a</b>nd<b>en</b>', 't<b>ä</b>nd<b>er</b>', 't<b>ä</b>nd<b>erna</b>', dg3],
# ['Buch', 'en bok', 'bok<b>en</b>', 'böck<b>er</b>', 'böck<b>erna</b>', 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.")