내가 생성한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
명시적으로 설정되지 않은 카테고리에만 적용됩니다.
LANG
LC_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 -a
Fedora/CentOS/RHEL 기반 배포판에서는 이 시스템 파일에서 명령을 실행할 때 표시되는 로케일 중 하나로 로케일을 변경할 수 있다고 생각합니다 .
/etc/sysconfig/i18n
예를 들어 내 Fedora 14 시스템에서는 다음과 같습니다.
$ more /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
그놈에서 도움말 앱을 실행할 수 있습니다:
system-config-language
이 GUI가 나타납니다.
데비안/우분투 배포판에서는 약간 다른 것 같습니다. 나는 그것이 이 파일이라고 믿는다:
/etc/default/locale
나는 그것들이 환경 변수라고 생각하지만 응용 프로그램이 그것들을 어떻게 사용하는지 완전히 확신하지 못합니다.
참고자료
답변3
적어도 RedHat 6에서는 LC_ALL이 설정된 경우 다른 LC_* 환경 변수를 설정해도 아무런 효과가 없습니다. LC_ALL이 다른 모든 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