В настоящее время у меня есть эти локали:
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
локаль на свой сервер?
Я сделал то же самое, применив всю систему локалей без перезагрузки или выхода из системы.
Сначала загрузите языковой пакет:
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
проверьте, какие локали поддерживаются:
locale -a
добавьте нужные локали (например, ru
):
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
запустить эту команду обновления
sudo update-locale
ru_RU
и ru_RU.UTF-8
необходимы? Я don' t знают много о локалях.
– Christophe Roussy
22.02.2020, 22:34
sudo service php5-fpm restart
– Gerardo Suarez
22.02.2020, 22:35
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
/var/lib/locales/supported.d/mintlocale
файл для содержания строк en_GB UTF-8
, и en_GB.UTF-8 UTF-8
(дополнительный UTF-8 отсутствовал).
– Tuncay Göncüoğlu
22.02.2020, 22:35
Я бы пошел по другому пути, который 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. ).
Я нашел locale-gen твоим другом. как в (например, добавление иврита utf8):
root@world:~# locale-gen he_IL.UTF-8
вы можете даже перефразировать его так:
root@world:~# dpkg-reconfigure locales
и проверить, что вы сделали хорошо:
root@world:~# locale -a
[ 116] Мне показалось, что это решение проще, чем добавление чего-либо в текстовые файлы, хотя оно и делает.
Используйте языковые пакеты 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:~$
Поскольку у меня не было локалей ru, я должен установить пакет языковой поддержки ru:
[114 ] Теперь доступны ру локали. Системный языковой стандарт по умолчанию устанавливается путем редактирования /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:~$
Измените /etc/locale.gen
, раскомментировав или добавив локали, которые вы хотите сгенерировать. Затем запустите sudo locale-gen
.
Вы можете проверить, добавлены ли локали с помощью locale -a
, который покажет все локали.
Не могу комментировать, поэтому я должен добавить это в качестве ответа.
Мне нужно было добавить «специальный» тип локали 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
.
cat
файл /usr/share/i18n/SUPPORTED
и скопируйте нужный языковой стандарт для добавления. на терминале введите sudo locale-gen locale_name
.
Например, sudo locale-gen de_DE.iso885915@euro
введите sudo update-locale
Проверьте, установлен ли языковой стандарт с locale -a
проверить, какие локали поддерживаются:
less /usr/share/i18n/SUPPORTED
Добавить локаль в список сгенерированных
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
Восстановить список (он вызовет locale-gen ...)
sudo dpkg-reconfigure locales
echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
(UTF-8 происходит дважды) на Ubuntu 15.04. Иначе это работает.
– Basil Bourque
22.02.2020, 22:38