git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] l10n: localizable upload progress messages
@ 2019-06-21 18:50 Dimitriy Ryazantcev
  2019-06-21 19:18 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Dimitriy Ryazantcev @ 2019-06-21 18:50 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Nguyễn Thái Ngọc Duy, Jeff King,
	Ævar Arnfjörð Bjarmason, Dimitriy Ryazantcev

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
---
 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"));
 }
 
 void display_throughput(struct progress *progress, uint64_t total)
diff --git a/strbuf.c b/strbuf.c
index 0e18b259ce..c309df1f5e 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -814,19 +814,19 @@ 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 GiB"),
 			    (unsigned)(bytes >> 30),
 			    (unsigned)(bytes & ((1 << 30) - 1)) / 10737419);
 	} 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);
 	}
 }
 
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] l10n: localizable upload progress messages
  2019-06-21 18:50 [PATCH] l10n: localizable upload progress messages Dimitriy Ryazantcev
@ 2019-06-21 19:18 ` Junio C Hamano
  2019-06-22  3:10   ` Duy Nguyen
  0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2019-06-21 19:18 UTC (permalink / raw)
  To: Dimitriy Ryazantcev
  Cc: git, Nguyễn Thái Ngọc Duy, Jeff King,
	Ævar Arnfjörð Bjarmason

Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com> writes:

> Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
> ---
>  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").

>  	}
>  }

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] l10n: localizable upload progress messages
  2019-06-21 19:18 ` Junio C Hamano
@ 2019-06-22  3:10   ` Duy Nguyen
  2019-06-24 17:11     ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Duy Nguyen @ 2019-06-22  3:10 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Dimitriy Ryazantcev, Git Mailing List, Jeff King,
	Ævar Arnfjörð Bjarmason

On Sat, Jun 22, 2019 at 2:18 AM Junio C Hamano <gitster@pobox.com> wrote:
>
> Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com> writes:
>
> > Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
> > ---
> >  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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] l10n: localizable upload progress messages
  2019-06-22  3:10   ` Duy Nguyen
@ 2019-06-24 17:11     ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2019-06-24 17:11 UTC (permalink / raw)
  To: Duy Nguyen
  Cc: Dimitriy Ryazantcev, Git Mailing List, Jeff King,
	Ævar Arnfjörð Bjarmason

Duy Nguyen <pclouds@gmail.com> writes:

>> 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.

I think this is the direction I expected the discussion to go in.
It seems that the other subthread went the other way, though.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-06-24 17:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-21 18:50 [PATCH] l10n: localizable upload progress messages Dimitriy Ryazantcev
2019-06-21 19:18 ` Junio C Hamano
2019-06-22  3:10   ` Duy Nguyen
2019-06-24 17:11     ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).