git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vasco Almeida <vascomalmeida@sapo.pt>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "Jiang Xin" <worldhello.net@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"David Aguilar" <davvid@gmail.com>
Subject: Re: [PATCH v2 01/11] i18n: add--interactive: mark strings for translation
Date: Wed, 28 Sep 2016 12:43:40 +0000	[thread overview]
Message-ID: <1475066620.3257.12.camel@sapo.pt> (raw)
In-Reply-To: <xmqqr387y4le.fsf@gitster.mtv.corp.google.com>

A Dom, 25-09-2016 às 15:52 -0700, Junio C Hamano escreveu:
> > @@ -252,7 +253,7 @@ sub list_untracked {
> >  }
> >  
> >  my $status_fmt = '%12s %12s %s';
> > -my $status_head = sprintf($status_fmt, 'staged', 'unstaged', 'path');
> > +my $status_head = sprintf($status_fmt, __('staged'), __('unstaged'), __('path'));
> 
> Wouldn't it make sense to allow translators to tweak $status_fmt if
> you are allowing the earlier elements that are formatted with %12s,
> as their translation may not fit within that width, in which case
> they may want to make these columns wider?

As far as I understand, %12s means that the argument printed will have
a minimum length of 12 columns. So if the translation of 'stage' is
longer than 12 it will be printed fully no matter what. Though in that
case, the header will not be align correctly anymore:

my $status_fmt = '%12s %12s %s';

     123456789abcdefghijkl     unstaged caminho
  1:    unchanged        +1/-0 git-add--interactive.perl
  2:    unchanged  +4226/-3152 po/git.pot
  3:    unchanged +11542/-10426 po/pt_PT.po


my $status_fmt = '%12s %8s %s';

     123456789abcdefghijkl unstaged caminho
  1:    unchanged    +2/-1 git-add--interactive.perl
  2:    unchanged +4226/-3152 po/git.pot
  3:    unchanged +11542/-10426 po/pt_PT.po


For reference in C locale (my $status_fmt = '%12s %12s %s';)

           staged     unstaged path
  1:        +4/-4      nothing git-add--interactive.perl
  2:    unchanged  +4232/-3150 po/git.pot
  3:    unchanged +11572/-10448 po/pt_PT.po

I did not contemplate this issue before, but I think allowing a
translator to tweak $status_fmt would not be enough to properly align
the header if the translation is longer than 12 columns.

Maybe a lazy solution would be to add a TRANSLATOR: comment asking to
fit the translation of those words in 12 columns, but that would be
unpractical because 'stage' and 'unstage' can occur alone, like they do
here, in other place in the future, without having that length
restriction.

I think the real fix would be to find the longer column and use that
length for the remaining rows. I will try to do that if I can.


I also forgot to mark strings 'unchanged' and 'nothing' that are
displayed on that status. I will mark then in the next re-roll.

> >                       prompt_yesno(
> > -                             'Your edited hunk does not apply. Edit again '
> > -                             . '(saying "no" discards!) [y/n]? '
> > +                             # TRANSLATORS: do not translate [y/n]
> > +                             # The program will only accept that input
> > +                             # at this point.
> > +                             __('Your edited hunk does not apply. Edit again '
> > +                                . '(saying "no" discards!) [y/n]? ')
> 
> Not just [y/n], but "no" in "saying no discards!" also needs to
> stay, no?  I wonder if it is a good idea to lose the TRANSLATORS
> comment by ejecting "[y/n]" outside the "__()" construct here.

I fear that ejecting "[y/n]" would not be good for right-to-left
languages since "[y/n]" would be the first thing a user of those
languages would read followed by the actual question. I feel the same
for other instances of this in the present patch series.

  reply	other threads:[~2016-09-28 12:44 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-31 12:31 [PATCH v2 00/11] Mark strings in perl script for translation Vasco Almeida
2016-08-31 12:31 ` [PATCH v2 01/11] i18n: add--interactive: mark strings " Vasco Almeida
2016-09-25 22:52   ` Junio C Hamano
2016-09-28 12:43     ` Vasco Almeida [this message]
2016-09-28 14:29       ` Duy Nguyen
2016-09-28 16:59       ` Junio C Hamano
2016-09-29 21:21     ` Jakub Narębski
2016-08-31 12:31 ` [PATCH v2 02/11] i18n: add--interactive: mark simple here documents " Vasco Almeida
2016-09-25 22:54   ` Junio C Hamano
2016-09-29 14:31     ` Vasco Almeida
2016-09-29 17:05       ` Junio C Hamano
2016-09-29 21:27         ` Jakub Narębski
2016-09-29 21:31           ` Junio C Hamano
2016-10-03 12:43           ` Vasco Almeida
2016-09-30 17:26   ` Jakub Narębski
2016-10-03 13:21     ` Vasco Almeida
2016-08-31 12:31 ` [PATCH v2 03/11] i18n: add--interactive: mark strings with interpolation " Vasco Almeida
2016-09-25 22:57   ` Junio C Hamano
2016-09-30 17:52   ` Jakub Narębski
2016-10-03 12:41     ` Vasco Almeida
2016-08-31 12:31 ` [PATCH v2 04/11] i18n: add--interactive: mark plural strings Vasco Almeida
2016-09-26 18:15   ` Vasco Almeida
2016-09-26 18:21     ` Junio C Hamano
2016-10-01 16:49     ` Jakub Narębski
2016-10-03 12:46       ` Vasco Almeida
2016-08-31 12:31 ` [PATCH v2 05/11] i18n: add--interactive: mark message for translation Vasco Almeida
2016-09-25 23:09   ` Junio C Hamano
2016-10-01 17:09     ` Jakub Narębski
2016-10-03 12:49       ` Vasco Almeida
2016-08-31 12:31 ` [PATCH v2 06/11] i18n: add--interactive: i18n of help_patch_cmd Vasco Almeida
2016-09-25 23:11   ` Junio C Hamano
2016-08-31 12:31 ` [PATCH v2 07/11] i18n: add--interactive: mark edit_hunk_manually message for translation Vasco Almeida
2016-10-01 18:48   ` Jakub Narębski
2016-08-31 12:31 ` [PATCH v2 08/11] i18n: send-email: mark strings " Vasco Almeida
2016-09-25 23:14   ` Junio C Hamano
2016-09-25 23:18   ` Junio C Hamano
2016-10-01 18:55     ` Jakub Narębski
2016-08-31 12:31 ` [PATCH v2 09/11] i18n: send-email: mark warnings and errors " Vasco Almeida
2016-10-01 19:51   ` Jakub Narębski
2016-08-31 12:31 ` [PATCH v2 10/11] i18n: send-email: mark string with interpolation " Vasco Almeida
2016-08-31 12:31 ` [PATCH v2 11/11] i18n: difftool: mark warnings " Vasco Almeida
2016-09-25 23:21   ` Junio C Hamano
2016-10-01 19:56     ` Jakub Narębski
2016-08-31 17:23 ` [PATCH v2 00/11] Mark strings in perl script " Junio C Hamano
2016-09-25 23:31   ` Junio C Hamano
  -- strict thread matches above, loose matches on Subject: below --
2016-06-29 15:09 Vasco Almeida
2016-06-29 15:09 ` [PATCH v2 01/11] i18n: add--interactive: mark strings " Vasco Almeida

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1475066620.3257.12.camel@sapo.pt \
    --to=vascomalmeida@sapo.pt \
    --cc=avarab@gmail.com \
    --cc=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=worldhello.net@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).