*/ declare(strict_types = 1); /** * Provides lists for categorizing spelled out languages. */ final class MDConcLanguages implements MDImporterConcordanceListInterface { private const LANGUAGES_LIST = [ # English 'English' => 'en', 'englisch' => 'en', 'eng' => 'en', 'EN' => 'en', 'ENG' => 'en', # German 'Deutsch' => 'de', 'deutsch' => 'de', 'German' => 'de', 'deu' => 'de', 'Buch' => 'de', 'Deutsch, Latein' => 'de', 'deutsch, französisch' => 'de', 'deutsch, russisch' => 'de', 'deutsch u. plattdeutsch' => 'de', 'deutsch / englisch' => 'de', 'deurtsch' => 'de', # Hungarian 'Hungarian' => 'hu', 'Magyar' => 'hu', # Czech 'Tschechisch' => 'cs', 'tschechisch' => 'cs', 'cz' => 'cs', # Plattdeutsch / Niederdeutsch 'plattdeutsch' => 'nds', # Latin 'Latein' => 'la', 'Latein, Deutsch, Italenisch, Spanisch, Englisch' => 'la', # French 'französisch' => 'fr', # Italian 'italienisch' => 'it', ]; /** * 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::LANGUAGES_LIST[$input])) { throw new MDImporterMissingConcordance("Unknown language type: " . $input); } return self::LANGUAGES_LIST[$input]; } }