Как добавить локаль на сервер Ubuntu?

В настоящее время у меня есть эти локали:

locale -a

C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Как я могу установить ru_RU локаль на свой сервер?

178
задан 14 January 2013 в 21:03

12 ответов

Я бы пошел по другому пути, который IMO лучше подходит для стиля Ubuntu. Используйте предоставленные пакеты . Есть пакеты для каждой локали, и они делают всю работу за вас ... нет необходимости редактировать файлы / var, которые, как я всегда полагал, не предназначались для редактирования вручную.

sudo apt-get install language-pack-XX

где XX обозначает код языка. При установке языка будут также установлены все варианты, специфичные для страны (например, при установке пакета language-будет установлен it_CH.utf8 и it_IT.utf8, при установке для NL будут установлены nl_AW, nl_AW.utf8, nl_BE.utf8 и nl_NL.utf8. ).

0
ответ дан 14 January 2013 в 21:03

Я нашел locale-gen твоим другом. как в (например, добавление иврита utf8):

root@world:~# locale-gen he_IL.UTF-8

вы можете даже перефразировать его так:

root@world:~# dpkg-reconfigure locales

и проверить, что вы сделали хорошо:

root@world:~# locale -a
[ 116] Мне показалось, что это решение проще, чем добавление чего-либо в текстовые файлы, хотя оно и делает.

0
ответ дан 14 January 2013 в 21:03
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local

Я получаю следующее сообщение в пункте 3: «Ошибка: неверная запись« ru_RU.UTF8 »»

Эта работа для меня:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
0
ответ дан 14 January 2013 в 21:03

Измените /etc/locale.gen, раскомментировав или добавив локали, которые вы хотите сгенерировать. Затем запустите sudo locale-gen.

Вы можете проверить, добавлены ли локали с помощью locale -a, который покажет все локали.

0
ответ дан 14 January 2013 в 21:03

Не могу комментировать, поэтому я должен добавить это в качестве ответа.

Мне нужно было добавить «специальный» тип локали sr_RS.utf8@latin в Ubuntu.

Команда:

sudo locale-gen sr_RS.utf8@latin

не добавляет @latin к доступным локалям. Чтобы добиться успеха, команда должна выглядеть следующим образом:

sudo locale-gen sr_RS@latin.utf8

Команда:

sudo locale -a

теперь показывает:

sr_RS
sr_RS@latin
sr_RS.utf8
sr_RS.utf8@latin

Обратите внимание на синтаксическая разница между результатом locale -a и тем, как он добавляется командами locale-gen.

0
ответ дан 14 January 2013 в 21:03

Я сделал то же самое, применив всю систему локалей без перезагрузки или выхода из системы.

Сначала загрузите языковой пакет:

sudo apt-get install language-pack-ru-base

Затем проверьте, какие версии поддерживаются:

less /usr/share/i18n/SUPPORTED | grep ru_RU

Теперь примените результат (почти всегда используйте версию UTF-8 почти для любого языка!):

echo 'ru_RU.UTF-8 UTF-8' | sudo tee /var/lib/locales/supported.d/local
sudo dpkg-reconfigure locales

Наконец, обновите файл настроек по умолчанию, создайте его, и все готово:

echo 'LANG=ru_RU.UTF-8' | sudo tee /etc/default/locale

примените изменения к системе:

. /etc/default/locale
LANGUAGE=ru_RU.UTF-8

и проверьте свои результаты:

locale
0
ответ дан 14 January 2013 в 21:03
  1. Проверьте, какие локали уже поддерживаются в вашем дистрибутиве. Откройте или cat файл /usr/share/i18n/SUPPORTED и скопируйте нужный языковой стандарт для добавления.
  2. на терминале введите sudo locale-gen locale_name.

    Например, sudo locale-gen de_DE.iso885915@euro

  3. введите sudo update-locale

  4. Проверьте, установлен ли языковой стандарт с locale -a

    [ 119]
0
ответ дан 14 January 2013 в 21:03

Используйте пакеты языка Ubuntu. Все поддерживаемые языки доступны в репозиториях по умолчанию:

apt-cache search language-pack

Полный пример локали, переключающейся в Ubuntu (сервер) версия:

jani@example:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Все доступные (т.е. уже установленный) локали могут быть перечислены с:

locale -a

Моя текущая локаль en_IE:

jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov  1 15:36:51 UTC 2014
jani@example:~$

Поскольку у меня не было локалей рутения, я должен установить пакет языка рутения:

jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
  ru_RU.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
jani@example:~$ 

Теперь локали рутения доступны. Локаль системного значения по умолчанию установлена путем редактирования /etc/default/locale:

jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$

Повторно войдите и проверьте свою совершенно новую локаль:

jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб.  1 15:43:45 UTC 2014
jani@example:~$ 
4
ответ дан 14 January 2013 в 21:03
  1. проверьте, какие локали поддерживаются:

    locale -a
    
  2. добавьте нужные локали (например, ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. запустить эту команду обновления

    sudo update-locale 
    
0
ответ дан 14 January 2013 в 21:03
  1. проверить, какие локали поддерживаются:

    less /usr/share/i18n/SUPPORTED
    
  2. Добавить локаль в список сгенерированных

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Восстановить список (он вызовет locale-gen ...)

     sudo dpkg-reconfigure locales
    
0
ответ дан 14 January 2013 в 21:03

Для небольшого сервера, который не поддерживал нужную мне локаль (locale -a не указал ее), все, что мне нужно было сделать, это запустить

sudo dpkg-reconfigure locales

, что предоставило текстовые диалоги, из которых я мог выбирать (страница вверх/вниз, вверх/вниз, пробел для выбора, табуляция для OK и Enter для сохранения). Он автоматически регенерировал локали.

Как заявляли другие, вам нужно будет перезапустить любой процесс, которому требуется новая локаль.

2
ответ дан 26 August 2020 в 01:51

Если у вас не установлены локали:

apt-get update && apt-get install locales

После этого просто добавьте нужную локаль

sudo locale-gen pt_BR
1
ответ дан 5 February 2021 в 02:20

Другие вопросы по тегам:

Похожие вопросы: