I sometimes meet some Italian programmer who prefers his system to be in English, so they get untranslated manpages and error messages.
I sometimes notice that their solution often leaves them something to complain about.
LANG=C and complain they can't see accented characters.
LANG=en_US.UTF-8 and complain that OpenOffice Calc wants dates in
MM/DD/YYYY which is an Abomination unto
Nuggan, as well as unto Me.
But the locales system can do much better than that. In fact, most times people would be extremely happy with LC_MESSAGES in English, and everything else in Italian:
$ locale LANG=it_IT.UTF-8 LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" LC_TIME="it_IT.UTF-8" LC_COLLATE="it_IT.UTF-8" LC_MONETARY="it_IT.UTF-8" LC_MESSAGES=en_US.UTF-8 LC_PAPER="it_IT.UTF-8" LC_NAME="it_IT.UTF-8" LC_ADDRESS="it_IT.UTF-8" LC_TELEPHONE="it_IT.UTF-8" LC_MEASUREMENT="it_IT.UTF-8" LC_IDENTIFICATION="it_IT.UTF-8" LC_ALL=
A way to do this (is there a better one?) is to tell the display manager (GDM,
KDM...) to use the Italian locale, and then override the right
LC_* bits in
$ cat ~/.xsessionrc export LC_MESSAGES=en_US.UTF-8
That does the trick: English messages, with Proper currency, Proper dates, accented letters sort Properly, Proper A4 printer paper, Proper SI units. Even Nuggan would be happy.