124 lines
3.5 KiB
PHP
124 lines
3.5 KiB
PHP
<?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 {
|
||
|
||
private const LENGTHS_LIST = [
|
||
|
||
// 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" => "",
|
||
|
||
// cm
|
||
"cn" => "cm",
|
||
",cm" => "cm",
|
||
"5cm" => "cm",
|
||
"Zentimeter" => "cm",
|
||
"см" => "cm",
|
||
"ca" => "cm", // This is likely a typo
|
||
|
||
"Meter" => "m",
|
||
"Meters" => "m",
|
||
"meter" => "m",
|
||
"meters" => "m",
|
||
|
||
"Milimeter" => "mm",
|
||
"Milimeters" => "mm",
|
||
"Millimeter" => "mm",
|
||
"Millimeters" => "mm",
|
||
"мм" => "mm",
|
||
"ma" => "mm", // Either a typo for mm, or miliamper?
|
||
|
||
"inch" => "in",
|
||
"Zoll" => "in",
|
||
"zoll" => "in",
|
||
];
|
||
|
||
/**
|
||
* Require a function for getting the concordance target.
|
||
*
|
||
* @param string $input Input string.
|
||
*
|
||
* @return string
|
||
*/
|
||
public static function getConcordanceTarget(string $input):string {
|
||
|
||
if (!isset(self::LENGTHS_LIST[$input])) {
|
||
throw new MDImporterMissingConcordance("Unknown length type: " . $input);
|
||
}
|
||
|
||
return self::LENGTHS_LIST[$input];
|
||
|
||
}
|
||
}
|