Internationalization and yes/no prompts
From: Pierre-Olivier Vares <hidden>
Date: 2016-06-15 23:03:53
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