MDImporterConcordanceLists/src/MDConcLengths.php

68 lines
1.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 {
private const LENGTHS_LIST = [
"cn" => "cm",
",cm" => "cm",
"5cm" => "cm",
"ca" => "cm", // Default: cm; This is likely also a typo
"Breite" => "cm", // Default: cm
"breite" => "cm", // Default: cm
"Width" => "cm", // Default: cm
"width" => "cm", // Default: cm
"Höhe" => "cm", // Default: cm
"höhe" => "cm", // Default: cm
"Height" => "cm", // Default: cm
"height" => "cm", // Default: cm
"´´´" => "cm", // Default: cm
"Theater" => "cm", // Default: cm
"Oper" => "cm", // Default: cm
"min" => "cm", // Default: cm
"-" => "cm", // Default: cm
"a)" => "cm", // Default: cm
"/" => "cm", // Default: cm
2023-10-16 22:39:16 +02:00
"geöffnet" => "cm", // Default: cm
"Meter" => "m",
"Meters" => "m",
"meter" => "m",
"meters" => "m",
"Milimeter" => "mm",
"Milimeters" => "mm",
"Millimeter" => "mm",
"Millimeters" => "mm",
2022-09-02 02:10:36 +02:00
"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];
}
}