diff --git a/apps/api/src/db/catalog-en-keys.ts b/apps/api/src/db/catalog-en-keys.ts index 875548b..48979a6 100644 --- a/apps/api/src/db/catalog-en-keys.ts +++ b/apps/api/src/db/catalog-en-keys.ts @@ -97,6 +97,20 @@ const INGREDIENT_KEYS: Record = { Shiitake: "shiitake", Daikon: "daikon", "Piment vert frais": "fresh_green_chili", + Cardon: "cardoon", + "Chicorée rouge": "radicchio", + "Chou romanesco": "romanesco", + "Chou-rave": "kohlrabi", + "Chou chinois": "napa_cabbage", + "Céleri-rave": "celeriac", + Gombo: "okra", + "Oignon nouveau": "spring_onion", + Potimarron: "red_kuri_squash", + Rutabaga: "rutabaga", + Salicorne: "samphire", + Salsifis: "salsify", + Mâche: "lambs_lettuce", + Scarole: "escarole", // --- Produits frais / Fruits ----------------------------------------- Citron: "lemon", @@ -127,6 +141,12 @@ const INGREDIENT_KEYS: Record = { Grenade: "pomegranate", Rhubarbe: "rhubarb", Coing: "quince", + Cassis: "blackcurrant", + Canneberge: "cranberry", + Groseille: "redcurrant", + Kaki: "persimmon", + Nectarine: "nectarine", + Tamarin: "tamarind", // --- Produits frais / Herbes fraîches --------------------------------- Basilic: "basil", @@ -169,12 +189,43 @@ const INGREDIENT_KEYS: Record = { Pancetta: "pancetta", Mortadelle: "mortadella", Salami: "salami", + Andouille: "andouille", + Andouillette: "andouillette", + "Boudin blanc": "white_pudding", + "Boudin noir": "black_pudding", + Cervelas: "cervelat", + Rillettes: "rillettes", + "Saucisson sec": "dry_cured_sausage", + "Jambon de Bayonne": "bayonne_ham", + Coppa: "coppa", + "Rosette (saucisson)": "rosette_sausage", + "Foie de veau": "veal_liver", + "Rognons de veau": "veal_kidneys", + "Cervelle de veau": "veal_brain", + "Ris de veau": "veal_sweetbread", + "Langue de bœuf": "beef_tongue", + Tripes: "tripe", + Cerf: "venison", + Chevreuil: "roe_deer", + Sanglier: "wild_boar", + Cheval: "horse_meat", + "Cœur de bœuf": "beef_heart", + "Foie gras": "foie_gras", + "Museau de bœuf": "beef_muzzle", + "Viande des Grisons": "grisons_dried_beef", // --- Boucherie & poissonnerie / Volailles ----------------------------- Poulet: "chicken", Dinde: "turkey", Canard: "duck", "Magret de canard": "duck_breast", + Caille: "quail", + Pintade: "guinea_fowl", + Oie: "goose", + "Foie de volaille": "poultry_liver", + Chapon: "capon", + Pigeon: "pigeon", + Faisan: "pheasant", // --- Boucherie & poissonnerie / Poissons ------------------------------- Saumon: "salmon", @@ -207,6 +258,11 @@ const INGREDIENT_KEYS: Record = { Panga: "pangasius", "Saumon fumé": "smoked_salmon", "Poisson séché": "dried_fish", + Anguille: "eel", + "Carrelet (ou plie)": "plaice", + Morue: "salt_cod", + Limande: "lemon_sole", + Rascasse: "scorpionfish", // --- Boucherie & poissonnerie / Crustacés & fruits de mer ------------- Crevettes: "shrimp", @@ -221,6 +277,13 @@ const INGREDIENT_KEYS: Record = { Poulpe: "octopus", Palourdes: "clams", Bulots: "whelks", + "Araignée de mer": "spider_crab", + Bigorneau: "periwinkle", + Écrevisse: "crayfish", + "Crevette grise": "grey_shrimp", + Coque: "cockle", + Escargot: "snail", + Seiche: "cuttlefish", // --- Épicerie sèche / Féculents ---------------------------------------- Semoule: "semolina", @@ -261,6 +324,8 @@ const INGREDIENT_KEYS: Record = { Fèves: "fava_beans", Edamame: "edamame", "Haricots pinto": "pinto_beans", + "Haricots flageolets": "flageolet_beans", + "Lentilles blondes": "golden_lentils", // --- Épicerie sèche / Graines & fruits secs ---------------------------- Cacahuètes: "peanuts_shelled", @@ -313,6 +378,7 @@ const INGREDIENT_KEYS: Record = { Ciabatta: "ciabatta", "Tortilla de maïs": "corn_tortilla", "Tortilla de blé": "wheat_tortilla", + Gressin: "breadstick", // --- Boulangerie / Pâtes à cuire ----------------------------------------- "Pâte feuilletée": "puff_pastry", @@ -341,6 +407,39 @@ const INGREDIENT_KEYS: Record = { Pecorino: "pecorino", Gorgonzola: "gorgonzola", Cheddar: "cheddar", + Brie: "brie", + Camembert: "camembert", + Roquefort: "roquefort", + Munster: "munster", + Reblochon: "reblochon", + Cantal: "cantal", + Beaufort: "beaufort", + "Saint-Nectaire": "saint_nectaire", + "Bleu (fromage)": "blue_cheese", + Cancoillotte: "cancoillotte", + Tomme: "tomme", + Époisses: "epoisses", + Chaource: "chaource", + Livarot: "livarot", + "Pont-l'Évêque": "pont_leveque", + Morbier: "morbier", + "Raclette (fromage)": "raclette_cheese", + "Fourme d'Ambert": "fourme_d_ambert", + Salers: "salers", + "Ossau-Iraty": "ossau_iraty", + Vacherin: "vacherin", + "Saint-Marcellin": "saint_marcellin", + Neufchâtel: "neufchatel", + "Crottin de Chavignol": "crottin_de_chavignol", + Abondance: "abondance_cheese", + "Carré de l'Est": "carre_de_l_est", + Edam: "edam", + Gouda: "gouda", + Mimolette: "mimolette", + Maroilles: "maroilles", + "Mont d'or": "mont_dor", + Kéfir: "kefir", + "Yaourt à la grecque": "greek_yogurt", // --- Crémerie & fromage / Œufs ------------------------------------------- Œuf: "egg", @@ -432,6 +531,9 @@ const INGREDIENT_KEYS: Record = { "Pâte de curry rouge (thaï)": "red_curry_paste", "Pâte de curry vert (thaï)": "green_curry_paste", Tahini: "tahini", + Aïoli: "aioli", + "Sauce vinaigrette": "vinaigrette", + Houmous: "hummus", // --- Condiments & épices / Assaisonnements ----------------------------------- "Huile d'olive": "olive_oil", @@ -444,8 +546,11 @@ const INGREDIENT_KEYS: Record = { "Vinaigre balsamique": "balsamic_vinegar", Câpres: "capers", Olives: "olives", + "Olives noires": "black_olives", + "Olives vertes": "green_olives", "Vin blanc (cuisine)": "white_wine", "Vin rouge (cuisine)": "red_wine", + "Vin rosé (cuisine)": "rose_wine", "Vinaigre de vin rouge": "red_wine_vinegar", "Vinaigre de vin blanc": "white_wine_vinegar", "Vinaigre de xérès": "sherry_vinegar", @@ -453,6 +558,10 @@ const INGREDIENT_KEYS: Record = { "Huile de noisette": "hazelnut_oil", "Huile d'arachide": "peanut_oil", "Huile pimentée": "chili_oil", + "Huile de maïs": "corn_oil", + "Huile de pépins de raisin": "grapeseed_oil", + "Huile de soja": "soybean_oil", + "Huile de palme": "palm_oil", "Vinaigre de riz": "rice_vinegar", Mirin: "mirin", "Saké (cuisine)": "sake", diff --git a/apps/api/src/db/reference-seed-data.ts b/apps/api/src/db/reference-seed-data.ts index a827435..d49394c 100644 --- a/apps/api/src/db/reference-seed-data.ts +++ b/apps/api/src/db/reference-seed-data.ts @@ -170,6 +170,21 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Shiitake", allergenNames: [] }, { name: "Daikon", allergenNames: [] }, { name: "Piment vert frais", allergenNames: [] }, + { name: "Cardon", allergenNames: [] }, + // Second Ciqual pass — see the PR description. + { name: "Chicorée rouge", allergenNames: [] }, + { name: "Chou romanesco", allergenNames: [] }, + { name: "Chou-rave", allergenNames: [] }, + { name: "Chou chinois", allergenNames: [] }, + { name: "Céleri-rave", allergenNames: ["Céleri"] }, + { name: "Gombo", allergenNames: [] }, + { name: "Oignon nouveau", allergenNames: [] }, + { name: "Potimarron", allergenNames: [] }, + { name: "Rutabaga", allergenNames: [] }, + { name: "Salicorne", allergenNames: [] }, + { name: "Salsifis", allergenNames: [] }, + { name: "Mâche", allergenNames: [] }, + { name: "Scarole", allergenNames: [] }, ], }, { @@ -206,6 +221,13 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Grenade", allergenNames: [] }, { name: "Rhubarbe", allergenNames: [] }, { name: "Coing", allergenNames: [] }, + { name: "Cassis", allergenNames: [] }, + { name: "Canneberge", allergenNames: [] }, + // Second Ciqual pass. + { name: "Groseille", allergenNames: [] }, + { name: "Kaki", allergenNames: [] }, + { name: "Nectarine", allergenNames: [] }, + { name: "Tamarin", allergenNames: [] }, ], }, { @@ -263,6 +285,34 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Pancetta", allergenNames: [] }, { name: "Mortadelle", allergenNames: [] }, { name: "Salami", allergenNames: [] }, + // Added from the Ciqual 2025 "aliments moyens" table — French + // charcuterie/offal/game staples the pantry list was missing (see + // the PR description for how this batch was sourced/curated). + { name: "Andouille", allergenNames: [] }, + { name: "Andouillette", allergenNames: [] }, + { name: "Boudin blanc", allergenNames: [] }, + { name: "Boudin noir", allergenNames: [] }, + { name: "Cervelas", allergenNames: [] }, + { name: "Rillettes", allergenNames: [] }, + { name: "Saucisson sec", allergenNames: [] }, + { name: "Jambon de Bayonne", allergenNames: [] }, + { name: "Coppa", allergenNames: [] }, + { name: "Rosette (saucisson)", allergenNames: [] }, + { name: "Foie de veau", allergenNames: [] }, + { name: "Rognons de veau", allergenNames: [] }, + { name: "Cervelle de veau", allergenNames: [] }, + { name: "Ris de veau", allergenNames: [] }, + { name: "Langue de bœuf", allergenNames: [] }, + { name: "Tripes", allergenNames: [] }, + { name: "Cerf", allergenNames: [] }, + { name: "Chevreuil", allergenNames: [] }, + { name: "Sanglier", allergenNames: [] }, + // Second Ciqual pass. + { name: "Cheval", allergenNames: [] }, + { name: "Cœur de bœuf", allergenNames: [] }, + { name: "Foie gras", allergenNames: [] }, + { name: "Museau de bœuf", allergenNames: [] }, + { name: "Viande des Grisons", allergenNames: [] }, ], }, { @@ -275,6 +325,15 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Dinde", allergenNames: [] }, { name: "Canard", allergenNames: [] }, { name: "Magret de canard", allergenNames: [] }, + // Ciqual 2025 additions — see the VIANDES group above. + { name: "Caille", allergenNames: [] }, + { name: "Pintade", allergenNames: [] }, + { name: "Oie", allergenNames: [] }, + { name: "Foie de volaille", allergenNames: [] }, + // Second Ciqual pass. + { name: "Chapon", allergenNames: [] }, + { name: "Pigeon", allergenNames: [] }, + { name: "Faisan", allergenNames: [] }, ], }, { @@ -313,6 +372,13 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Panga", allergenNames: ["Poissons"] }, { name: "Saumon fumé", allergenNames: ["Poissons"] }, { name: "Poisson séché", allergenNames: ["Poissons"] }, + // Ciqual 2025 additions. + { name: "Anguille", allergenNames: ["Poissons"] }, + { name: "Carrelet (ou plie)", allergenNames: ["Poissons"] }, + // Second Ciqual pass. + { name: "Morue", allergenNames: ["Poissons"] }, + { name: "Limande", allergenNames: ["Poissons"] }, + { name: "Rascasse", allergenNames: ["Poissons"] }, ], }, { @@ -333,6 +399,15 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Poulpe", allergenNames: ["Mollusques"] }, { name: "Palourdes", allergenNames: ["Mollusques"] }, { name: "Bulots", allergenNames: ["Mollusques"] }, + // Ciqual 2025 additions. + { name: "Araignée de mer", allergenNames: ["Crustacés"] }, + { name: "Bigorneau", allergenNames: ["Mollusques"] }, + // Second Ciqual pass. + { name: "Écrevisse", allergenNames: ["Crustacés"] }, + { name: "Crevette grise", allergenNames: ["Crustacés"] }, + { name: "Coque", allergenNames: ["Mollusques"] }, + { name: "Escargot", allergenNames: ["Mollusques"] }, + { name: "Seiche", allergenNames: ["Mollusques"] }, ], }, // ========================================================================= @@ -388,6 +463,9 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Fèves", allergenNames: [] }, { name: "Edamame", allergenNames: ["Soja"] }, { name: "Haricots pinto", allergenNames: [] }, + // Second Ciqual pass. + { name: "Haricots flageolets", allergenNames: [] }, + { name: "Lentilles blondes", allergenNames: [] }, ], }, { @@ -475,6 +553,8 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Ciabatta", reproducible: true, allergenNames: ["Gluten"] }, { name: "Tortilla de maïs", allergenNames: [] }, { name: "Tortilla de blé", allergenNames: ["Gluten"] }, + // Second Ciqual pass. + { name: "Gressin", reproducible: true, allergenNames: ["Gluten"] }, ], }, { @@ -533,6 +613,44 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Pecorino", icon: "CHEESE", allergenNames: ["Lait"] }, { name: "Gorgonzola", icon: "CHEESE", allergenNames: ["Lait"] }, { name: "Cheddar", icon: "CHEESE", allergenNames: ["Lait"] }, + // Ciqual 2025 additions — classic French regional cheeses the + // catalog only had a handful of internationally-known ones for + // (Emmental, Parmesan, Mozzarella…), missing the actual French + // aisle staples Ciqual's "aliments moyens" table surfaced. + { name: "Brie", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Camembert", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Roquefort", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Munster", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Reblochon", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Cantal", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Beaufort", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Saint-Nectaire", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Bleu (fromage)", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Cancoillotte", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Tomme", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Époisses", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Chaource", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Livarot", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Pont-l'Évêque", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Morbier", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Raclette (fromage)", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Fourme d'Ambert", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Salers", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Ossau-Iraty", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Vacherin", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Saint-Marcellin", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Neufchâtel", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Crottin de Chavignol", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Abondance", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Carré de l'Est", icon: "CHEESE", allergenNames: ["Lait"] }, + // Second Ciqual pass. + { name: "Edam", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Gouda", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Mimolette", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Maroilles", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Mont d'or", icon: "CHEESE", allergenNames: ["Lait"] }, + { name: "Kéfir", allergenNames: ["Lait"] }, + { name: "Yaourt à la grecque", allergenNames: ["Lait"] }, ], }, { @@ -704,6 +822,15 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Pâte de curry rouge (thaï)", allergenNames: [] }, { name: "Pâte de curry vert (thaï)", allergenNames: [] }, { name: "Tahini", reproducible: true, allergenNames: ["Graines de sésame"] }, + // Second Ciqual pass. + { + name: "Aïoli", + reproducible: true, + allergenNames: ["Œufs"], + dietNames: ["Végétarien", "Pescétarien"], + }, + { name: "Sauce vinaigrette", reproducible: true, allergenNames: [] }, + { name: "Houmous", reproducible: true, allergenNames: ["Graines de sésame"] }, ], }, { @@ -722,8 +849,11 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Vinaigre balsamique", allergenNames: ["Sulfites"] }, { name: "Câpres", icon: "JAR", allergenNames: [] }, { name: "Olives", icon: "JAR", allergenNames: [] }, + { name: "Olives noires", icon: "JAR", allergenNames: [] }, + { name: "Olives vertes", icon: "JAR", allergenNames: [] }, { name: "Vin blanc (cuisine)", icon: "DRINK", allergenNames: ["Sulfites"] }, { name: "Vin rouge (cuisine)", icon: "DRINK", allergenNames: ["Sulfites"] }, + { name: "Vin rosé (cuisine)", icon: "DRINK", allergenNames: ["Sulfites"] }, { name: "Vinaigre de vin rouge", allergenNames: ["Sulfites"] }, { name: "Vinaigre de vin blanc", allergenNames: ["Sulfites"] }, { name: "Vinaigre de xérès", allergenNames: ["Sulfites"] }, @@ -732,6 +862,11 @@ export const INGREDIENT_GROUPS: Array<{ { name: "Huile d'arachide", allergenNames: ["Arachides"] }, { name: "Huile pimentée", allergenNames: [] }, { name: "Vinaigre de riz", allergenNames: [] }, + // Second Ciqual pass. + { name: "Huile de maïs", allergenNames: [] }, + { name: "Huile de pépins de raisin", allergenNames: [] }, + { name: "Huile de soja", allergenNames: ["Soja"] }, + { name: "Huile de palme", allergenNames: [] }, { name: "Mirin", icon: "DRINK", allergenNames: [] }, { name: "Saké (cuisine)", icon: "DRINK", allergenNames: [] }, { name: "Jus de citron", icon: "DRINK", allergenNames: [] }, diff --git a/apps/web/src/locales/fr/translation.json b/apps/web/src/locales/fr/translation.json index 88ee79b..d7099ad 100644 --- a/apps/web/src/locales/fr/translation.json +++ b/apps/web/src/locales/fr/translation.json @@ -387,6 +387,20 @@ "shiitake": "Shiitake", "daikon": "Daikon", "fresh_green_chili": "Piment vert frais", + "cardoon": "Cardon", + "radicchio": "Chicorée rouge", + "romanesco": "Chou romanesco", + "kohlrabi": "Chou-rave", + "napa_cabbage": "Chou chinois", + "celeriac": "Céleri-rave", + "okra": "Gombo", + "spring_onion": "Oignon nouveau", + "red_kuri_squash": "Potimarron", + "rutabaga": "Rutabaga", + "samphire": "Salicorne", + "salsify": "Salsifis", + "lambs_lettuce": "Mâche", + "escarole": "Scarole", "lemon": "Citron", "lime": "Citron vert", "apple": "Pomme", @@ -415,6 +429,12 @@ "pomegranate": "Grenade", "rhubarb": "Rhubarbe", "quince": "Coing", + "blackcurrant": "Cassis", + "cranberry": "Canneberge", + "redcurrant": "Groseille", + "persimmon": "Kaki", + "nectarine": "Nectarine", + "tamarind": "Tamarin", "basil": "Basilic", "parsley": "Persil", "thyme": "Thym", @@ -453,10 +473,41 @@ "pancetta": "Pancetta", "mortadella": "Mortadelle", "salami": "Salami", + "andouille": "Andouille", + "andouillette": "Andouillette", + "white_pudding": "Boudin blanc", + "black_pudding": "Boudin noir", + "cervelat": "Cervelas", + "rillettes": "Rillettes", + "dry_cured_sausage": "Saucisson sec", + "bayonne_ham": "Jambon de Bayonne", + "coppa": "Coppa", + "rosette_sausage": "Rosette (saucisson)", + "veal_liver": "Foie de veau", + "veal_kidneys": "Rognons de veau", + "veal_brain": "Cervelle de veau", + "veal_sweetbread": "Ris de veau", + "beef_tongue": "Langue de bœuf", + "tripe": "Tripes", + "venison": "Cerf", + "roe_deer": "Chevreuil", + "wild_boar": "Sanglier", + "horse_meat": "Cheval", + "beef_heart": "Cœur de bœuf", + "foie_gras": "Foie gras", + "beef_muzzle": "Museau de bœuf", + "grisons_dried_beef": "Viande des Grisons", "chicken": "Poulet", "turkey": "Dinde", "duck": "Canard", "duck_breast": "Magret de canard", + "quail": "Caille", + "guinea_fowl": "Pintade", + "goose": "Oie", + "poultry_liver": "Foie de volaille", + "capon": "Chapon", + "pigeon": "Pigeon", + "pheasant": "Faisan", "salmon": "Saumon", "tuna": "Thon", "cod": "Cabillaud", @@ -487,6 +538,11 @@ "pangasius": "Panga", "smoked_salmon": "Saumon fumé", "dried_fish": "Poisson séché", + "eel": "Anguille", + "plaice": "Carrelet (ou plie)", + "salt_cod": "Morue", + "lemon_sole": "Limande", + "scorpionfish": "Rascasse", "shrimp": "Crevettes", "langoustine": "Langoustines", "lobster": "Homard", @@ -499,6 +555,13 @@ "octopus": "Poulpe", "clams": "Palourdes", "whelks": "Bulots", + "spider_crab": "Araignée de mer", + "periwinkle": "Bigorneau", + "crayfish": "Écrevisse", + "grey_shrimp": "Crevette grise", + "cockle": "Coque", + "snail": "Escargot", + "cuttlefish": "Seiche", "semolina": "Semoule", "couscous": "Couscous", "bulgur": "Boulgour", @@ -535,6 +598,8 @@ "fava_beans": "Fèves", "edamame": "Edamame", "pinto_beans": "Haricots pinto", + "flageolet_beans": "Haricots flageolets", + "golden_lentils": "Lentilles blondes", "peanuts_shelled": "Cacahuètes", "almonds": "Amandes", "walnuts": "Noix", @@ -582,6 +647,7 @@ "ciabatta": "Ciabatta", "corn_tortilla": "Tortilla de maïs", "wheat_tortilla": "Tortilla de blé", + "breadstick": "Gressin", "puff_pastry": "Pâte feuilletée", "shortcrust_pastry": "Pâte brisée", "pizza_dough": "Pâte à pizza", @@ -606,6 +672,39 @@ "pecorino": "Pecorino", "gorgonzola": "Gorgonzola", "cheddar": "Cheddar", + "brie": "Brie", + "camembert": "Camembert", + "roquefort": "Roquefort", + "munster": "Munster", + "reblochon": "Reblochon", + "cantal": "Cantal", + "beaufort": "Beaufort", + "saint_nectaire": "Saint-Nectaire", + "blue_cheese": "Bleu (fromage)", + "cancoillotte": "Cancoillotte", + "tomme": "Tomme", + "epoisses": "Époisses", + "chaource": "Chaource", + "livarot": "Livarot", + "pont_leveque": "Pont-l'Évêque", + "morbier": "Morbier", + "raclette_cheese": "Raclette (fromage)", + "fourme_d_ambert": "Fourme d'Ambert", + "salers": "Salers", + "ossau_iraty": "Ossau-Iraty", + "vacherin": "Vacherin", + "saint_marcellin": "Saint-Marcellin", + "neufchatel": "Neufchâtel", + "crottin_de_chavignol": "Crottin de Chavignol", + "abondance_cheese": "Abondance", + "carre_de_l_est": "Carré de l'Est", + "edam": "Edam", + "gouda": "Gouda", + "mimolette": "Mimolette", + "maroilles": "Maroilles", + "mont_dor": "Mont d'or", + "kefir": "Kéfir", + "greek_yogurt": "Yaourt à la grecque", "egg": "Œuf", "coconut_milk": "Lait de coco", "coconut_cream": "Crème de coco", @@ -689,6 +788,9 @@ "red_curry_paste": "Pâte de curry rouge (thaï)", "green_curry_paste": "Pâte de curry vert (thaï)", "tahini": "Tahini", + "aioli": "Aïoli", + "vinaigrette": "Sauce vinaigrette", + "hummus": "Houmous", "olive_oil": "Huile d'olive", "sunflower_oil": "Huile de tournesol", "rapeseed_oil": "Huile de colza", @@ -699,8 +801,11 @@ "balsamic_vinegar": "Vinaigre balsamique", "capers": "Câpres", "olives": "Olives", + "black_olives": "Olives noires", + "green_olives": "Olives vertes", "white_wine": "Vin blanc (cuisine)", "red_wine": "Vin rouge (cuisine)", + "rose_wine": "Vin rosé (cuisine)", "red_wine_vinegar": "Vinaigre de vin rouge", "white_wine_vinegar": "Vinaigre de vin blanc", "sherry_vinegar": "Vinaigre de xérès", @@ -709,6 +814,10 @@ "peanut_oil": "Huile d'arachide", "chili_oil": "Huile pimentée", "rice_vinegar": "Vinaigre de riz", + "corn_oil": "Huile de maïs", + "grapeseed_oil": "Huile de pépins de raisin", + "soybean_oil": "Huile de soja", + "palm_oil": "Huile de palme", "mirin": "Mirin", "sake": "Saké (cuisine)", "lemon_juice": "Jus de citron",