Я очень хорошо знаю, что для переопределения настроек локали мы можем использовать LC_ALL
prepended к команде, которую каждый хочет запустить. Я также знаю, C
использует язык по умолчанию системы. Но что означает C
?
Я очень хорошо знаю, что для переопределения настроек локали мы можем использовать LC_ALL
prepended к команде, которую каждый хочет запустить. Я также знаю, C
использует язык по умолчанию системы. Но что означает C
?
Ответы:
Единственный надежный намек на это был из документации Slackware, написанной великим Патриком Волкердингом. В файле /etc/profile.d/lang.sh
он сделал следующий комментарий:
# '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
Не выдавая того, что на самом деле означает «C», но я бы предположил, что «C» - это псевдоним для этого самого низкого и самого безопасного уровня локали .... Не очень удовлетворительно, я знаю :(.
Чтобы увидеть этот комментарий для себя в пакете Slackware, попробуйте следующее:
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
А затем откройте файл в lang.sh.new
вашем любимом текстовом редакторе ...
C
расшифровывается как язык программирования C. Это синоним для POSIX
локали.
См. Http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html#tag_07_02.
Языковой стандарт POSIX можно указать, присвоив соответствующим переменным среды значения «C» или «POSIX».
gettext
Си. Также не для «стандартного языкового стандарта системы», а фактически «стандартного языкового стандарта для каждого приложения». Разработчик может использовать другой оригинальный / исходный язык, чем en_US
или en
. Это может быть арабский, китайский, французский, немецкий, японский ... это не имеет значения.