So benissimo che per sovrascrivere le impostazioni locali possiamo usare LC_ALL
anteposto al comando che si desidera eseguire. So anche che C
usa le impostazioni internazionali predefinite di un sistema. Ma cosa significa C
?
So benissimo che per sovrascrivere le impostazioni locali possiamo usare LC_ALL
anteposto al comando che si desidera eseguire. So anche che C
usa le impostazioni internazionali predefinite di un sistema. Ma cosa significa C
?
Risposte:
L'unico solido indizio che potevo era da un po 'di documentazione Slackware scritto dal grande Patrick Volkerding. Nel file /etc/profile.d/lang.sh
ha fatto il seguente commento:
# 'C' is the old Slackware (and UNIX) default, which is 127-bit ASCII
# with a charmap setting of ANSI_X3.4-1968. These days, it's better to
# use en_US.UTF-8 or another modern $LANG setting (or at least en_US)
# to support extended character sets.
#export LANG=C
Senza rivelare ciò che la "C" rappresenta in realtà, ma immagino che "C" sia un alias per questo livello di locale molto più basso e più sicuro .... Non molto soddisfacente, lo so :(.
Per vedere questo commento nel pacchetto Slackware, prova quanto segue:
wget http://slackware.osuosl.org/slackware-14.2/source/a/etc/_etc.tar.gz
tar -zxvf _etc.tar.gz etc/profile.d/lang.sh.new --strip-components 2
E quindi apri il file lang.sh.new
con il tuo editor di testo preferito ...
C
sta per il linguaggio di programmazione C. È sinonimo di POSIX
locale.
Vedi http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html#tag_07_02
La locale POSIX può essere specificata assegnando alle variabili d'ambiente appropriate i valori "C" o "POSIX".
gettext
era in linguaggio C. Inoltre, non per "impostazioni internazionali predefinite di un sistema", ma in realtà "impostazioni internazionali predefinite di ciascuna applicazione". Lo sviluppatore può utilizzare impostazioni locali / di origine diverse rispetto a en_US
o en
. Potrebbe essere arabo, cinese, francese, tedesco, giapponese ... non importa.