Return an aproximate textual representation of the provioded duration of
    time.

    Examples:
    relative_time_to_text(hours=6, minutes=34) -> "six and a half hours"
    relative_time_to_text(years=5, months=8, days=5) -> "less than six years"

    Keyword arguments:
    l10n -- The locale of the language for the result. Default is en_US.
    seconds
    minutes
    hours
    days
    weeks
    months
    years

def relative_time_to_text(l10n=locales.get(_default), **kwargs):
    """
    Return an aproximate textual representation of the provioded duration of
    time.

    Examples:
    relative_time_to_text(hours=6, minutes=34) -> "six and a half hours"
    relative_time_to_text(years=5, months=8, days=5) -> "less than six years"

    Keyword arguments:
    l10n -- The locale of the language for the result. Default is en_US.
    seconds
    minutes
    hours
    days
    weeks
    months
    years
    """
    kwargs = _normalize(**kwargs)

    cor = _Chain()
    cor.add(_LessThan1M(l10n, **kwargs))
    cor.add(_LessThan1H(l10n, **kwargs))
    cor.add(_LessThan23H(l10n, **kwargs))
    cor.add(_LessThan6D1H(l10n, **kwargs))
    cor.add(_LessThan25D10H(l10n, **kwargs))
    cor.add(_LessThan11MM(l10n, **kwargs))
    cor.add(_LessThan10Y(l10n, **kwargs))
    cor.add(_MoreThan10Y(l10n, **kwargs))
    return cor.run()