export type FishVisualFamily = "pike" | "salmonid" | "cyprinid" | "perch" | "catfish" | "eel" | "flatfish" | "marine" | "generic"; const FAMILY_TERMS: Array<[FishVisualFamily, RegExp]> = [ ["pike", /щук|судак|pike|pickerel|zander|hecht/i], ["salmonid", /форел|лосос|сёмг|голец|таймен|хариус|trout|salmon|char|grayling|forelle|lachs|saibling/i], ["cyprinid", /карп|карась|лещ|плотв|линь|язь|жерех|голав|усач|амур|толстолоб|carp|bream|roach|tench|barbel|karpfen|brasse/i], ["perch", /окун|ёрш|perch|ruff|barsch/i], ["catfish", /сом|catfish|wels/i], ["eel", /угор|миног|eel|lamprey|aal/i], ["flatfish", /камбал|палтус|скат|flounder|halibut|ray|rochen/i], ["marine", /сельд|треск|скумбр|тунец|акул|сардин|herring|cod|mackerel|tuna|shark|hering|kabeljau/i], ]; export function fishVisualFamily(name: string): FishVisualFamily { return FAMILY_TERMS.find(([, pattern]) => pattern.test(name))?.[0] ?? "generic"; }