From: Ævar Arnfjörð Bjarmason Date: Wed, 01 Feb 2012 17:39:43 GMT Subject: Re: [PATCH] i18n: format_tracking_info "Your branch is behind" message Message-ID: In-Reply-To: <1328116914-61381-1-git-send-email-worldhello.net@gmail.com> On Wed, Feb 1, 2012 at 18:21, Jiang Xin wrote: > Function format_tracking_info in remote.c is called by > wt_status_print_tracking in wt-status.c, which will print > branch tracking message in git-status. git-checkout also > show these messages through it's report_tracking function. > > Signed-off-by: Jiang Xin > --- >  remote.c |   18 +++++++++--------- >  1 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/remote.c b/remote.c > index 73a38..51853 100644 > --- a/remote.c > +++ b/remote.c > @@ -1572,18 +1572,18 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) >        base = branch->merge[0]->dst; >        base = shorten_unambiguous_ref(base, 0); >        if (!num_theirs) > -               strbuf_addf(sb, "Your branch is ahead of '%s' " > -                           "by %d commit%s.\n", > -                           base, num_ours, (num_ours == 1) ? "" : "s"); > +               strbuf_addf(sb, _("Your branch is ahead of '%s' " > +                           "by %d %s.\n"), > +                           base, num_ours, Q_("commit", "commits", num_ours)); >        else if (!num_ours) > -               strbuf_addf(sb, "Your branch is behind '%s' " > -                           "by %d commit%s, " > -                           "and can be fast-forwarded.\n", > -                           base, num_theirs, (num_theirs == 1) ? "" : "s"); > +               strbuf_addf(sb, _("Your branch is behind '%s' " > +                           "by %d %s, " > +                           "and can be fast-forwarded.\n"), > +                           base, num_theirs, Q_("commit", "commits", num_theirs)); These two should be something like: _Q("Your branch is behind '%s' by %d commit", "Your branch is behind '%s' by %d commits", base, num_theirs); Otherwise we're imposing word order in the translation. >        else > -               strbuf_addf(sb, "Your branch and '%s' have diverged,\n" > +               strbuf_addf(sb, _("Your branch and '%s' have diverged,\n" >                            "and have %d and %d different commit(s) each, " > -                           "respectively.\n", > +                           "respectively.\n"), >                            base, num_ours, num_theirs); And this is a nice example of where gettext really can't do the right thing, it only deals with messages with one numeric counter ;/ It's probably best to just pick one, probably the latter one.