253 lines
6.3 KiB
Python
253 lines
6.3 KiB
Python
DAYPARTS = [
|
|
{"slug": "breakfast", "name": "Frühstück", "sort_order": 10},
|
|
{"slug": "morning-snack", "name": "Vormittagssnack", "sort_order": 20},
|
|
{"slug": "lunch", "name": "Mittagessen", "sort_order": 30},
|
|
{"slug": "afternoon-snack", "name": "Nachmittagssnack", "sort_order": 40},
|
|
{"slug": "dinner", "name": "Abendessen", "sort_order": 50},
|
|
{"slug": "late-snack", "name": "Später Snack", "sort_order": 60},
|
|
]
|
|
|
|
DAYPART_SLUG_TO_MEAL_TYPE = {
|
|
"breakfast": "breakfast",
|
|
"morning-snack": "snack",
|
|
"lunch": "lunch",
|
|
"afternoon-snack": "snack",
|
|
"dinner": "dinner",
|
|
"late-snack": "snack",
|
|
}
|
|
|
|
DEFAULT_CATEGORIES = [
|
|
"Kohlenhydrate",
|
|
"Milchprodukt",
|
|
"Obst",
|
|
"Gemüse",
|
|
"Eiweißquelle",
|
|
"Snack",
|
|
"Getränk",
|
|
"Vorrat & Basics",
|
|
"Warmes",
|
|
"Kleines Essen",
|
|
]
|
|
|
|
DEFAULT_CATEGORY_BUILDERS = {
|
|
"Kohlenhydrate": "carb",
|
|
"Brot & Getreide": "carb",
|
|
"Milchprodukt": "dairy",
|
|
"Obst": "fruit",
|
|
"Gemüse": "veg",
|
|
"Eiweißquelle": "protein",
|
|
"Snack": "neutral",
|
|
"Getränk": "neutral",
|
|
"Vorrat & Basics": "neutral",
|
|
"Warmes": "carb",
|
|
"Kleines Essen": "neutral",
|
|
}
|
|
|
|
BUILDER_LABELS = {
|
|
"protein": "Proteinquelle",
|
|
"carb": "Kohlenhydratquelle",
|
|
"veg": "Gemüse / Ballaststoffquelle",
|
|
"nuts": "Nüsse",
|
|
"seeds": "Saaten",
|
|
"fruit": "Obst",
|
|
"dairy": "Milchprodukt",
|
|
"neutral": "Neutral / sonstiges",
|
|
}
|
|
|
|
BUILDER_DESCRIPTIONS = {
|
|
"protein": "Passt eher zu sättigenden Eiweißquellen.",
|
|
"carb": "Passt eher zu Brot, Getreide, Reis, Kartoffeln oder ähnlichem.",
|
|
"veg": "Passt eher zu Gemüse oder ballaststoffreichen Begleitern.",
|
|
"nuts": "Passt eher zu Nüssen.",
|
|
"seeds": "Passt eher zu Saaten.",
|
|
"fruit": "Passt eher zu Obst.",
|
|
"dairy": "Passt eher zu Joghurt, Milch, Käse oder ähnlichem.",
|
|
"neutral": "Ohne feste Zuordnung, aber weiterhin gut nutzbar.",
|
|
}
|
|
|
|
BUILDER_OPTIONS = [(key, label) for key, label in BUILDER_LABELS.items()]
|
|
|
|
FOOD_ROLE_LABELS = {
|
|
"main": "Hauptbaustein",
|
|
"base": "Basis",
|
|
"complement": "Ergänzung",
|
|
"topping": "Topping",
|
|
"cooking": "Kochzutat",
|
|
"snack": "Snack-Baustein",
|
|
"solo": "Schnelle Einzelmahlzeit",
|
|
}
|
|
|
|
FOOD_ROLE_DESCRIPTIONS = {
|
|
"main": "Kann einen Teller oder eine Hauptmahlzeit deutlich tragen.",
|
|
"base": "Passt gut als Grundlage und lässt sich ruhig ergänzen.",
|
|
"complement": "Hilft beim Ergänzen, steht aber selten für sich allein.",
|
|
"topping": "Passt eher oben drauf oder als kleines Extra.",
|
|
"cooking": "Hilft beim Kochen oder Abschmecken, ist aber selten selbst die Mahlzeit.",
|
|
"snack": "Passt gut für kleine Zwischenmahlzeiten oder als ruhige Ergänzung.",
|
|
"solo": "Kann auch alleine als schnelle, einfache Mahlzeit funktionieren.",
|
|
}
|
|
|
|
FOOD_ROLE_OPTIONS = [(key, label) for key, label in FOOD_ROLE_LABELS.items()]
|
|
|
|
SUGGESTION_PRIORITY_OPTIONS = [
|
|
("prefer", "Gern vorschlagen"),
|
|
("normal", "Normal vorschlagen"),
|
|
("rare", "Eher selten automatisch vorschlagen"),
|
|
("never", "Nie automatisch vorschlagen"),
|
|
]
|
|
|
|
SUGGESTION_PRIORITY_LABELS = {
|
|
"prefer": "Gern vorschlagen",
|
|
"normal": "Normal vorschlagen",
|
|
"rare": "Eher selten automatisch vorschlagen",
|
|
"never": "Nie automatisch vorschlagen",
|
|
}
|
|
|
|
ENERGY_DENSITY_OPTIONS = [
|
|
("low", "Eher leicht"),
|
|
("neutral", "Neutral"),
|
|
("high", "Eher gehaltvoll"),
|
|
]
|
|
|
|
ENERGY_DENSITY_LABELS = {
|
|
"low": "Eher leicht",
|
|
"neutral": "Neutral",
|
|
"high": "Eher gehaltvoll",
|
|
}
|
|
|
|
SUGGESTION_STYLE_OPTIONS = [
|
|
("balanced", "Eher ausgewogen"),
|
|
("fitness", "Fitness"),
|
|
("protein", "Proteinbetont"),
|
|
("easy", "Leicht und einfach"),
|
|
("snack", "Snackorientiert"),
|
|
]
|
|
|
|
SUGGESTION_STYLE_LABELS = {
|
|
"balanced": "Eher ausgewogen",
|
|
"fitness": "Fitness",
|
|
"protein": "Proteinbetont",
|
|
"easy": "Leicht und einfach",
|
|
"snack": "Snackorientiert",
|
|
}
|
|
|
|
PROTEIN_PREFERENCE_OPTIONS = [
|
|
("mixed", "Offen gemischt"),
|
|
("veg-friendly", "Überwiegend vegetarisch"),
|
|
("rare-animal", "Fleisch und Fisch nur selten"),
|
|
("plant-forward", "Möglichst pflanzlich"),
|
|
]
|
|
|
|
PROTEIN_PREFERENCE_LABELS = {
|
|
"mixed": "Offen gemischt",
|
|
"veg-friendly": "Überwiegend vegetarisch",
|
|
"rare-animal": "Fleisch und Fisch nur selten",
|
|
"plant-forward": "Möglichst pflanzlich",
|
|
}
|
|
|
|
MEAL_TYPE_OPTIONS = [
|
|
("breakfast", "Frühstück"),
|
|
("lunch", "Mittagessen"),
|
|
("dinner", "Abendessen"),
|
|
("snack", "Snack"),
|
|
]
|
|
|
|
MEAL_TYPE_LABELS = {
|
|
"breakfast": "Frühstück",
|
|
"lunch": "Mittagessen",
|
|
"dinner": "Abendessen",
|
|
"snack": "Snack",
|
|
}
|
|
|
|
MEAL_STYLE_OPTIONS = [
|
|
("sweet", "Süß"),
|
|
("savory", "Herzhaft"),
|
|
("warm", "Warm"),
|
|
("cold", "Kalt"),
|
|
("quick", "Schnell"),
|
|
("simple", "Ruhig und einfach"),
|
|
("prep", "Gut vorbereitbar"),
|
|
("portable", "Für unterwegs"),
|
|
]
|
|
|
|
MEAL_STYLE_LABELS = {
|
|
"sweet": "Süß",
|
|
"savory": "Herzhaft",
|
|
"warm": "Warm",
|
|
"cold": "Kalt",
|
|
"quick": "Schnell",
|
|
"simple": "Ruhig und einfach",
|
|
"prep": "Gut vorbereitbar",
|
|
"portable": "Für unterwegs",
|
|
}
|
|
|
|
WEEKDAY_OPTIONS = [
|
|
(0, "Montag"),
|
|
(1, "Dienstag"),
|
|
(2, "Mittwoch"),
|
|
(3, "Donnerstag"),
|
|
(4, "Freitag"),
|
|
(5, "Samstag"),
|
|
(6, "Sonntag"),
|
|
]
|
|
|
|
NOTIFICATION_CHANNEL_OPTIONS = [
|
|
("in_app", "Nur in der App"),
|
|
("push", "Nur Push"),
|
|
("both", "App und Push"),
|
|
]
|
|
|
|
ITEM_KIND_LABELS = {
|
|
"food": "Lebensmittel",
|
|
"meal": "Mahlzeitenideen",
|
|
}
|
|
|
|
ITEM_KIND_SINGULAR_LABELS = {
|
|
"food": "Lebensmittel",
|
|
"meal": "Mahlzeitenidee",
|
|
}
|
|
|
|
AVAILABILITY_LABELS = {
|
|
"idea": "Merkliste",
|
|
"home": "Zuhause",
|
|
"archived": "Archiv",
|
|
}
|
|
|
|
ROLE_LABELS = {
|
|
"admin": "Admin",
|
|
"member": "Mitglied",
|
|
}
|
|
|
|
VISIBILITY_LABELS = {
|
|
"shared": "Gemeinsam",
|
|
"personal": "Persönlich",
|
|
}
|
|
|
|
VISIBILITY_DESCRIPTIONS = {
|
|
"shared": "Gemeinsam im Haushalt sichtbar und nutzbar.",
|
|
"personal": "Nur für dich sichtbar und planbar.",
|
|
}
|
|
|
|
DAY_TEMPLATE_NAME_SUGGESTIONS = [
|
|
"Ruhiger Tag",
|
|
"Einfacher Bürotag",
|
|
"Schwieriger Tag",
|
|
"Standard-Frühstückstag",
|
|
"Tag mit wenig Energie",
|
|
]
|
|
|
|
WEEK_TEMPLATE_NAME_SUGGESTIONS = [
|
|
"Standardwoche",
|
|
"Büro-Woche",
|
|
"Leichte Woche",
|
|
"Woche mit wenig Energie",
|
|
"Frühstücks-Woche",
|
|
]
|
|
|
|
ITEM_SET_NAME_SUGGESTIONS = [
|
|
"Schnelles Frühstück",
|
|
"Sicherer Snack",
|
|
"Einfaches Abendessen",
|
|
"Einkauf für zwei Tage",
|
|
]
|