Subject: Re: Internationalization and yes/no prompts

From: Junio C Hamano <[email-masked]>
Date: Tue, 24 Feb 2015 12:32:35 -0800

Pierre-Olivier Vares <[email-masked]> writes:

> /Supprimer //premier_fichier ? [Remove first_file ?]/
> Natural answer to this question is 'Oui' [Yes], so I type 'o', rather
> than 'y'.
> Once finished, I see no file has been removed (since 'o' has been
> considered as 'different than yes')
> Whereas it's not an end-of-the-world thing*, it's annoying as at first
> sight I didn't understand why it has 'not worked'.
>
> I thought of a few possibilities (some easy to implement, others more
> complex; some are stricter for the user) :

> - explicitly put "y/n" in the message. Translaters should be warned to
> let "y/n",

This may be suboptimal from the end-user's point of view, but it is
the least risky of breaking anything.

And it is way better than the status quo.

> - only allow y and n answers (and variants : yes, no), and reject
> everything else with a message

This is not helpful to the users if it does not say why (O)ui was
rejected, which would mean we would be better off saying [Y/n] in
the message in the first place.

> - use as 'n', but echoes a message : 'Answer considered as /no/'

Unhelpful without stating why (O)ui was considered as 'no'; same
conclusion as above.

> - accept answers depending on the language used to echo the prompt
> (y/n for english, o/n for french, j/n for german, ...)

This would be the best for languages where translations for Yes and
No begin with different letters, but I suspect it might be tricky to
implement.