CentOS 8에서 LANG 변수를 이탈리아어로 변경하려고 하면 변경되지 않습니다. 여기 제가 하고 있는 일의 예가 있습니다.
LANG=it_IT.UTF-8
그런 다음 이 작업을 수행하면 ls --help
결과가 여전히 영어로 표시됩니다.
감사해요.
답변1
이것이 작동하려면 다음과 같은 몇 가지 조건이 충족되어야 합니다.
- 로케일
it_IT.UTF-8
은 시스템에서 사용 가능해야 합니다. 확인하다locale -a | grep it
- 해당 애플리케이션의 이탈리아어 번역이 가능해야 합니다(GNU의 경우
ls
일반적으로/usr/share/locale/it/LC_MESSAGES/coreutils.mo
CentOS와 같은 GNU 시스템과 유사함). - 변수에 액세스하려면 변수
LANG
를 환경으로 내보내야 합니다ls
(export LANG
). - 특히, GNU 시스템의 메시지 언어 설정은 및 변수
$LANGUAGE
보다 우선합니다 ( 또는 가 C/POSIX 로케일로 설정되지 않은 경우) . 따라서 가 있으면 다른 모든 항목을 로 설정하더라도 프랑스어 메시지(사용 가능한 경우)를 받게 됩니다 .LANG
LC_*
LC_MESSAGE
LANG
LC_ALL
LANGUAGE=fr:en:it
it_IT.UTF-8
- 메시지 언어 설정의 경우, 다른 모든 것
LC_MESSAGES
보다 우선하며LANG
재정의LC_ALL
됩니다( 위에 표시된 대로 /LANGUAGE
가 아닌 경우 ).C
POSIX
의 출력에는 locale
현재 설정에 대한 요약이 제공됩니다. env | grep -e LANG -e LC_
로케일 관련 목록을 제공해야 합니다환경현재 설정된 변수입니다.
답변2
LANG
Sun Microsystems가 현재 지역화의 기본을 개발했던 1980년대의 오래된 환경 변수입니다.
이 변수는 계속 사용되지만 공식 표준의 다른 변수가 정의되지 않은 경우 대체용으로만 사용됩니다.
검색 순서는 다음과 같습니다.
LC_ALL은 모든 것을 포괄하는 데 사용됩니다.
LC_MESSAGES 및 이와 유사한 일반적인 사용법
LC_ALL이나 로케일 유형별 정의를 모두 사용할 수 없는 경우 LANG입니다.
재정의하려면 문서화된 LC_ALL을 사용하세요.
답변3
LC_ALL=it_IT.UTF-8
을 제외하고 시도해 보세요 .LANGUAGE=it_IT.UTF-8
LANG=it_IT.UTF-8
현재 로캘이 올바르게 설정되어 있는지 확인하세요 locale
.
또한 it_IT.UTF-8
로케일이 사용 가능한지 확인하십시오 locale -a
.
LANGUAGE=it_IT.UTF-8
예를 들어 메시지 텍스트 help
나 man
페이지의 메시지 텍스트를 변경하도록 설정하기만 하면 됩니다 . 이는 LANGUAGE
번역이 존재하는 메시지의 언어를 설정한다는 점을 기억하십시오. 그래서 ls --help
정확히 이탈리아어는 아닐 수도 있습니다.
답변4
tmux
Ubuntu에서 사용하면 아이콘 등을 표시할 수 없습니다.
사용하여
export LANG=en_IN.utf-8
문제가 해결되었습니다. 올바르게 표시하기 위해 사용하는 또 다른 방법은 tmux -u
.