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 ...
> 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?
> } else if (bytes > 1 << 20) {
> unsigned x = bytes + 5243; /* for rounding */
> - strbuf_addf(buf, "%u.%2.2u MiB",
> + strbuf_addf(buf, _("%u.%2.2u MiB"),
> x >> 20, ((x & ((1 << 20) - 1)) * 100) >> 20);
> } else if (bytes > 1 << 10) {
> unsigned x = bytes + 5; /* for rounding */
> - strbuf_addf(buf, "%u.%2.2u KiB",
> + strbuf_addf(buf, _("%u.%2.2u KiB"),
> x >> 10, ((x & ((1 << 10) - 1)) * 100) >> 10);
> } else {
> - strbuf_addf(buf, "%u bytes", (unsigned)bytes);
> + strbuf_addf(buf, _("%u bytes"), (unsigned)bytes);
This needs the Q_() to deal with plural (i.e. in en, between "byte"
and "bytes").
> }
> }