Enable automatic translations of times "before" a given date
This commit is contained in:
@ -685,6 +685,35 @@ final class NodaTimeAutotranslater {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Translated years or timespans below 1000 CE.
|
||||
*
|
||||
* @param array<integer|string> $timeInfo Time information.
|
||||
*
|
||||
* @return array<string>
|
||||
*/
|
||||
public static function translateYearsBeforeEnd(array $timeInfo):array {
|
||||
|
||||
if (empty(trim($timeInfo['zeit_zaehlzeit_monat'], " ,.;0"))) {
|
||||
$timeInfo['zeit_ende'] = strval(intval($timeInfo['zeit_ende']) + 1);
|
||||
}
|
||||
$end = intval($timeInfo['zeit_ende']);
|
||||
|
||||
$innerTimeInfo = $timeInfo;
|
||||
$innerTimeInfo['zeit_beginn'] = $timeInfo['zeit_ende'];
|
||||
|
||||
$output = [];
|
||||
foreach (self::LANGS_BEFORE_START_FORMAT_YEAR as $tLang => $format) {
|
||||
|
||||
$dateAlone = self::getTranslations($innerTimeInfo)[$tLang];
|
||||
|
||||
$timeName = sprintf($format, $dateAlone);
|
||||
$output[$tLang] = $timeName;
|
||||
}
|
||||
return $output;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Translated years or timespans below 1000 CE.
|
||||
*
|
||||
@ -696,6 +725,10 @@ final class NodaTimeAutotranslater {
|
||||
|
||||
$end = intval($timeInfo['zeit_ende']);
|
||||
|
||||
if (substr($timeInfo['zeit_name'], 0, 4) === "Vor ") {
|
||||
return self::translateYearsBeforeEnd($timeInfo);
|
||||
}
|
||||
|
||||
$innerTimeInfo = $timeInfo;
|
||||
$innerTimeInfo['zeit_beginn'] = $timeInfo['zeit_ende'];
|
||||
|
||||
|
Reference in New Issue
Block a user