MDImporterConcordanceLists/src/MDConcLengths.php

120 lines
2.9 KiB
PHP
Raw Normal View History

<?PHP
/**
* Constains lists for categorizing misspelled sizes.
*
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
*/
declare(strict_types = 1);
/**
* Provides lists for categorizing misspelled sizes.
*/
final class MDConcLengths implements MDImporterConcordanceListInterface {
/**
* Require a function for getting the concordance target.
*
* @param string $input Input string.
*
* @return MDLengthUnit|false
*/
public static function getConcordanceTarget(string $input):MDLengthUnit|false {
return match($input) {
// Default: Empty
"Breite",
"breite",
"Width",
"width",
"Höhe",
"höhe",
"Height",
"height",
"´´´",
"Theater",
"Oper",
"min",
"-",
"a)",
"/",
"geöffnet",
"Scheibe",
"Trageöse",
"ohneRahmen",
"mitRahmen",
"ohne Rahmen",
"mit Rahmen",
"Verpackung",
"mitFassung",
"ohneFassung",
"mit Fassung",
"ohne Fassung",
"nichtfeststellbar",
"nicht feststellbar",
"amBodenhinten",
"am Bodenhinten",
"am Boden hinten",
"andenSchildzapfen",
"an den Schildzapfen",
"anderMündung",
"an der Mündung",
"Fuß",
"Innendurchmesser",
"mitStulpe",
"mit Stulpe",
"mitHolzrahmen",
"mit Holzrahmen",
"mitStahlrahmen",
"mit Stahlrahmen",
"Pfeilhöhe",
"Klingenbreite",
"bis",
"vorne",
"hinten",
"zwischenund",
"Standring",
"kleinsterDurchmesser",
"größterDurchmesser",
"kleinster Durchmesser",
"größter Durchmesser",
"Klinge",
"Henkel",
"mitFaden",
"mit Faden",
"ohneFaden",
"ohne Faden",
"nichtmessbar",
"nicht messbar",
"Stoffbreite" => false,
// cm
"cn",
",cm",
"5cm",
"Zentimeter",
"см",
"",
"ca" => MDLengthUnit::cm,
"Meter",
"Meters",
"meter",
"meters" => MDLengthUnit::m,
"Milimeter",
"Milimeters",
"Millimeter",
"Millimeters",
"мм",
"ma" => MDLengthUnit::mm,
"inch",
"Zoll",
"zoll" => MDLengthUnit::ft,
default => throw new MDInvalidLengthUnit("Invalid length unit " . $input),
};
}
}