summaryrefslogtreecommitdiff
path: root/lfs-12.1-sysv/chapter09/locale.html
diff options
context:
space:
mode:
Diffstat (limited to 'lfs-12.1-sysv/chapter09/locale.html')
-rw-r--r--lfs-12.1-sysv/chapter09/locale.html256
1 files changed, 0 insertions, 256 deletions
diff --git a/lfs-12.1-sysv/chapter09/locale.html b/lfs-12.1-sysv/chapter09/locale.html
deleted file mode 100644
index 15d4163..0000000
--- a/lfs-12.1-sysv/chapter09/locale.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
- <title>
- 9.7. Настройка системной локали
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.1">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.1
- </h4>
- <h3>
- Глава 9. Системные настройки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="usage.html" title=
- "Настройка и использование загрузочных скриптов System V">Пред.</a>
- <p>
- Настройка и использование загрузочных скриптов System V
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="inputrc.html" title=
- "Создание файла /etc/inputrc">След.</a>
- <p>
- Создание файла /etc/inputrc
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter09.html" title=
- "Глава 9. Системные настройки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.1">Начало</a>
- </li>
- </ul>
- </div>
- <h1 class="sect1">
- <a id="ch-config-locale" name="ch-config-locale"></a>9.7. Настройка
- системной локали
- </h1>
- <div class="sect1" lang="ru" xml:lang="ru">
- <p>
- Некоторые переменные окружения, необходимые для поддержки вашего
- языка. Правильная их установка влияет на:
- </p>
- <div class="itemizedlist">
- <ul>
- <li class="listitem">
- <p>
- Выходные данные программ, переводятся на ваш родной язык
- </p>
- </li>
- <li class="listitem">
- <p>
- Правильную интерпретацию символов в буквы, цифры и другие
- классы. Это необходимо для того, чтобы <span class=
- "command"><strong>bash</strong></span> правильно принимал
- не-ASCII символы, в командной строке в неанглоязычных языковых
- системах
- </p>
- </li>
- <li class="listitem">
- <p>
- Правильную для страны сортировку по алфавиту
- </p>
- </li>
- <li class="listitem">
- <p>
- Подходящий формат бумаги по умолчанию
- </p>
- </li>
- <li class="listitem">
- <p>
- Правильное форматирование денежных значений, значений времени и
- дат
- </p>
- </li>
- </ul>
- </div>
- <p>
- Ниже замените <em class="replaceable"><code>&lt;ll&gt;</code></em>
- двухбуквенным кодом нужного вам языка (например <code class=
- "literal">en</code>), а <em class=
- "replaceable"><code>&lt;CC&gt;</code></em> двухбуквенным кодом
- соответствующей страны (например <code class="literal">GB</code>).
- <em class="replaceable"><code>&lt;charmap&gt;</code></em> нужно
- заменить на каноническую кодировку для выбраной вами локали. Также
- могут присутствовать необязательные модификаторы, такие как
- <code class="literal">@euro</code>.
- </p>
- <p>
- Список всех локалей, поддерживаемых Glibc, можно получить, выполнив
- следующую команду:
- </p>
- <pre class="userinput"><kbd class="command">locale -a</kbd></pre>
- <p>
- Таблицы символов могут иметь несколько синонимов. Например
- <code class="literal">ISO-8859-1</code> так же называют <code class=
- "literal">iso8859-1</code> и <code class="literal">iso88591</code>.
- Некоторые приложения не могут корректно обрабатывать различные
- синонимы (например <code class="literal">UTF-8</code> должно быть
- указано как <code class="literal">UTF-8</code>, а не <code class=
- "literal">utf8</code>), поэтому в большинстве случаев безопаснее
- всего выбрать каноническое имя для конкретной локали. Для определения
- канонического имени локали выполните команду ниже, заменив <em class=
- "replaceable"><code>&lt;locale name&gt;</code></em> на вывод
- <span class="command"><strong>locale -a</strong></span> для желаемой
- локали (например <code class="literal">en_GB.iso88591</code> в нашем
- примере).
- </p>
- <pre class="userinput"><kbd class="command">LC_ALL=<em class=
- "replaceable"><code>&lt;locale name&gt;</code></em> locale charmap</kbd></pre>
- <p>
- Для локали <code class="literal">en_GB.iso88591</code> приведенная
- выше команда напечатает:
- </p>
- <pre class="screen"><code class=
- "computeroutput">ISO-8859-1</code></pre>
- <p>
- Окончательная настройка локали будет выглядеть так: <code class=
- "literal">en_GB.ISO-8859-1</code>. Важно, чтобы локаль, найденная с
- помощью приведенной выше методики, была проверена перед её
- добавлением в файлы запуска Bash:
- </p>
- <pre class="userinput"><kbd class=
- "command">LC_ALL=&lt;locale name&gt; locale language
-LC_ALL=&lt;locale name&gt; locale charmap
-LC_ALL=&lt;locale name&gt; locale int_curr_symbol
-LC_ALL=&lt;locale name&gt; locale int_prefix</kbd></pre>
- <p>
- Приведенные выше команды должны вывести название языка, кодировку
- символов, используемую в локали, местную валюту и телефонный код
- страны. Если какая-либо из команд завершается с сообщением об ошибке,
- похожим на указанное ниже, это означает, что ваша локаль либо не была
- установлена в Главе 8, либо не поддерживается стандартной установкой
- Glibc.
- </p>
- <pre class="screen"><code class=
- "computeroutput">locale: Cannot set LC_* to default locale: No such file or directory</code></pre>
- <p>
- Если это произойдет, вам следует либо установить желаемую локаль с
- помощью команды <span class=
- "command"><strong>localedef</strong></span>, либо рассмотреть
- возможность выбора другой локали. Дальнейшие инструкции не
- предполагают таких сообщений об ошибках от Glibc.
- </p>
- <p>
- Другие пакеты также могут работать некорректно (но не всегда будут
- отображать какие-либо сообщения об ошибках), если название локали не
- соответствует их ожиданиям. В таких случаях изучите, какие ещё
- дистрибутивы Linux поддерживают ваш язык, возможно, это даст
- некоторую полезную информацию
- </p>
- <p>
- Программа оболочки <span class=
- "command"><strong>/bin/bash</strong></span> (далее именуемая как
- <span class="quote">«<span class="quote">оболочка</span>»</span>)
- использует начальный набор файлов, чтобы помочь создать среду для
- запуска. Каждый файл имеет определенное назначение и может по-разному
- влиять на вход в систему и интерактивное окружение. Файлы в каталоге
- <code class="filename">/etc</code> содержат глобальные настройки.
- Если в домашнем каталоге существуют эквивалентные файлы, они могут
- переопределить глобальные настройки.
- </p>
- <p>
- Интерактивная оболочка входа запускается после успешного входа с
- использованием <span class=
- "command"><strong>/bin/login</strong></span>, прочитав файл
- <code class="filename">/etc/passwd</code>. Интерактивная оболочка без
- входа в систему запускается из командной строки (например,
- <code class="prompt">[prompt]$</code><span class=
- "command"><strong>/bin/bash</strong></span>). Неинтерактивная
- оболочка обычно присутствует когда выполняется скрипт оболочки. Он
- неинтерактивен, поскольку обрабатывает скрипт и не ожидает ввода
- пользователем между командами.
- </p>
- <p>
- Создайте файл <code class="filename">/etc/profile</code> <span class=
- "phrase">после того, как будут определены правильные настройки
- локали, чтобы установить желаемый язык</span>, но вместо этого
- установите локаль <code class="literal">C.UTF-8</code> при запуске
- консоли Linux (чтобы программы не выводили символы, которые консоль
- Linux не может отобразить):
- </p>
- <pre class="userinput"><kbd class=
- "command">cat &gt; /etc/profile &lt;&lt; "EOF"
-<code class="literal"># Begin /etc/profile
-
-for i in $(locale); do
- unset ${i%=*}
-done
-
-if [[ "$TERM" = linux ]]; then
- export LANG=C.UTF-8
-else
- export LANG=<em class=
-"replaceable"><code>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</code></em>
-fi
-
-# End /etc/profile</code>
-EOF</kbd></pre>
- <p>
- Локаль <code class="literal">C</code> (используемая по умолчанию) и
- <code class="literal">en_US</code> (одна из рекомендуемых для
- англоязычных пользователей в Соединенных Штатах) это разные локали.
- <code class="literal">C</code> использует 7-битный набор символов
- US-ASCII и обрабатывает байты с установленным старшим битом как
- недопустимые символы. Вот почему, например, команда <span class=
- "command"><strong>ls</strong></span> заменяет их вопросительными
- знаками в этой локали. Кроме того, попытка отправить почту с такими
- символами из Mutt или Pine приводит к тому что, отправляемые
- сообщения не соответствуют RFC (кодировка в исходящей почте указана
- как <code class="computeroutput">unknown 8-bit</code>). Рекомендуется
- использовать локаль <code class="literal">C</code>, если вы уверены,
- что вам никогда не понадобятся 8-битные символы.
- </p>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="usage.html" title=
- "Настройка и использование загрузочных скриптов System V">Пред.</a>
- <p>
- Настройка и использование загрузочных скриптов System V
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="inputrc.html" title=
- "Создание файла /etc/inputrc">След.</a>
- <p>
- Создание файла /etc/inputrc
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter09.html" title=
- "Глава 9. Системные настройки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.1">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>