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..61d8cf5d04 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: IEC 80000-13:2008, subclause 13-12.b: second */ + strbuf_addstr(buf, _("s")); } void display_throughput(struct progress *progress, uint64_t total) diff --git a/strbuf.c b/strbuf.c index 0e18b259ce..0a3ebc3749 100644 --- a/strbuf.c +++ b/strbuf.c @@ -814,20 +814,28 @@ 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: ISO/IEC 80000-13:2008, clause 4: gibi */ + strbuf_addstr(buf, _("Gi")); } 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: ISO/IEC 80000-13:2008, clause 4: mebi */ + strbuf_addstr(buf, _("Mi")); } 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: ISO/IEC 80000-13:2008, clause 4: kibi */ + strbuf_addstr(buf, _("Ki")); } else { - strbuf_addf(buf, "%u bytes", (unsigned)bytes); + strbuf_addf(buf, "%u ", (unsigned)bytes); } + /* TRANSLATORS: ISO/IEC 80000-13:2008, subclause 13-9.c: byte */ + strbuf_addstr(buf, _("B")); } void strbuf_add_absolute_path(struct strbuf *sb, const char *path) -- 2.22.0