우분투 서버에 로케일을 어떻게 추가합니까?


178

나는 현재 그 로케일을 가지고 있습니다 :

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서버에 로케일을 어떻게 설치 합니까?

답변:


254
  1. 지원되는 로케일을 확인하십시오.

    locale -a
    
  2. 원하는 로케일을 추가하십시오 (예 :) ru.

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. 이 업데이트 명령을 실행하십시오.

    sudo update-locale 
    

26
... 그런 다음sudo update-locale
Justin Force

3
지원되지 않으면 어떻게합니까?
Kimble

4
당신은 둘 이유에 확장시겠습니까 ru_RUru_RU.UTF-8필요? 로케일에 대해 잘 모르겠습니다.
Sopalajo de Arrierez

15
php5-fpm으로 작업한다면 다음이 필요합니다sudo service php5-fpm restart
Stalinko

3
이것은 내가 필요로하는 것이었지만 Apache를 다시 시작해야 작동했습니다. 감사합니다!
Jabari

53

우분투 스타일에 더 적합한 IMO 인 다른 길을 갈 것입니다. 제공된 패키지를 사용하십시오 . 각 로케일마다 패키지가 있으며 모든 작업을 수행합니다 ... / var 파일을 편집 할 필요가 없습니다. 항상 수동으로 편집해서는 안된다고 생각했습니다.

sudo apt-get install language-pack-XX

여기서 XX는 언어 코드를 나타냅니다. 언어를 설치하면 모든 국가 별 변형도 설치됩니다 (예 : 언어 팩 설치는 it_CH.utf8 및 it_IT.utf8을 설치하고 NL을 설치하면 nl_AW, nl_AW.utf8, nl_BE.utf8 및 nl_NL.utf8이 설치됩니다. ).


나는 이것이 최선의 그리고 가장 '우분투'방식이라고 생각합니다
Luke Madhanga

4
그러나 로케일을 생성하면 현지화 된 날짜 형식, 소수 구분 기호, 문자 세트 등이 제공됩니다. 언어 팩은 번역을 제공하기 때문에 의도 한 것은 아닙니다.
Oskar Berggren

1
Oskar에 동의하십시오. 이 설치가 서버용이라고 생각하면 더욱 강력 해집니다. 대부분의 인터페이스는 영어로되어 있습니다.
igorsantos07

2
나는 이것이 또한 현재 로케일을 바꿀 까봐 두려웠다 . 다 괜찮아 최고의 접근 방식 인 것 같습니다. 특히 "번역 또는 기타 항목"이 필요 하지 않지만 어떤 이유로 로케일을 구체적으로 사용하면 완료 될 것으로 예상됩니다.
Balmipour

43
  1. 지원되는 로케일을 확인하십시오.

    less /usr/share/i18n/SUPPORTED
    
  2. 생성 된 목록에 로케일 추가

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. 목록을 재생성하십시오 (로케일 생성을 호출합니다 ...)

     sudo dpkg-reconfigure locales
    

4
echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local우분투 15.04에서 두 번째 열 (UTF-8이 두 번 발생) 을 추가해야했습니다 . 그렇지 않으면 작동합니다.
jfs

16

locale-gen을 친구로 찾았습니다. (예 : 히브리어 utf8 추가) :

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

다음과 같이 다시 해시 할 수도 있습니다.

root@world:~# dpkg-reconfigure locales

그리고 당신이 잘했는지 확인하십시오 :

root@world:~# locale -a

이 솔루션은 텍스트 파일에 내용을 추가하는 것보다 훨씬 간단합니다.


6
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

이것은 나를 위해 일했습니다. 필자의 경우 en_GB 로켈에 대한 잘못된 입력 오류가 발생했습니다. /var/lib/locales/supported.d/mintlocale줄을 포함하도록 파일을 업데이트 en_GB UTF-8했으며 en_GB.UTF-8 UTF-8(추가 UTF-8이 누락되었습니다).
Samir Aguiar

4

우분투 언어 팩을 사용하십시오. 지원되는 모든 언어는 기본 리포지토리에서 사용할 수 있습니다.

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 언어 팩을 설치해야합니다.

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:~$ 

이제 ru 로케일을 사용할 수 있습니다. 시스템 기본 로케일은 다음과 같이 편집하여 설정됩니다 /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:~$ 

2

/etc/locale.gen생성하려는 로케일을 수정 , 주석 해제 또는 추가하십시오. 그런 다음을 실행하십시오 sudo locale-gen.

로캘이 추가되어 locale -a모든 로캘이 표시되는지 확인할 수 있습니다 .


오, 내 locale-gen은 locale.gen 파일을 무시하고 수많은 로케일을 만들었습니다. 따라서이 조언을주의해서 사용하십시오.
Dzenly

0
  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


0

댓글을 달 수 없으므로 이것을 답변으로 추가해야합니다.

우분투에서 '특별한'유형의 로케일 sr_RS.utf8@latin을 추가해야했습니다.

명령:

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.


-2

재부팅이나 로그 아웃하지 않고 로케일 시스템을 적용하기 위해 비슷한 방식으로 작업을 수행했습니다.

먼저 언어 팩을 다운로드하십시오.

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

참고 : Ubuntu 서버가 아닌 일반 Ubuntu를 실행중인 경우 다음에 로그인 할 때까지 변경 사항이 콘솔을 넘어서지 않습니다 (새 탭을 열거 나 터미널을 닫으려는 경우). 그러나 우분투 서버를 사용하면 일반적으로 새 콘솔을 열려면 로그인해야하므로 중요하지 않습니다.
mchid

이 질문에 tagget되는 서버 . 그리고 누가 이것을 왜 하향 조정했는지 설명하십시오.
Nikos Alexandris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.