Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@xxxxxxxxx> --- progress.c | 4 +++- strbuf.c | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/progress.c b/progress.c index a2e8cf64a8..fc62941fa4 100644 --- a/progress.c +++ b/progress.c @@ -151,7 +151,9 @@ static void throughput_string(struct strbuf *buf, uint64_t total, strbuf_humanise_bytes(buf, total); strbuf_addstr(buf, " | "); strbuf_humanise_bytes(buf, rate * 1024); - strbuf_addstr(buf, "/s"); + strbuf_addstr(buf, "/"); + /* TRANSLATORS: unit symbol for IEC 80000-13:2008 second */ + strbuf_addstr(buf, _("s")); } void display_throughput(struct progress *progress, uint64_t total) diff --git a/strbuf.c b/strbuf.c index 0e18b259ce..706b3b8e42 100644 --- a/strbuf.c +++ b/strbuf.c @@ -814,19 +814,27 @@ void strbuf_addstr_urlencode(struct strbuf *sb, const char *s, void strbuf_humanise_bytes(struct strbuf *buf, off_t bytes) { if (bytes > 1 << 30) { - strbuf_addf(buf, "%u.%2.2u GiB", + strbuf_addf(buf, "%u.%2.2u ", (unsigned)(bytes >> 30), (unsigned)(bytes & ((1 << 30) - 1)) / 10737419); + /* TRANSLATORS: unit symbol for IEC 80000-13:2008 gibibyte */ + strbuf_addstr(buf, _("GiB")); } else if (bytes > 1 << 20) { unsigned x = bytes + 5243; /* for rounding */ - strbuf_addf(buf, "%u.%2.2u MiB", + strbuf_addf(buf, "%u.%2.2u ", x >> 20, ((x & ((1 << 20) - 1)) * 100) >> 20); + /* TRANSLATORS: unit symbol for IEC 80000-13:2008 mebibyte */ + strbuf_addstr(buf, _("MiB")); } else if (bytes > 1 << 10) { unsigned x = bytes + 5; /* for rounding */ - strbuf_addf(buf, "%u.%2.2u KiB", + strbuf_addf(buf, "%u.%2.2u ", x >> 10, ((x & ((1 << 10) - 1)) * 100) >> 10); + /* TRANSLATORS: unit symbol for IEC 80000-13:2008 kibibyte */ + strbuf_addstr(buf, _("KiB")); } else { - strbuf_addf(buf, "%u bytes", (unsigned)bytes); + strbuf_addf(buf, "%u ", (unsigned)bytes); + /* TRANSLATORS: unit symbol for IEC 80000-13:2008 byte */ + strbuf_addstr(buf, _("B")); } } -- 2.22.0