터미널에 독일어 움라우트( ä
, , )를 입력하면(저는 st를 사용하고 있으며 Arch Linux에 있음) 표시만 됩니다. ö
로캘이 올바르게 설정된 것 같습니다.ü
$XTERM
st-256color
<ffffffff>
의 출력은 locale
다음과 같습니다
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de-DE.UTF-8
LC_CTYPE=de-DE.UTF-8
LC_NUMERIC="de-DE.UTF-8"
LC_TIME="de-DE.UTF-8"
LC_COLLATE="de-DE.UTF-8"
LC_MONETARY="de-DE.UTF-8"
LC_MESSAGES="de-DE.UTF-8"
LC_PAPER="de-DE.UTF-8"
LC_NAME="de-DE.UTF-8"
LC_ADDRESS="de-DE.UTF-8"
LC_TELEPHONE="de-DE.UTF-8"
LC_MEASUREMENT="de-DE.UTF-8"
LC_IDENTIFICATION="de-DE.UTF-8"
LC_ALL=
나는 locale.conf
단지 설정
LANG="de-DE.UTF-8"
LC_CTYPE="de-DE.UTF-8"
나는 locale.gen
코멘트가 없습니다 de-DE.UTF-8
. 무엇이 잘못될 수 있나요?
답변1
실제 로캘 이름에는밑줄언어 코드와 국가 코드 사이, 즉 다음과 같아야 locale.conf
합니다.
LANG="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
-
현재는 밑줄( ) 대신 빼기 기호( )를 사용합니다 _
. 로케일 사양이 유효하지 않기 때문에 시스템은 POSIX 로케일과 US-ASCII 문자 세트로만 대체됩니다.
이 LANG
변수는 다른 모든 로케일의 기본값을 설정하므로 그냥 설정하십시오.
LANG=de_DE.UTF-8
변수를 사용하여 특정 범주를 재정의 LC_*
하지 않는 한 모든 범주별 로케일 변수를 동일한 값으로 설정하는 것과 같습니다 .LC_*
따라서 설정하면 해당 설정이 이미 새 기본값으로 설정되어 있으므로 LANG=de_DE.UTF-8
필요하지 않습니다 . 그러나 번역된 오류 메시지가 마음에 들지 않고 영어로 유지하려는 경우 LANG 값을 설정하여 LC_MESSAGES 범주만 재정의할 수 있습니다.LC_CTYPE=de_DE.UTF-8
LANG
LC_CTYPE
LC_MESSAGES=en_US.UTF-8
명령 출력에도 이 내용이 반영됩니다. 현재 설정과 동일한(잘못된) 값 locale
으로 설정된 모든 범주별 변수가 표시됩니다 .LANG
LC_ALL
모든 로캘에 대한 마스터 재정의입니다. 현지화의 영향을 받을 수 있는 명령 출력을 구문 분석하는 일부 파이프라인에서 가장 자주 볼 수 있습니다. 사용자가 사용하는 로케일에 관계없이 스크립트 작성자가 해당 특정 로케일에 대한 출력 구문 분석만 디자인하면 되는 파이프라인에 접두어를 붙이 LC_ALL=POSIX
거나 보장합니다.LC_ALL=en_US.UTF-8