Subject: Re: [PATCH v2 06/11] i18n: factorize "--foo requires --bar" and the like

From: Jean-Noël AVILA <[email-masked]>
Date: Wed, 29 Dec 2021 15:02:38 +0100

On Tuesday, 28 December 2021 08:01:30 CET Johannes Sixt wrote:
> Am 28.12.21 um 00:23 schrieb Jean-Noël Avila via GitGitGadget:
> > From: =?UTF-8?q?Jean-No=C3=ABl=20Avila?= <[email-masked]>
> > 
> > Signed-off-by: Jean-Noël Avila <[email-masked]>
> 
> Two questions:
> 
> - Is "%s requires %s" already used elsewhere or is it a new translatable
> string? The commit message should clarify the choice.

%s requires %s is a new translatable string. Will update.

> 
> - Do translators know that the two %s will be substituted with options
> (mostly)?

Indeed this is not clear. So we should apply the same transformation as for "cannot be used together"

> 
> > --- a/fetch-pack.c
> > +++ b/fetch-pack.c
> > @@ -297,7 +297,7 @@ static int find_common(struct fetch_negotiator *negotiator,
> >  	struct packet_reader reader;
> >  
> >  	if (args->stateless_rpc && multi_ack == 1)
> > -		die(_("--stateless-rpc requires multi_ack_detailed"));
> > +		die(_("%s requires %s"), "--stateless-rpc", "multi_ack_detailed");
> 
> Here, the second %s is not an option. I hope that does not invalidate
> any translation of the string.

True. So let's use "the option '%s' requires '%s'" instead.

> -- Hannes