Subject: Internationalization and yes/no prompts

From: Pierre-Olivier Vares <[email-masked]>
Date: Mon, 23 Feb 2015 16:46:07 +0100

Hi,

I just fell in a little trap, in which you may find interest.

I'm using git on the command line (on an Elementary OS system : Linux 
3.2.0-76-generic #111-Ubuntu SMP Tue Jan 13 22:16:09 UTC 2015 x86_64 
x86_64 x86_64 GNU/Linux).
git version : 2.3.0

My system is configured in french.

That's said :
I run a git clean -i, and select option 4 (ask each).
     (By the fact, messages are translated, but options of the 
'interactive' menu aren't)
So I get, for each file, the question :
/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",
- only allow y and n answers (and variants : yes, no), and reject 
everything else with a message
- use as 'n', but echoes a message : 'Answer considered as /no/'
- accept answers depending on the language used to echo the prompt (y/n 
for english, o/n for french, j/n for german, ...)

What do you think about that ?

* but just imagine how worst it could be if you're configured in a 
language where 'No' is said using a word beginning by 'Y'...

Cheers,
Pierre-Olivier Vares