diff --git a/chapter09/locale.xml b/chapter09/locale.xml
index 25c0b06..add3be0 100644
--- a/chapter09/locale.xml
+++ b/chapter09/locale.xml
@@ -59,89 +59,80 @@
LC_ALL=<locale name> locale charmap
- For the en_GB.iso88591
locale, the above command
- will print:
+ Для локали en_GB.iso88591
приведенная выше команда
+ напечатает:
ISO-8859-1
- This results in a final locale setting of en_GB.ISO-8859-1
.
- It is important that the locale found using the heuristic above is tested prior
- to it being added to the Bash startup files:
+ Это результат окончательной настройки локали en_GB.ISO-8859-1
.
+ Важно, чтобы локаль, найденная с помощью приведенной выше команды, была протестирован перед её добавлением
+ в стартовые скрипты оболочки Bash:
LC_ALL=<locale name> locale language
LC_ALL=<locale name> locale charmap
LC_ALL=<locale name> locale int_curr_symbol
LC_ALL=<locale name> locale int_prefix
- The above commands should print the language name, the character
- encoding used by the locale, the local currency, and the prefix to dial
- before the telephone number in order to get into the country. If any of the
- commands above fail with a message similar to the one shown below, this means
- that your locale was either not installed in Chapter 8 or is not
- supported by the default installation of Glibc.
+ Приведенные выше команды должны вывести название языка, кодировку символов, используемую в локали,
+ местную валюту и телефонный код страны. Если какая-либо из команд завершается с сообщением об ошибке, похожим
+ на указанное ниже, это означает, что ваша локаль либо не была установлена в Главе 8, либо не поддерживается
+ стандартной установкой Glibc.
locale: Cannot set LC_* to default locale: No such file or directory
- If this happens, you should either install the desired locale using the
- localedef command, or consider choosing a different locale.
- Further instructions assume that there are no such error messages from
- Glibc.
+ Если это произойдет, вам следует либо установить желаемую локаль с помощью команды
+ localedef, либо рассмотреть возможность выбора другой локали. Дальнейшие
+ инструкции не предполагают таких сообщений об ошибках от Glibc.
- Some packages beyond LFS may also lack support for your chosen locale. One
- example is the X library (part of the X Window System), which outputs the
- following error message if the locale does not exactly match one of the character
- map names in its internal files:
+ В некоторых пакетах, выходящих за рамки LFS, также может отсутствовать поддержка выбранного вами
+ языка. Одним из таких примеров может служить библиотека X (часть системы X Window), которая выводит
+ следующее сообщение об ошибке, если локаль не соответствует таблице символов во внутренних файлах:
Warning: locale not supported by Xlib, locale set to C
- In several cases Xlib expects that the character map will be listed in
- uppercase notation with canonical dashes. For instance, "ISO-8859-1" rather
- than "iso88591". It is also possible to find an appropriate specification by
- removing the charmap part of the locale specification. This can be checked
- by running the locale charmap command in both locales.
- For example, one would have to change "de_DE.ISO-8859-15@euro" to
- "de_DE@euro" in order to get this locale recognized by Xlib.
+ В некоторых случаях Xlib ожидает, что таблица символов будет указана в верхнем регистре с
+ каноническими тире. Например, "ISO-8859-1", а не "iso88591". Также можно найти подходящий вам вариант,
+ удалив часть charmap из спецификации локали. Это можно проверить, выполнив команду
+ locale charmap в обеих локалях. Например, нужно было бы изменить
+ "de_DE.ISO-8859-15@euro " на "de_DE@euro", чтобы Xlib распознал эту локаль.
- Other packages can also function incorrectly (but may not necessarily
- display any error messages) if the locale name does not meet their expectations.
- In those cases, investigating how other Linux distributions support your locale
- might provide some useful information.
+ Другие пакеты также могут работать некорректно (но не всегда будут отображать какие-либо сообщения
+ об ошибках), если название локали не соответствует их ожиданиям. В таких случаях изучите, какие ещё
+ дистрибутивы Linux поддерживают ваш язык, возможно, это даст некоторую полезную информацию
- Once the proper locale settings have been determined, create the
- /etc/locale.conf file:
+ Как только будут определены правильные настройки локали, создайте файл
+ /etc/locale.conf:
cat > /etc/locale.conf << "EOF"
LANG=<ll>_<CC>.<charmap><@modifiers>
EOF
- Note that you can modify /etc/locale.conf with the
- systemd localectl utility. To use
- localectl for the example above, run:
+ Обратите внимание, что вы можете изменить /etc/locale.conf с помощью
+ утилиты из состава systemd - localectl. Чтобы использовать
+ localectl для приведенного выше примера, выполните:
localectl set-locale LANG="<ll>_<CC>.<charmap><@modifiers>"
- You can also specify other language specific environment variables such
- as LANG, LC_CTYPE, LC_NUMERIC or
- any other environment variable from locale output. Just
- separate them with a space. An example where LANG is set as
- en_US.UTF-8 but LC_CTYPE is set as just en_US is:
+ Вы также можете указать другие переменные окружения для конкретного языка, такие как
+ LANG, LC_CTYPE, LC_NUMERIC или
+ любая другая переменная окружения из вывода команды locale. Просто
+ разделите их пробелами. Пример, где LANG установлен как
+ en_US.UTF-8, а LC_CTYPE установлен как en_US:
localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"
- Please note that the localectl command
- doesn't work in the chroot environment. It can only
- be used after the LFS system is booted with systemd.
+ Пожалуйста, обратите внимание, что команда localectl
+ не работает в среде chroot. Его можно использовать только после загрузки системы LFS с помощью systemd.
- The C
(default) and en_US
(the recommended
- one for United States English users) locales are different. C
- uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
- as invalid characters. That's why, e.g., the ls command
- substitutes them with question marks in that locale. Also, an attempt to send
- mail with such characters from Mutt or Pine results in non-RFC-conforming
- messages being sent (the charset in the outgoing mail is indicated as unknown
- 8-bit
). It's suggested that you use the C
locale only
- if you are certain that you will never need 8-bit characters.
+ Локаль C
(используемая по умолчанию) и en_US
(одна из рекомендуемых для
+ англоязычных пользователей в Соединенных Штатах) это раные локали. C
+ использует 7-битный набор символов US-ASCII и обрабатывает байты с установленным старшим битом как
+ недопустимые символы. Вот почему, например, команда ls заменяет их вопросительными
+ знаками в этой локали. Кроме того, попытка отправить почту с такими символами из Mutt или Pine приводит
+ к тому что, отправляемые сообщения не соответствуют RFC (кодировка в исходящей почте указана как unknown
+ 8-bit
). Рекомендуется использовать локаль C
, если вы уверены, что вам никогда не
+ понадобятся 8-битные символы.