import json import csv ARTICLES = { "bestimmter Artikel" : { "Nominativ" : { "m" : "der", "f" : "die", "n" : "das", "p" : "die" }, "Akkusativ" : { "m" : "den", "f" : "die", "n" : "das", "p" : "die" }, "Dativ" : { "m" : "dem", "f" : "der", "n" : "dem", "p" : "den" }, "Genitiv" : { "m" : "des", "f" : "der", "n" : "des", "p" : "der" }, }, "unbestimmter Artikel" : { "Nominativ" : { "m" : "ein", "f" : "eine", "n" : "ein", "p" : "meine" }, "Akkusativ" : { "m" : "einen", "f" : "eine", "n" : "ein", "p" : "meine" }, "Dativ" : { "m" : "einem", "f" : "einer", "n" : "einem", "p" : "meinen" }, "Genitiv" : { "m" : "eines", "f" : "einer", "n" : "eines", "p" : "meiner" }, }, "kein Artikel" : { "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Genitiv" : { "m" : "", "f" : "", "n" : "", "p" : "" }, } } ADJ_ENDINGS = { "bestimmter Artikel" : { "Nominativ" : { "m" : "e", "f" : "e", "n" : "e", "p" : "en" }, "Akkusativ" : { "m" : "en", "f" : "e", "n" : "e", "p" : "en" }, "Dativ" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" }, "Genitiv" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" }, }, "unbestimmter Artikel" : { "Nominativ" : { "m" : "er", "f" : "e", "n" : "es", "p" : "en" }, "Akkusativ" : { "m" : "en", "f" : "e", "n" : "es", "p" : "en" }, "Dativ" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" }, "Genitiv" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" }, }, "kein Artikel" : { "Nominativ" : { "m" : "er", "f" : "e", "n" : "es", "p" : "e" }, "Akkusativ" : { "m" : "en", "f" : "e", "n" : "es", "p" : "e" }, "Dativ" : { "m" : "em", "f" : "er", "n" : "em", "p" : "en" }, "Genitiv" : { "m" : "en", "f" : "er", "n" : "en", "p" : "er" }, }, } NOUN_ENDINGS = { "bestimmter Artikel" : { "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "n" }, "Genitiv" : { "m" : "s", "f" : "", "n" : "s", "p" : "" }, }, "unbestimmter Artikel" : { "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "n" }, "Genitiv" : { "m" : "s", "f" : "", "n" : "s", "p" : "" }, }, "kein Artikel" : { "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" }, "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "n" }, "Genitiv" : { "m" : "s", "f" : "", "n" : "s", "p" : "" }, }, } CASES = ["Nominativ"] + ["Akkusativ"] * 2 + ["Dativ"] * 2 + ["Genitiv"] ARTICLE_TYPES = ["bestimmter Artikel", "unbestimmter Artikel", "kein Artikel"] CARDINALITIES = ["Singular"] * 3 + ["Plural"] with open("data/adjectives.json", "r") as f: ADJECTIVES = json.load(f) with open("data/nouns.csv", "r", newline="") as f: NOUNS = [noun for noun in csv.DictReader(f)]