protected function subtitle(int $count, Date $start, Date $end, string $placename): string
    {
        if ($start->isOK() && $end->isOK() && $placename !== '') {
            return I18N::plural(
                '%s individual with events in %s between %s and %s',
                '%s individuals with events in %s between %s and %s',
                $count,
                I18N::number($count),
                $placename,
                $start->display(false, '%Y'),
                $end->display(false, '%Y')
            );
        }

        if ($placename !== '') {
            return I18N::plural(
                '%s individual with events in %s',
                '%s individuals with events in %s',
                $count,
                I18N::number($count),
                $placename
            );
        }

        if ($start->isOK() && $end->isOK()) {
            return I18N::plural(
                '%s individual with events between %s and %s',
                '%s individuals with events between %s and %s',
                $count,
                I18N::number($count),
                $start->display(false, '%Y'),
                $end->display(false, '%Y')
            );
        }

        return I18N::plural('%s individual', '%s individuals', $count, I18N::number($count));
    }