app/Module/LifespansChartModule.php
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));
    }
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));
    }
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 ) ) ; }
Generate a subtitle, based on filter parameters

@param int    $count
@param Date   $start
@param Date   $end
@param string $placename

@return string
Generate a subtitle based on filter parameters