feat: add Swiss German aliases for shopping list categorization
All checks were successful
CI / update (push) Successful in 3m35s

Add Rahm, Rüebli, Poulet, Cervelat, Crevetten, Weggli, Bürli, Zopf,
Glacé, Konfitüre, Nüsslisalat, Federkohl, Peperoni, and other Swiss
German terms to category items and alias map so they categorize correctly
instead of falling back to embedding similarity (e.g. Rahm→Schwamm).
This commit is contained in:
2026-04-08 14:15:21 +02:00
parent 20368131c5
commit eadc391b1a
4 changed files with 36 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "homepage",
"version": "1.11.2",
"version": "1.11.3",
"private": true,
"type": "module",
"scripts": {

File diff suppressed because one or more lines are too long

View File

@@ -48,6 +48,10 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
{ name: 'Zwiebeln', category: 'Obst & Gemüse' },
{ name: 'Knoblauch', category: 'Obst & Gemüse' },
{ name: 'Karotten', category: 'Obst & Gemüse' },
{ name: 'Rüebli', category: 'Obst & Gemüse' },
{ name: 'Nüsslisalat', category: 'Obst & Gemüse' },
{ name: 'Federkohl', category: 'Obst & Gemüse' },
{ name: 'Peperoni', category: 'Obst & Gemüse' },
{ name: 'Brokkoli', category: 'Obst & Gemüse' },
{ name: 'Blumenkohl', category: 'Obst & Gemüse' },
{ name: 'Zucchini', category: 'Obst & Gemüse' },
@@ -70,6 +74,10 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
{ name: 'broccoli', category: 'Obst & Gemüse' },
// ── Fleisch & Fisch ──
{ name: 'Poulet', category: 'Fleisch & Fisch' },
{ name: 'Pouletbrust', category: 'Fleisch & Fisch' },
{ name: 'Cervelat', category: 'Fleisch & Fisch' },
{ name: 'Crevetten', category: 'Fleisch & Fisch' },
{ name: 'Hähnchenbrust', category: 'Fleisch & Fisch' },
{ name: 'Hackfleisch', category: 'Fleisch & Fisch' },
{ name: 'Rindfleisch', category: 'Fleisch & Fisch' },
@@ -97,6 +105,7 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
{ name: 'Käse', category: 'Milchprodukte' },
{ name: 'Joghurt', category: 'Milchprodukte' },
{ name: 'Sahne', category: 'Milchprodukte' },
{ name: 'Rahm', category: 'Milchprodukte' },
{ name: 'Quark', category: 'Milchprodukte' },
{ name: 'Frischkäse', category: 'Milchprodukte' },
{ name: 'Gouda', category: 'Milchprodukte' },
@@ -120,6 +129,9 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
{ name: 'Skyr', category: 'Milchprodukte' },
{ name: 'Crème fraîche', category: 'Milchprodukte' },
{ name: 'Schlagsahne', category: 'Milchprodukte' },
{ name: 'Schlagrahm', category: 'Milchprodukte' },
{ name: 'Halbrahm', category: 'Milchprodukte' },
{ name: 'Vollrahm', category: 'Milchprodukte' },
{ name: 'milk', category: 'Milchprodukte' },
{ name: 'cheese', category: 'Milchprodukte' },
{ name: 'yogurt', category: 'Milchprodukte' },
@@ -129,6 +141,11 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
// ── Brot & Backwaren ──
{ name: 'Brot', category: 'Brot & Backwaren' },
{ name: 'Brötchen', category: 'Brot & Backwaren' },
{ name: 'Weggli', category: 'Brot & Backwaren' },
{ name: 'Bürli', category: 'Brot & Backwaren' },
{ name: 'Zopf', category: 'Brot & Backwaren' },
{ name: 'Ruchmehl', category: 'Brot & Backwaren' },
{ name: 'Halbweissmehl', category: 'Brot & Backwaren' },
{ name: 'Toast', category: 'Brot & Backwaren' },
{ name: 'Vollkornbrot', category: 'Brot & Backwaren' },
{ name: 'Baguette', category: 'Brot & Backwaren' },
@@ -198,6 +215,8 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
{ name: 'Basilikum', category: 'Gewürze & Saucen' },
{ name: 'Currypulver', category: 'Gewürze & Saucen' },
{ name: 'Honig', category: 'Gewürze & Saucen' },
{ name: 'Marmelade', category: 'Gewürze & Saucen' },
{ name: 'Konfitüre', category: 'Gewürze & Saucen' },
{ name: 'olive oil', category: 'Gewürze & Saucen' },
{ name: 'salt', category: 'Gewürze & Saucen' },
{ name: 'pepper', category: 'Gewürze & Saucen' },
@@ -233,6 +252,8 @@ export const CATEGORY_ITEMS: CategoryItem[] = [
{ name: 'Gummibärchen', category: 'Süßes & Snacks' },
{ name: 'Kekse', category: 'Süßes & Snacks' },
{ name: 'Eis', category: 'Süßes & Snacks' },
{ name: 'Glacé', category: 'Süßes & Snacks' },
{ name: 'Glace', category: 'Süßes & Snacks' },
{ name: 'Nüsse', category: 'Süßes & Snacks' },
{ name: 'Erdnüsse', category: 'Süßes & Snacks' },
{ name: 'Mandeln', category: 'Süßes & Snacks' },

View File

@@ -153,6 +153,19 @@ const ICON_ALIASES: Record<string, string> = {
'bird food': 'vogelfutter', 'cat litter': 'katzenstreu',
'zürisäcke': 'abfallsäcke', 'zürisack': 'abfallsäcke', 'züribags': 'abfallsäcke',
'züribag': 'abfallsäcke', 'kehrichtsäcke': 'abfallsäcke', 'kehrichtsack': 'abfallsäcke',
// Swiss German → High German aliases
'rahm': 'sahne', 'schlagrahm': 'schlagsahne', 'halbrahm': 'sahne', 'vollrahm': 'sahne',
'rüebli': 'karotten', 'rüebli': 'karotten',
'nüsslisalat': 'feldsalat', 'federkohl': 'grünkohl',
'peperoni': 'paprika', 'peperoncini': 'chili',
'poulet': 'hähnchen', 'pouletbrust': 'hähnchenbrust', 'pouletschenkel': 'hähnchenschenkel',
'cervelat': 'bratwurst', 'crevetten': 'garnelen',
'weggli': 'brötchen', 'bürli': 'brötchen', 'zopf': 'brot',
'ruchmehl': 'mehl', 'halbweissmehl': 'mehl',
'konfitüre': 'marmelade', 'konfi': 'marmelade',
'glacé': 'eis', 'glace': 'eis',
'tofu': 'tofu', 'olives': 'oliven', 'pickles': 'essiggurken',
'soup': 'suppe', 'broth': 'brühe', 'bouillon': 'bouillon',
'pizza': 'pizza', 'pizza dough': 'pizzateig',