def human_readable_stat(timedelta_seconds, stat_locale: dict = {}):
    """
    Transform a timedelta expressed in seconds into a human readable string

    Parameters
    ----------
    timedelta_seconds
        Timedelta expressed in seconds
    stat_locale
        Dict mapping stat strings

    Returns
    ----------
    string
        Human readable string
    """
    timedelta_seconds = int(float(timedelta_seconds))
    years = timedelta_seconds // 31104000
    months = timedelta_seconds // 2592000
    days = timedelta_seconds // 86400
    hours = timedelta_seconds // 3600 % 24
    minutes = timedelta_seconds // 60 % 60
    seconds = timedelta_seconds % 60
    
    if years > 0:
        return str(years) + stat_locale.get("year", "Y")
    if months > 0:
        return str(months) + stat_locale.get("month", "MO")
    if days > 0:
        return str(days) + stat_locale.get("day", "D")
    if hours > 0:
        return str(hours) + stat_locale.get("hour", "h")
    if minutes > 0:
        return str(minutes) + stat_locale.get("minute", "m")
    return str(seconds) + stat_locale.get("second", "s")