로케일 환경 변수를 변경하는 방법은 무엇입니까?

로케일 환경 변수를 변경하는 방법은 무엇입니까?

내가 생성한en_US.utf8,et_EE.iso88591그리고ru_RU.utf8현지화 파일. 이제 로케일 변수를 다음으로 변경하려고 하면ru_RU.utf8또는en_US.utf8이면 아무런 효과가 없습니다.

# locale -a
C
en_US.utf8
et_EE
et_EE.iso88591
POSIX
ru_RU.utf8
# LC_TIME=ru_RU.utf8
# locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
# LC_TIME="ru_RU.utf8"
# locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
# 

하지만, 내가 바꾸면언어 =변수를 만든 다음 나누기언어 =그리고LC_ALL=언어 =바꾸다. 각 로케일 변수를 개별적으로 수정하는 방법이 있습니까? 또한 로케일 변수가 일반 쉘 변수가 아니라 매개 변수와 비슷하다고 생각하는 것이 맞습니까?로케일유용?

답변1

모든 로캘 범주를 독립적으로 설정할 수 있습니다. LANG명시적으로 설정되지 않은 카테고리에만 적용됩니다.

LANGLC_xxx일반적인 환경 변수입니다 . 이는 locale유틸리티에 대한 설정 이 아닙니다 . locale프로그램은 로케일 처리에 참여하지 않으며 현재 및 사용 가능한 로케일을 보고하는 작은 유틸리티일 뿐입니다.

을 작성하면 LC_TIME=ru_RU.utf8환경 변수가 설정되지 않고 쉘 변수만 설정됩니다. 쉘 변수는 쉘 내부에 있으며 다른 프로그램에서는 볼 수 없습니다. 반면에 환경 변수는 셸에서 시작된 프로그램에 의해 상속됩니다. 또한 변수를 환경으로 내보내야 합니다.

$ LC_TIME=ru_RU.utf8
$ locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
$ export LC_TIME
$ locale | grep LC_TIME
LC_TIME="ru_RU.utf8"

아니면 직접

$ export LC_TIME=ru_RU.utf8
$ locale | grep LC_TIME
LC_TIME="ru_RU.utf8"

답변2

locale -aFedora/CentOS/RHEL 기반 배포판에서는 이 시스템 파일에서 명령을 실행할 때 표시되는 로케일 중 하나로 로케일을 변경할 수 있다고 생각합니다.

/etc/sysconfig/i18n

예를 들어 내 Fedora 14 시스템에서는 다음과 같습니다.

$ more /etc/sysconfig/i18n 
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

GNOME에서 도우미 애플리케이션을 실행할 수 있습니다:

system-config-language

그러면 다음과 같은 GUI가 나타납니다.

             랭의 SS. 구이

데비안/우분투 배포판은 약간 다른 것 같아요. 나는 그것이 이 파일이라고 믿는다:

/etc/default/locale

나는 그것이 환경 변수라고 생각하지만 응용 프로그램이 그것을 어떻게 사용하는지 완전히 확신하지 못합니다.

인용하다

답변3

적어도 RedHat 6에서는 LC_ALL이 설정된 경우 LC_ALL이 다른 모든 LC_* 환경 변수보다 우선하므로 다른 LC_* 환경 변수를 설정해도 아무런 효과가 없습니다.

[root@nbu76 bin]# LC_TIME=en_US.UTF-8
[root@nbu76 bin]# export LC_TIME
[root@nbu76 bin]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_IE"
LC_NUMERIC="en_IE"
LC_TIME="en_IE"
...
LC_ALL=en_IE
[root@nbu76 bin]# unset LC_ALL
[root@nbu76 bin]# locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_US.UTF-8
...
LC_ALL=
[root@nbu76 bin]# export LC_TIME=en_IE
[root@nbu76 bin]# locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_IE
....
LC_ALL=

답변4

데비안 시스템에서는 실행하여 dpkg-reconfigure locales기본 언어를 설정하고 다른 언어를 사용 가능하게 만든 다음 대체 언어를 사용 하도록 환경 변수를 update-locale설정할 수 있습니다 .LANGUAGE/etc/default/locale

관련 정보