def METHOD_NAME(number: int) -> str:
    ''' Returns a localised unicode representation of a number in bytes, MiB
    etc '''
    def rnd(number: int, divisor: int):
        # round to 1 decimal place
        return localised_number(float(number * 10 // divisor) / 10)
    if number < 1024:
        return _('{bytes} bytes').format(bytes=localised_number(number))
    elif number < 1024 ** 2:
        return _('{kibibytes} KiB').format(kibibytes=rnd(number, 1024))
    elif number < 1024 ** 3:
        return _('{mebibytes} MiB').format(mebibytes=rnd(number, 1024 ** 2))
    elif number < 1024 ** 4:
        return _('{gibibytes} GiB').format(gibibytes=rnd(number, 1024 ** 3))
    else:
        return _('{tebibytes} TiB').format(tebibytes=rnd(number, 1024 ** 4))