Различия

Показаны различия между двумя версиями страницы.


locale [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Настройка переменных локализации в Linux ======
 +
 +{{htmlmetatags>
 +metatag-description=(Включение системных средств локализации в Red Hat Linux, Debian, Ubuntu. Использование 
 + locale.)
 +}}
 +
 +Конфигурационный файл находится /etc/default/locale.
 +
 +Команда locale запущенная без ключей выведет настройки текущей локали.
 +<file>
 +# locale -a | grep ru
 +ru_RU
 +ru_RU.iso88595
 +ru_RU.koi8r
 +ru_RU.utf8
 +russian
 +ru_UA
 +ru_UA.koi8u
 +ru_UA.utf8
 +</file>Подробный вывод с ключом -v<file>
 +d# locale -a -v
 +locale: en_US.utf8      archive: /usr/lib/locale/locale-archive
 +-------------------------------------------------------------------------------
 +    title | English locale for the USA
 +   source | Free Software Foundation, Inc.
 +  address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 +    email | bug-glibc-locales@gnu.org
 + language | English
 +territory | USA
 + revision | 1.0
 +     date | 2000-06-24
 +  codeset | UTF-8
 +
 +locale: ru_RU.utf8      archive: /usr/lib/locale/locale-archive
 +-------------------------------------------------------------------------------
 +    title | Russian locale for Russia
 +   source | RAP
 +  address | Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark
 +    email | bug-glibc-locales@gnu.org
 + language | Russian
 +territory | Russia
 + revision | 1.0
 +     date | 2000-06-29
 +  codeset | UTF-8
 +</file>
 +
 +Если в ответ получаем отличное от ru_RU.UTF — перенастраиваем.
 +
 +<file bash>
 +# locale-gen ru_RU ru_RU.UTF-8 ru_RU ru_RU.UTF-8
 +# localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8
 +# dpkg-reconfigure locales
 +# update-locale LANG=ru_RU.UTF-8
 +</file>
 +===== Red Hat / CentOS =====
 +Включение системных средств локализации в Red Hat Linux (а, следовательно, и в других дистрибутивах, основанных на Red Hat) осуществляется из файла /etc/profile.d/lang.sh.
 +Как известно, при старте любого shell-а сначала выполняется /etc/profile. В Red Hat в /etc/profile прописаны команды, благодаря которым на исполнение вызываются также все файлы /etc/profile.d/*.sh
 +
 +Значения переменных локализации в файлах lang.sh задаются путем вызова на выполнение файла /etc/sysconfig/i18n.
 +<file>
 +# nano /etc/sysconfig/i18n
 +LANG="en_US.UTF-8"
 +SYSFONT="latarcyrheb-sun16"
 +
 +</file>
 +**Правда, это верно только для случая, когда вы имеете права суперпользователя root.** Но даже если вы простой пользователь Linux-системы и не можете редактировать файл /etc/sysconfig/i18n, то вы все же можете включить локализацию для себя, но несколько иным способом. А именно, поместите в свой файл $HOME/.profile (или в любой файл, который исполняется в процессе логирования пользователя: $HOME/.Xclients, $HOME/.xinitrc или другой) следующие строки: /etc/profile или $HOME/.bash_profile
 +
 +<file bash>
 +#export LANG=ru_UA.utf8
 +#export LINGUAS=ru_RU:en
 +#export LC_ALL="ru_UA.utf8"
 +export LANG="en_US.UTF-8"
 +export LC_ALL="en_US.UTF-8"
 +export LC_CTYPE="en_US.UTF-8"
 +</file>
 +Чтобы изменения принялись нужно перезайти в консоль или выполнить команду source для файла в котором вы прописали export <file bash>
 +$ source ~/.profile
 +</file>
 +===== Debian =====
 +<note important>Чтобы использовать UTF-8 в локали нужно установить LC_CTYPE (или, опционально, переменную LANG, если вы хотите заодно изменить и системный язык).</note>
 +
 +  * Проверяем текущие значения переменных и установленные локали<file>
 +# echo $LC_CTYPE
 +# echo $LANG
 +# locale -a
 +C
 +POSIX
 +</file>
 +  * Доусстановливаем нужные локали<file>
 +# dpkg-reconfigure locales
 +en_US.UTF-8
 +ru_UA.UTF-8
 +</file>
 +  * В файлы [[bash]].bashrc и profile добавляем экспорт переменной LANG<file>
 +# nano /etc/bash.bashrc
 +# nano /etc/profile
 +export LANG=en_US.UTF-8
 +</file>
 +===== Ubuntu 12.04 - удаление локалей и локализаций =====
 +Удаление лишних локалей в Ubuntu. Делал такие телодвижения:):
 +  * В файле locale-gen посмотрел пути в которых хранятся файлы локалей.<file>
 +nano /usr/sbin/locale-gen
 +...
 +SUPPORTED=/var/lib/locales/supported.d
 +LOCALES=/usr/share/i18n/locales
 +STATEDIR=/var/lib/belocs
 +...
 +</file>
 +  * В директории supported.d отредактировал файлы, оставил только нужные локали<file>
 +# ls -l /var/lib/locales/supported.d
 +итого 12
 +-rw-r--r-- 1 root root 18 Май 30 22:09 en
 +-rw-r--r-- 1 root root 36 Май  1 21:53 local
 +-rw-r--r-- 1 root root 36 Апр 18 11:31 ru
 +</file>
 +  * Поставил  и настроил утилиту localepurge, она служит для удаления файлов **локализаций**, а не локалей<file>
 +# aptitude install localepurge
 +# nano /etc/locale.nopurge
 +MANDELETE
 +DONTBOTHERNEWLOCALE
 +SHOWFREEDSPACE
 +#QUICKNDIRTYCALC
 +VERBOSE
 +
 +en_US.UTF-8
 +ru_RU.UTF-8
 +ru_UA.UTF-8
 +</file>
 +  * Запустил localepurge -v. Файлов много удалило, но вывод locale -a не изменился.
 +  * Перегенируем локали с ключом purge<file>
 +~# locale-gen --purge
 +Generating locales...
 +  en_US.UTF-8... done
 +  ru_RU.UTF-8... done
 +  ru_UA.UTF-8... done
 +Generation complete.
 +</file>
 +  * Проверяем. Теперь все правильно остались только нужные мне локали<file>
 +~# locale -a
 +C
 +C.UTF-8
 +en_US.utf8
 +POSIX
 +ru_RU.utf8
 +ru_UA.utf8
 +</file>
 +
 +===== Ubuntu добавление локали =====
 +  * Источник: [[http://askubuntu.com/questions/76013/how-do-i-add-locale-to-ubuntu-server|How do I add locale to ubuntu server?]]
 +
 +  - Какие локали поддерживает Ubuntu? Находим нужную нам, например en_US.UTF-8 UTF-8<file>
 +less /usr/share/i18n/SUPPORTED
 +</file>
 +  - Добавим нужную нам локаль в список для создания локалей<file bash>
 +echo 'en_US.UTF-8 UTF-8' >> /var/lib/locales/supported.d/local;
 +echo 'uk_UA.UTF-8 UTF-8' >> /var/lib/locales/supported.d/local;
 +</file>
 +  - Пересоздадим локали<file bash>
 +dpkg-reconfigure locales
 +</file>
 +====== Ссылки ======
 +  * [[http://www.linuxcenter.ru/lib/books/kostromin/gl_11_02.phtml|Настройка системных средств локализации]]
 +  * [[wpru>Локаль]]
 +  * [[Unicode]]
 +  * [[ISO]]
 +  * [[i18n]] - Интернационализация
 +  * [[L10n]] - Локализация
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!