Difference between revisions of "Locale (한국어)"

From ArchWiki
Jump to: navigation, search
m
m
Line 6: Line 6:
 
[[fr:Locale]]
 
[[fr:Locale]]
 
[[it:Locale]]
 
[[it:Locale]]
 +
[[ja:Locale]]
 
[[nl:Locale]]
 
[[nl:Locale]]
 
[[ru:Locale]]
 
[[ru:Locale]]

Revision as of 15:27, 2 January 2013

로케일은 리눅스에서 사용자가 어떤 언어를 사용하는지 지정하는 데 사용된다. 로케일은 사용될 문자 집합을 같이 지정하기 때문에 로케일을 바르게 설정하는 것이 특히 언어에 비아스키 문자가 있을 경우에 매우 중요하다.

로케일은 다음과 같은 형식으로 지정된다.

<언어>_<지역>.<코드집합>[@<변형>]

필요한 로케일 활성화

로케일을 시스템에서 사용하려면 먼저 활성화해야 한다. 모든 이용 가능한 로케일을 보려면 다음 명령어를 사용하라.

$ locale -a

로케일을 활성화하려면 /etc/locale.gen 파일에서 그 로케일 앞의 주석 표시를 제거하라. 이 파일은 시스템에서 사용 가능한 로케일 전부를 포함한다. 로케일을 비활성화하려면 그 로케일을 주석 처리하라. 필요한 로케일을 지정한 후에 시스템을 다음 명령어로 갱신해야 한다.

# locale-gen

지금 사용하고 있는 로케일을 표시하려면 다음을 입력해 보라.

$ locale
도움말: 단지 하나의 언어가 시스템에서 대부분 사용될지라도 다른 로케일을 활성화하는 게 도움이 되거나 심지어 필요할 수 있다. en_US를 사용하지 않는 사용자가 있는 다중 사용자 시스템이라면 그 각자의 로케일이 시스템에서 지원되어야 한다.

한국어 보기

/etc/locale.gen에서 다음을 지정하라.

ko_KR.UTF-8 UTF-8

루트 권한으로 다음과 같이 시스템을 갱신하라.

# locale-gen

시스템 로케일 설정

시스템 로케일을 지정하려면 locale.conf 파일에 LANG을 설정하라.

/etc/locale.conf
LANG="ko_KR.UTF-8"

고급 설정 보기:

/etc/locale.conf
# 한국어 UTF-8 설정
LANG="ko_KR.UTF-8"

# 기본 정렬 방식 유지하도록 설정('.' 파일이 디렉토리 목록의 처음에 표시됨)
LC_COLLATE="C"

#  YYYY년 MM월 DD일 (토) 오후 HH시 MM분 SS초 ("date +%c" 명령어로 시험) 형식으로 날짜 표시하기
LC_TIME="ko_KR.UTF-8"

locale.gen 파일에서 사용할 로케일을 지정한 후에 locale-gen을 실행해 로케일을 생성한다.

/etc/locale.gen
ko_KR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
en_GB.UTF-8 UTF-8
# locale-gen

로케일은 시스템을 재부팅해야 적용되며 로그인하면 각 세션별로 설정될 것이다.

안전 로케일 설정

gettext를 사용해 번역하는 프로그램은 일반 변수 외에 LANGUAGE 변수를 사용한다. 이 변수는 다음 순서로 사용될 로케일 변수 목록을 지정한다. 선호하는 로케일 번역이 없다면 유사한 로케일 번역이 기본 로케일 대신 사용될 것이다. 예를 들면, 한국어 사용자가 그 대안으로 다음과 같이 미국 영어와 영국 영어를 지정할 수도 있다.

/etc/locale.conf
LANG="ko_KR.UTF-8"
export LANGUAGE="en_US:en_GB:en"

개인 사용자 로케일 설정

앞에서도 말했지만 개별 사용자는 시스템 로케일과 다른 로케일을 사용하기를 원할 수 있다. 이를 위해 ~/.bashrc 파일에서 LANG 변수를 설정한다. 예를 들어 ko_KR.UTF-8 로케일을 사용하려면 다음처음 설정하라.

export LANG=en_AU.UTF-8

로케일은 ~/.bashrc가 읽어들여질 때 갱신된다. 갱신하려면 재로그인하거나 그것을 수동으로 다음과 같이 읽어들여라.

$ source ~/.bashrc

정렬 순서 설정

정렬은 조금 다른 문제이다. 로케일마다 서로 다른 정렬 방법을 사용한다. 잠재적 위험을 피하려고 아치는 /etc/profile에서 LC_COLLATE="C"를 지정해었다. 그러나 이 방법은 더 이상 사용되지 않는다. 이 방식을 활성화하려면 /etc/locale.conf에 다음을 추가하라.

LC_COLLATE="C"

ls 명령은 도트파일, 대문자, 소문자 파일 이름순으로 정렬할 것이다. LC_COLLATE 설정이 없으면 로케일 인식 프로그램은 LC_ALL이나 LANG에 따라 정렬하지만, LC_COLLATE 설정은 LC_ALL이 설정되면 무시될 것이다. 이것이 문제가 된다면 /etc/profile에 다음을 추가해 LC_ALL의 설정을 해제하라.

export LC_ALL=

LC_ALL은 /etc/locale.conf에서 설정될 수 없는 유일한 변수임을 명심하라.

주일의 첫 번째 요일 설정

많은 나라에서 주일의 첫 번째 요일이 월요일이다. 이를 조정하려면 /usr/share/i18n/locales/<자신의 로케일>에서 다음을 LC_TIME부분에 추가하거나 변경하라. :

week            7;19971130;5
first_weekday   2
first_workday   2

그리고 시스템을 갱신하라.

# locale-gen
도움말: 시스템에 문제가 생겨서 포럼, 메일링 리스트 등에 도움을 요청하고 싶다면 그 전에 export LC_MESSAGES=C를 설정한 상태에서 문제가 되는 프로그램의 출력을 질문 글에 포함하라. 그러면 오류나 경고 같은 프로그램 출력이 영어로 표시되어 더 많은 사람이 답할 수 있을 것이다. 비영어 포럼이라면 이렇게 할 필요가 없다.

문제 해결

터미널에서 UTF-8을 지원하지 못할 경우

불행하게도 일부 터미널은 UTF-8을 지원하지 않는다. 이런 경우에는 다른 터미널을 사용해야 한다. UTF-8 지원 터미널로 다음과 같은 것이 있다.

  • vte 기반 터미널
  • gnustep-terminal
  • konsole
  • mlterm
  • rxvt-unicode
  • xterm

Xterm에서 UTF-8을 지원하지 못할 경우

xterm은 uxterm이나 xterm -u8로 실행해야만 UTF-8을 지원한다.

Gnome-터미널과 rxvt-unicode 터미널에서 UTF-8을 지원하지 못할 경우

UTF-8 로케일에서 이 프로그램을 실행해야 한다. 그렇지 않으면 UTF-8 지원을 하지 않는다. ko_KR.UTF-8 로케일을 위에서 설명한 대로 기본 로케일(또는 다른 언어 UTF-8) 로 설정하고 재부팅하라.

같이 보기