On Sat, Jun 22, 2019 at 2:18 AM Junio C Hamano <[email protected]> wrote:
>
> Dimitriy Ryazantcev <[email protected]> writes:
>
> > Signed-off-by: Dimitriy Ryazantcev <[email protected]>
> > ---
> > progress.c | 3 ++-
> > strbuf.c | 8 ++++----
> > 2 files changed, 6 insertions(+), 5 deletions(-)
> >
> > diff --git a/progress.c b/progress.c
> > index a2e8cf64a8..3d47c06495 100644
> > --- a/progress.c
> > +++ b/progress.c
> > @@ -151,7 +151,8 @@ 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");
> > + /* TRANSLATORS: per second */
> > + strbuf_addstr(buf, _("/s"));
> > }
>
> Hpmh, if it is OK to assume that in all human languages it is OK to
> express the reate as <number> followed by translated "per second",
> without allowing the order from getting changed, then ...
Probably not (but I don't know any language that is not ok with this).
I would just add strbuf_humanise_rate() that prints "GiB/s",
"MiB/s"... Then we probably should print "bytes/second". This will
print "bytes/s" which looks just weird.
> > if (bytes > 1 << 30) {
> > - strbuf_addf(buf, "%u.%2.2u GiB",
> > + strbuf_addf(buf, _("%u.%2.2u GiB"),
> > (unsigned)(bytes >> 30),
> > (unsigned)(bytes & ((1 << 30) - 1)) / 10737419);
>
> wouldn't it make more sense to split GiB, MiB, KiB and "bytes" units
> out of these messages, and ask only these unit names, without the
> %u.%2.2u number formats, to get translated by the localization team?
That assumes all languages will print the unit after the number. I
guess that is ok and it helps share code if we add
strbuf_humanise_rate() above because only the unit part changes.
--
Duy