/**
 * French display/matching labels for the `Ingredient` reference catalog
 * (`apps/api/src/db/reference-seed-data.ts`'s `INGREDIENT_GROUPS`), keyed
 * by the same `Ingredient.key` used throughout the app — the French
 * counterpart to {@link INGREDIENT_LABELS_EN} (catalog-labels-en.ts), used
 * by `apps/api/src/lib/recipe-matching/ingredient-matcher.ts` to resolve
 * free-text ingredient lines from French-language recipe sources (Marmiton,
 * 750g, Manger Bouger) against our catalog.
 *
 * Deliberately **not** hand-authored from scratch: every value here is
 * copied verbatim from `apps/web/src/locales/fr/translation.json`'s
 * `catalog.ingredients` (the same French names already shown in the UI),
 * not written fresh for matching purposes the way {@link INGREDIENT_LABELS_EN}
 * was. That reuse is a deliberate trade-off, not an oversight: it guarantees
 * every one of this catalog's ~550 ingredients gets *some* French matching
 * label for free, at the cost of a few labels being phrased for display
 * (a UI-friendly short name) rather than for how someone would actually
 * write it in running recipe text — e.g. `vanillaBean`'s "Vanille (gousse)"
 * won't match "1 gousse de vanille" (matching is ordered — see
 * `matchIngredientName`'s own doc comment — and "gousse" comes first in
 * real usage, not "vanille"), which is exactly what
 * {@link INGREDIENT_LABEL_SYNONYMS_FR} below exists to patch up, entry by
 * entry, as real mismatches like that one turn up — the ingredient still
 * resolves correctly once a synonym in the natural word order is added, no
 * change to the primary (display) label required.
 */
export const INGREDIENT_LABELS_FR: Record<string, string> = {
  // Vegetables
  tomato: "Tomate",
  onion: "Oignon",
  shallot: "Échalote",
  garlic: "Ail",
  carrot: "Carotte",
  zucchini: "Courgette",
  cucumber: "Concombre",
  gherkins: "Cornichons",
  bellPepper: "Poivron",
  mushroom: "Champignon",
  porcini: "Cèpes",
  eggplant: "Aubergine",
  broccoli: "Brocoli",
  cauliflower: "Chou-fleur",
  whiteCabbage: "Chou blanc",
  redCabbage: "Chou rouge",
  brusselsSprouts: "Chou de Bruxelles",
  spinach: "Épinard",
  swissChard: "Blette",
  lettuce: "Salade",
  arugula: "Roquette",
  watercress: "Cresson",
  leek: "Poireau",
  celery: "Céleri",
  radish: "Radis",
  beetroot: "Betterave",
  turnip: "Navet",
  parsnip: "Panais",
  greenBean: "Haricot vert",
  pea: "Petit pois",
  corn: "Maïs",
  artichoke: "Artichaut",
  fennel: "Fenouil",
  endive: "Endive",
  pumpkin: "Potiron",
  butternutSquash: "Butternut",
  asparagus: "Asperge",
  avocado: "Avocat",
  potato: "Pomme de terre",
  sweetPotato: "Patate douce",
  cherryTomato: "Tomates cerises",
  bokChoy: "Pak-choï",
  soybeanSprouts: "Germes de soja",
  shiitake: "Shiitake",
  daikon: "Daikon",
  freshGreenChili: "Piment vert frais",
  cardoon: "Cardon",
  radicchio: "Chicorée rouge",
  romanesco: "Chou romanesco",
  kohlrabi: "Chou-rave",
  napaCabbage: "Chou chinois",
  celeriac: "Céleri-rave",
  okra: "Gombo",
  springOnion: "Oignon nouveau",
  redKuriSquash: "Potimarron",
  rutabaga: "Rutabaga",
  samphire: "Salicorne",
  salsify: "Salsifis",
  lambsLettuce: "Mâche",
  escarole: "Scarole",
  // Fruits
  lemon: "Citron",
  lime: "Citron vert",
  apple: "Pomme",
  pear: "Poire",
  banana: "Banane",
  orange: "Orange",
  clementine: "Clémentine",
  grapefruit: "Pamplemousse",
  strawberry: "Fraise",
  raspberry: "Framboise",
  blueberry: "Myrtille",
  blackberry: "Mûre",
  cherry: "Cerise",
  apricot: "Abricot",
  peach: "Pêche",
  plum: "Prune",
  grape: "Raisin",
  melon: "Melon",
  watermelon: "Pastèque",
  pineapple: "Ananas",
  mango: "Mangue",
  kiwi: "Kiwi",
  fig: "Figue",
  date: "Datte",
  lychee: "Litchi",
  pomegranate: "Grenade",
  rhubarb: "Rhubarbe",
  quince: "Coing",
  blackcurrant: "Cassis",
  cranberry: "Canneberge",
  redcurrant: "Groseille",
  persimmon: "Kaki",
  nectarine: "Nectarine",
  tamarind: "Tamarin",
  // Fresh herbs
  basil: "Basilic",
  parsley: "Persil",
  thyme: "Thym",
  rosemary: "Romarin",
  bayLeaf: "Laurier",
  chives: "Ciboulette",
  freshCilantro: "Coriandre fraîche",
  mint: "Menthe",
  oregano: "Origan",
  dill: "Aneth",
  tarragon: "Estragon",
  savory: "Sarriette",
  marjoram: "Marjolaine",
  sage: "Sauge",
  chervil: "Cerfeuil",
  ginger: "Gingembre",
  lemongrass: "Citronnelle",
  kaffirLime: "Combava",
  // Meats
  rabbit: "Lapin",
  groundBeef: "Bœuf haché",
  beefSteak: "Steak de bœuf",
  beefRoast: "Rôti de bœuf",
  vealCutlet: "Escalope de veau",
  porkTenderloin: "Filet mignon de porc",
  porkChop: "Côte de porc",
  groundVeal: "Veau haché",
  groundPork: "Porc haché",
  groundLamb: "Agneau haché",
  lamb: "Agneau",
  legOfLamb: "Gigot d'agneau",
  baconLardons: "Lardons",
  bacon: "Bacon",
  ham: "Jambon blanc",
  curedHam: "Jambon cru",
  sausage: "Saucisse",
  chorizo: "Chorizo",
  merguez: "Merguez",
  prosciutto: "Prosciutto",
  pancetta: "Pancetta",
  mortadella: "Mortadelle",
  salami: "Salami",
  andouille: "Andouille",
  andouillette: "Andouillette",
  whitePudding: "Boudin blanc",
  blackPudding: "Boudin noir",
  cervelat: "Cervelas",
  rillettes: "Rillettes",
  dryCuredSausage: "Saucisson sec",
  bayonneHam: "Jambon de Bayonne",
  coppa: "Coppa",
  rosetteSausage: "Rosette (saucisson)",
  vealLiver: "Foie de veau",
  vealKidneys: "Rognons de veau",
  vealBrain: "Cervelle de veau",
  vealSweetbread: "Ris de veau",
  beefTongue: "Langue de bœuf",
  tripe: "Tripes",
  venison: "Cerf",
  roeDeer: "Chevreuil",
  wildBoar: "Sanglier",
  horseMeat: "Cheval",
  beefHeart: "Cœur de bœuf",
  foieGras: "Foie gras",
  beefMuzzle: "Museau de bœuf",
  grisonsDriedBeef: "Viande des Grisons",
  // Poultry
  chicken: "Poulet",
  groundChicken: "Poulet haché",
  turkey: "Dinde",
  groundTurkey: "Dinde hachée",
  duck: "Canard",
  duckBreast: "Magret de canard",
  quail: "Caille",
  guineaFowl: "Pintade",
  goose: "Oie",
  poultryLiver: "Foie de volaille",
  capon: "Chapon",
  pigeon: "Pigeon",
  pheasant: "Faisan",
  // Fish
  salmon: "Saumon",
  tuna: "Thon",
  cod: "Cabillaud",
  trout: "Truite",
  sardine: "Sardine",
  anchovy: "Anchois",
  whiting: "Merlan",
  surimi: "Surimi",
  seaBass: "Bar (loup de mer)",
  seaBream: "Dorade",
  sole: "Sole",
  turbot: "Turbot",
  hake: "Merlu",
  pollock: "Colin",
  saithe: "Lieu noir",
  haddock: "Églefin",
  mackerel: "Maquereau",
  herring: "Hareng",
  redMullet: "Rouget",
  skate: "Raie",
  monkfish: "Lotte",
  halibut: "Flétan",
  swordfish: "Espadon",
  carp: "Carpe",
  pike: "Brochet",
  perch: "Perche",
  tilapia: "Tilapia",
  pangasius: "Panga",
  smokedSalmon: "Saumon fumé",
  driedFish: "Poisson séché",
  eel: "Anguille",
  plaice: "Carrelet (ou plie)",
  saltCod: "Morue",
  lemonSole: "Limande",
  scorpionfish: "Rascasse",
  // Shellfish
  shrimp: "Crevettes",
  langoustine: "Langoustines",
  lobster: "Homard",
  crab: "Crabe",
  spinyLobster: "Langouste",
  mussels: "Moules",
  oysters: "Huîtres",
  scallops: "Saint-Jacques",
  squid: "Calamar",
  octopus: "Poulpe",
  clams: "Palourdes",
  whelks: "Bulots",
  spiderCrab: "Araignée de mer",
  periwinkle: "Bigorneau",
  crayfish: "Écrevisse",
  greyShrimp: "Crevette grise",
  cockle: "Coque",
  snail: "Escargot",
  cuttlefish: "Seiche",
  // Starches
  semolina: "Semoule",
  couscous: "Couscous",
  bulgur: "Boulgour",
  polenta: "Polenta",
  quinoa: "Quinoa",
  pasta: "Pâtes",
  wholeWheatPasta: "Pâtes complètes",
  rice: "Riz",
  basmatiRice: "Riz basmati",
  brownRice: "Riz complet",
  oats: "Flocons d'avoine",
  spaghetti: "Spaghetti",
  penne: "Penne",
  tagliatelle: "Tagliatelles",
  lasagnaSheets: "Lasagnes (feuilles)",
  gnocchi: "Gnocchi",
  arborioRice: "Riz arborio",
  riceNoodles: "Nouilles de riz",
  udonNoodles: "Nouilles udon",
  sobaNoodles: "Nouilles soba",
  chineseNoodles: "Nouilles chinoises",
  riceVermicelli: "Vermicelles de riz",
  soyVermicelli: "Vermicelles de soja",
  stickyRice: "Riz gluant",
  sushiRice: "Riz à sushi",
  jasmineRice: "Riz jasmin",
  // Legumes
  greenLentils: "Lentilles vertes",
  redLentils: "Lentilles corail",
  chickpeas: "Pois chiches",
  whiteBeans: "Haricots blancs",
  kidneyBeans: "Haricots rouges",
  blackBeans: "Haricots noirs",
  splitPeas: "Pois cassés",
  favaBeans: "Fèves",
  edamame: "Edamame",
  pintoBeans: "Haricots pinto",
  flageoletBeans: "Haricots flageolets",
  goldenLentils: "Lentilles blondes",
  // Nuts, seeds and other dry goods
  peanutsShelled: "Cacahuètes",
  almonds: "Amandes",
  walnuts: "Noix",
  hazelnuts: "Noisettes",
  cashews: "Noix de cajou",
  pistachios: "Pistaches",
  pecans: "Noix de pécan",
  almondPowder: "Poudre d'amande",
  pineNuts: "Pignons de pin",
  sunflowerSeeds: "Graines de tournesol",
  pumpkinSeeds: "Graines de courge",
  shreddedCoconut: "Noix de coco râpée",
  raisins: "Raisins secs",
  prunes: "Pruneaux",
  driedApricots: "Abricots secs",
  sesameSeeds: "Graines de sésame",
  blackMushrooms: "Champignons noirs",
  noriSeaweed: "Algue nori",
  wakameSeaweed: "Algue wakamé",
  kombuSeaweed: "Algue kombu",
  bambooShoots: "Pousses de bambou",
  waterChestnuts: "Châtaignes d'eau",
  // Breads
  bread: "Pain",
  sandwichBread: "Pain de mie",
  wholeWheatBread: "Pain complet",
  baguette: "Baguette",
  ryeBread: "Pain de seigle",
  breadcrumbs: "Chapelure",
  burgerBun: "Pain à burger",
  briocheBun: "Pain brioché",
  hotDogBun: "Pain à hot-dog",
  pitaBread: "Pain pita",
  bagel: "Pain bagel",
  naan: "Naan",
  wrapBread: "Pain wrap",
  vienneseBread: "Pain viennois",
  countryBread: "Pain de campagne",
  multigrainBread: "Pain aux céréales",
  breadRoll: "Petit pain",
  swedishBread: "Pain suédois",
  glutenFreeBread: "Pain sans gluten",
  rusk: "Biscotte",
  croutons: "Croûtons",
  focaccia: "Focaccia",
  ciabatta: "Ciabatta",
  cornTortilla: "Tortilla de maïs",
  wheatTortilla: "Tortilla de blé",
  breadstick: "Gressin",
  // Raw dough
  puffPastry: "Pâte feuilletée",
  shortcrustPastry: "Pâte brisée",
  pizzaDough: "Pâte à pizza",
  sweetShortcrustPastry: "Pâte à tarte sablée",
  // Dairy
  milk: "Lait",
  butter: "Beurre",
  cremeFraiche: "Crème fraîche",
  liquidCream: "Crème liquide",
  cheese: "Fromage",
  emmental: "Emmental",
  gruyere: "Gruyère",
  parmesan: "Parmesan",
  mozzarella: "Mozzarella",
  goatCheese: "Chèvre (fromage)",
  feta: "Feta",
  comte: "Comté",
  fromageBlanc: "Fromage blanc",
  mascarpone: "Mascarpone",
  yogurt: "Yaourt",
  burrata: "Burrata",
  ricotta: "Ricotta",
  pecorino: "Pecorino",
  gorgonzola: "Gorgonzola",
  cheddar: "Cheddar",
  brie: "Brie",
  camembert: "Camembert",
  roquefort: "Roquefort",
  munster: "Munster",
  reblochon: "Reblochon",
  cantal: "Cantal",
  beaufort: "Beaufort",
  saintNectaire: "Saint-Nectaire",
  blueCheese: "Bleu (fromage)",
  cancoillotte: "Cancoillotte",
  tomme: "Tomme",
  epoisses: "Époisses",
  chaource: "Chaource",
  livarot: "Livarot",
  pontLeveque: "Pont-l'Évêque",
  morbier: "Morbier",
  racletteCheese: "Raclette (fromage)",
  fourmeDAmbert: "Fourme d'Ambert",
  salers: "Salers",
  ossauIraty: "Ossau-Iraty",
  vacherin: "Vacherin",
  saintMarcellin: "Saint-Marcellin",
  neufchatel: "Neufchâtel",
  crottinDeChavignol: "Crottin de Chavignol",
  abondanceCheese: "Abondance",
  carreDeLEst: "Carré de l'Est",
  edam: "Edam",
  gouda: "Gouda",
  mimolette: "Mimolette",
  maroilles: "Maroilles",
  montDor: "Mont d'or",
  kefir: "Kéfir",
  greekYogurt: "Yaourt à la grecque",
  // Eggs
  egg: "Oeuf",
  eggYolk: "Jaune d'oeuf",
  eggWhite: "Blanc d'oeuf",
  // Plant-based alternatives
  coconutMilk: "Lait de coco",
  coconutCream: "Crème de coco",
  almondMilk: "Lait d'amande",
  oatMilk: "Lait d'avoine",
  tofu: "Tofu",
  silkenTofu: "Tofu soyeux",
  // Spices
  herbesDeProvence: "Herbes de Provence",
  blackPepper: "Poivre noir",
  paprika: "Paprika",
  espelettePepper: "Piment d'Espelette",
  cayennePepper: "Piment de Cayenne",
  cumin: "Cumin",
  curryPowder: "Curry (poudre)",
  turmeric: "Curcuma",
  cinnamon: "Cannelle",
  nutmeg: "Muscade",
  saffron: "Safran",
  clove: "Clou de girofle",
  vanillaBean: "Vanille (gousse)",
  whitePepper: "Poivre blanc",
  pinkPepper: "Poivre rose",
  sichuanPepper: "Poivre du Sichuan",
  smokedPaprika: "Paprika fumé",
  birdEyeChili: "Piment oiseau",
  juniperBerries: "Baies de genièvre",
  starAnise: "Anis étoilé (badiane)",
  greenAnise: "Anis vert",
  fennelSeeds: "Graines de fenouil",
  sumac: "Sumac",
  nigella: "Nigelle",
  allspice: "Quatre épices",
  colomboPowder: "Colombo (poudre)",
  baharat: "Baharat",
  horseradish: "Raifort",
  herbSalt: "Sel aux herbes",
  celerySalt: "Sel de céleri",
  fleurDeSel: "Fleur de sel",
  salt: "Sel",
  fiveSpice: "Cinq épices",
  garamMasala: "Garam masala",
  corianderSeeds: "Graines de coriandre",
  groundCoriander: "Coriandre en poudre",
  cardamom: "Cardamome",
  fenugreek: "Fenugrec",
  jalapeno: "Piment jalapeño",
  chipotle: "Piment chipotle",
  poblanoPepper: "Piment poblano",
  habanero: "Piment habanero",
  rasElHanout: "Ras el hanout",
  zaatar: "Za'atar",
  // Sauces
  soySauce: "Sauce soja",
  mustard: "Moutarde",
  mayonnaise: "Mayonnaise",
  ketchup: "Ketchup",
  tabasco: "Tabasco",
  worcestershireSauce: "Sauce Worcestershire",
  fishSauce: "Sauce nuoc-mâm",
  wasabi: "Wasabi",
  harissa: "Harissa",
  curryPaste: "Pâte de curry",
  peanutButter: "Beurre de cacahuète",
  dijonMustard: "Moutarde de Dijon",
  wholegrainMustard: "Moutarde à l'ancienne",
  barbecueSauce: "Sauce barbecue",
  tartarSauce: "Sauce tartare",
  cocktailSauce: "Sauce cocktail",
  bearnaiseSauce: "Sauce béarnaise",
  hollandaiseSauce: "Sauce hollandaise",
  bechamelSauce: "Sauce béchamel",
  teriyakiSauce: "Sauce teriyaki",
  ponzuSauce: "Sauce ponzu",
  chimichurri: "Chimichurri",
  redPesto: "Pesto rouge (tomates séchées)",
  pesto: "Pesto",
  oysterSauce: "Sauce huître",
  hoisinSauce: "Sauce hoisin",
  sriracha: "Sauce sriracha",
  sweetChiliSauce: "Sauce sweet chili",
  miso: "Miso",
  shrimpPaste: "Pâte de crevettes",
  redCurryPaste: "Pâte de curry rouge (thaï)",
  greenCurryPaste: "Pâte de curry vert (thaï)",
  tahini: "Tahini",
  aioli: "Aïoli",
  vinaigrette: "Sauce vinaigrette",
  hummus: "Houmous",
  // Seasonings — oils, vinegars, wines and other flavorings
  oliveOil: "Huile d'olive",
  sunflowerOil: "Huile de tournesol",
  rapeseedOil: "Huile de colza",
  coconutOil: "Huile de coco",
  sesameOil: "Huile de sésame",
  ciderVinegar: "Vinaigre de cidre",
  whiteVinegar: "Vinaigre blanc",
  balsamicVinegar: "Vinaigre balsamique",
  capers: "Câpres",
  olives: "Olives",
  blackOlives: "Olives noires",
  greenOlives: "Olives vertes",
  whiteWine: "Vin blanc (cuisine)",
  redWine: "Vin rouge (cuisine)",
  roseWine: "Vin rosé (cuisine)",
  redWineVinegar: "Vinaigre de vin rouge",
  whiteWineVinegar: "Vinaigre de vin blanc",
  sherryVinegar: "Vinaigre de xérès",
  walnutOil: "Huile de noix",
  hazelnutOil: "Huile de noisette",
  peanutOil: "Huile d'arachide",
  chiliOil: "Huile pimentée",
  riceVinegar: "Vinaigre de riz",
  cornOil: "Huile de maïs",
  grapeseedOil: "Huile de pépins de raisin",
  soybeanOil: "Huile de soja",
  palmOil: "Huile de palme",
  mirin: "Mirin",
  sake: "Saké (cuisine)",
  lemonJuice: "Jus de citron",
  limeJuice: "Jus de citron vert",
  orangeJuice: "Jus d'orange",
  appleJuice: "Jus de pomme",
  grapeJuice: "Jus de raisin",
  tomatoJuice: "Jus de tomate",
  cranberryJuice: "Jus de cranberry",
  coffee: "Café",
  tea: "Thé",
  beer: "Bière (cuisine)",
  cider: "Cidre (cuisine)",
  champagne: "Champagne / vin pétillant (cuisine)",
  portWine: "Porto (cuisine)",
  vinJaune: "Vin jaune (cuisine)",
  cognac: "Cognac",
  rum: "Rhum",
  whisky: "Whisky",
  vodka: "Vodka",
  // Bases — flours, stocks and other cooking essentials
  wheatFlour: "Farine de blé",
  wholeWheatFlour: "Farine complète",
  cornFlour: "Farine de maïs",
  buckwheatFlour: "Farine de sarrasin",
  riceFlour: "Farine de riz",
  vegetableStockCube: "Bouillon cube légumes",
  chickenStockCube: "Bouillon cube volaille",
  tomatoPaste: "Concentré de tomate",
  tomatoCoulis: "Coulis de tomate",
  cannedPeeledTomatoes: "Tomates pelées (conserve)",
  sunDriedTomatoes: "Tomates séchées",
  vealStock: "Fond de veau",
  chickenStock: "Fond de volaille",
  beefStockCube: "Bouillon cube bœuf",
  fishStockCube: "Bouillon cube poisson",
  vegetableBroth: "Bouillon de légumes",
  chickenBroth: "Bouillon de volaille",
  beefBroth: "Bouillon de bœuf",
  courtBouillon: "Court-bouillon",
  dashi: "Dashi (bouillon japonais)",
  shellfishBisque: "Bisque de crustacés",
  tapiocaFlour: "Farine de tapioca",
  masaHarina: "Masa harina",
  water: "Eau",
  sparklingWater: "Eau gazeuse",
  orangeBlossomWater: "Eau de fleur d'oranger",
  roseWater: "Eau de rose",
  fishFumet: "Fumet de poisson",
  // Thickeners and raising agents
  bakersYeast: "Levure boulangère",
  bakingPowder: "Levure chimique",
  cornstarch: "Maïzena",
  lupinFlour: "Farine de lupin",
  gelatin: "Gélatine",
  bakingSoda: "Bicarbonate de soude",
  potatoStarch: "Fécule de pomme de terre",
  // Sugars
  sugar: "Sucre",
  honey: "Miel",
  mapleSyrup: "Sirop d'érable",
  brownSugar: "Sucre roux",
  powderedSugar: "Sucre glace",
  demeraraSugar: "Cassonade",
  darkChocolate: "Chocolat noir",
  milkChocolate: "Chocolat au lait",
  whiteChocolate: "Chocolat blanc",
  chocolateChips: "Pépites de chocolat",
  cocoaPowder: "Cacao en poudre",
  vanillaExtract: "Extrait de vanille",
  palmSugar: "Sucre de palme",
  caneSyrup: "Sirop de sucre de canne",
};

/**
 * Extra French matching phrases for a handful of {@link INGREDIENT_LABELS_FR}
 * entries whose primary (display) label doesn't match how the phrase is
 * actually written in running recipe text — see that constant's own doc
 * comment for why this is expected to grow over time, the same "exceptions
 * only, not every entry" shape as {@link INGREDIENT_LABEL_SYNONYMS_EN}.
 */
export const INGREDIENT_LABEL_SYNONYMS_FR: Record<string, string[]> = {
  // "Vanille (gousse)" is display-first-word-last; real recipe text says
  // "gousse de vanille" (pod word first) — see INGREDIENT_LABELS_FR's doc
  // comment.
  vanillaBean: ["Gousse de vanille"],
};

/**
 * French matching synonyms for the `Unit` reference catalog
 * (`apps/api/src/db/reference-seed-data.ts`'s `UNITS`), keyed by
 * `Unit.key` — the French counterpart to {@link UNIT_LABELS_EN}. Unlike
 * {@link INGREDIENT_LABELS_FR}, these are **not** copied from
 * `apps/web`'s locale file: that file has exactly one display label per
 * unit (`apps/web/src/locales/fr/translation.json`'s `catalog.units`,
 * e.g. `tablespoon`: "cuillère à soupe"), fine for a dropdown but not
 * enough to *match* French recipe text against — real recipes freely mix
 * the full phrase, its plural, and common abbreviations ("cuillère à
 * soupe", "cuillères à soupe", "c. à soupe", "càs" all appear in the
 * wild), so each entry here is hand-authored the same way
 * {@link UNIT_LABELS_EN} was, starting from that same display label.
 *
 * Several of these are genuinely multi-word ("cuillère à soupe") — unlike
 * English units, which are always a single word/abbreviation. Matching a
 * multi-word unit needs the same ordered-contiguous-run search
 * `matchIngredientName` already does for ingredients, not the older
 * single-first-word check `matchUnit` used before French support existed
 * — see `matchUnit`'s own doc comment (`ingredient-matcher.ts`) for the
 * bug that would otherwise cause: a multi-word French synonym's *whole
 * phrase* (spaces and all) would never equal a single extracted word, so
 * it could never match anything at all.
 */
export const UNIT_LABELS_FR: Record<string, string[]> = {
  gram: ["g", "gr", "gramme", "grammes"],
  kilogram: ["kg", "kilo", "kilos", "kilogramme", "kilogrammes"],
  milliliter: ["ml", "millilitre", "millilitres"],
  centiliter: ["cl", "centilitre", "centilitres"],
  liter: ["l", "litre", "litres"],
  tablespoon: ["cuillère à soupe", "cuillères à soupe", "c. à soupe", "c à soupe", "cas", "càs"],
  teaspoon: ["cuillère à café", "cuillères à café", "c. à café", "c à café", "cac", "càc"],
  piece: ["unité", "unités", "pièce", "pièces"],
  pinch: ["pincée", "pincées"],
  slice: ["tranche", "tranches"],
  clove: ["gousse", "gousses"],
  bunch: ["botte", "bottes"],
  sachet: ["sachet", "sachets"],
  sprig: ["brin", "brins"],
  cup: ["tasse", "tasses"],
  ounce: ["once", "onces"],
  pound: ["livre", "livres"],
};
