귀하의 국가에서 공식이 아닌 언어로 설정할 때 시스템 로케일을 변경 / 수정하는 방법은 무엇입니까?


16

컴퓨터의 전역 로캘을 어떻게 설정합니까?

최근에 쿠분투 14.04LTS를 영어로 설치했지만 스페인에 온 후 스페인을 국가로 선택한 다음 로케일 옵션을 변경하여 숫자 그룹화, 소수 구분 기호, 날짜 형식 등과 같은 모든 국가 별 구성을 얻었습니다. 스페인어를 추가했습니다.

이제 모든 응용 프로그램에서 로캘이 잘못되었다고 불평합니다. check-language-support내가 en_ES.UTF-8시스템의 로케일로 사용하고 있으며 로케일이 실제로 잘못되었다는 것을 알려줍니다 . 스페인에는 영어에 대한 로케일이 없습니다.

쿠분투의 국가 / 지역 및 언어 설정을 사용해 보았지만 해결하지 못했습니다. 나는 사용하여 시도 export LANG=en_GB.UTF-8하고 export LC_ALL=en_GB.UTF-8다음 sudo dpkg-reconfigure locales과 원인이 check-language-support내가 지금 올바른 구성을 가지고 있지만이 경우는 해당 konsole 바로 세션에 있다고 말할 수 있습니다. 이 문제는 또한 konsole이 유니 코드 문자를 표시하지 못하게하고 죽은 키를 사용하거나 ñ 또는 ç와 같은 '국제 문자'를 입력 할 수 없습니다 (Firefox와 같은 다른 응용 프로그램 에서이 질문을 게시하는 데 사용).

그래서 질문은 : 컴퓨터의 전역 로캘을 어떻게 설정합니까?

이것은 버그 리포트가 아니며, 컴퓨터를 고칠 수 없다면 결국 컴퓨터를 다시 설치할 것입니다. 그러나 나는 정말로이 REALLY 기본 작업을 수행하는 방법을 알고 싶습니다.

감사합니다.

$ check-language-support
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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_COLLATE to default locale: No such file or directory
hunspell-en-ca libreoffice-help-en-gb libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au wspanish

$ cat /etc/default/locale
LANG="en_US.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"


$ 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=en_ES.UTF-8
LANGUAGE=en:es:en
LC_CTYPE="en_ES.UTF-8"
LC_NUMERIC=en_ES.UTF-8
LC_TIME=en_ES.UTF-8
LC_COLLATE="en_ES.UTF-8"
LC_MONETARY=en_ES.UTF-8
LC_MESSAGES="en_ES.UTF-8"
LC_PAPER=en_ES.UTF-8
LC_NAME=en_ES.UTF-8
LC_ADDRESS=en_ES.UTF-8
LC_TELEPHONE=en_ES.UTF-8
LC_MEASUREMENT=en_ES.UTF-8
LC_IDENTIFICATION=en_ES.UTF-8
LC_ALL=
$ update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

답변:



8

아래 단계에 따라이 문제를 해결했습니다. 로케일이 작동하는 방식과 일부 배포판 (다른 데비안 기반) 사이의 다른 구성 세트를 연구했습니다.

Linux Mint를 기본 시스템 배포로 사용하고 Debian을 시스템 서버로 사용합니다.

우분투는 데비안에서 파생되었지만 로케일 설정은 약간 다릅니다.

1) 시스템에 설치되어 생성 된 로케일을 확인하십시오.

sudo locale -a

2) 다음 명령을 사용하여 원하지 않는 로케일을 제거하십시오.

sudo localedef --delete-from-archive <YOUR DESIRED LOCALE HERE>

예를 들면 다음과 같습니다.

sudo localedef --delete-from-archive en_AG

에 위치한 기본 구성 /etc/default/locale은 시스템 언어 앱에서 생성 된 개인 (로컬 사용자 만) 설정에 의해 무시됩니다. 이 설정은 $HOME/.pam_environment( $HOME= 홈 폴더의 위치)에 있습니다.

이 파일을 비우고 필요한 구성을 작성하십시오.

.pam_environment파일 :

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_CTYPE=pt_BR.UTF-8

LANG 변수는 구성되지 않은 LC_ *를 구성된 값 세트로 설정합니다. 예를 들면 다음과 같습니다.

시스템이 LC_TIME 변수를 검색하고 설정되지 않은 경우 LANG 값을 해당 변수의 기본값으로 사용합니다 (이 경우 LC_TIME).

.pam_environment기본적으로 말합니다 : 거의 모든 변수를 설정 pt_BR.UTF-8하고 시스템 언어를 영어로 설정하십시오.

이 정보가 유용하기를 바랍니다.


1

update-locale 명령 을 사용하려고합니다 . 사용 방법에 대해서는 해당 페이지를 방문하십시오. 기본적으로 로케일을 원하는 방식으로 설정하는 인수로 sudo로 실행합니다. 이 "글로벌 로케일 설정 수정"은 요구 사항에 따라 다릅니다.

편집 1 : 이전 버전이 효과가 없다면 locale-gen을 볼 수도 있습니다.


감사합니다. 나는 이미 그것을 시도했다. dpkg-reconfigure locales영어와 스페인어에 대한 가능한 모든 조합을 생성했습니다. 설치된 모든 언어 조합에 대해 locale-gen을 호출하는 것 같습니다. 또한 locale-gen경우에 대비하여 여러 로캘을 요청했습니다. 문제는 en_ES가 존재하지 않는다는 것입니다.
Calabacin

잘, 나는 해결책을 계속 찾고있다. 나는 이런 문제를 오랫동안 보지 못했습니다.
Zzzach ...


1

또 다른 해결책은 영어 (스페인)를 영어 (미국)로 별칭 지정하는 것입니다.

echo en_ES.UTF-8 en_US.UTF-8 >> /etc/locale.aliases


이것이 해결 방법 일지라도 똑똑하다고 생각합니다. 그것은 또한 아마 작동합니다 :)
Calabacin

0

위에서 제안한대로 시스템 언어를 미국 영어에서 영국 영어로 변경하여 문제를 일시적으로 해결했습니다. KDE 시스템 설정> 로캘> 언어 대화 상자를 통해 수행했습니다. 현재 언어를 바꾸는 것은 허용되지 않았다는 오류 메시지가 표시되었지만 실제로는 "적용"버튼을 눌렀을 때 새 설정이 적용되어 기계를 다시 시작한 것이 었습니다.


0

내 시스템에서 Kubuntu 16.04 LTS (커널 : 4.4.0-31-generic (x86_64))와 동일한 문제가있었습니다. 그러나 나는 그것을 매우 간단한 방법으로 해결했습니다.

" 개인 설정 " 탭의 " 시스템 설정 " 에서 " 지역 설정 "을 클릭하십시오 . 오른쪽 메뉴에서 " 포맷 "을 선택하십시오 . 왼쪽에서 " 자세한 설정 "을 확인 하고 숫자 또는 시간과 같은 모든 세부 사항을 원하는 언어 및 지역으로 변경하십시오.

(시스템 설정> 국가 별 설정> 형식> 상세 설정)

나는 그것이 초등학교이지만 누군가에게 유용 할 수 있다는 것을 알고 있습니다.


-3

얘들 아, 왜 미쳤어? 검색 창 또는 Unity Lens (우분투의 경우) 유형 "언어"로 이동하면 "국가 / 지역 및 언어"응용 프로그램을 찾을 수 있습니다. "국가"탭에서 원하는 로케일 언어를 선택하십시오.

현재 로케일을 유지하고 날짜 형식과 같은 다른 옵션이나 미터법 측정 기준을 변경하려면 다른 탭을 사용하십시오! :)

Ubuntu distro 14.04 LTS 이상에서 사용할 수 있습니다.


4
우분투에는 기본적으로 Unity가 있습니다. 이것은 KDE 문제입니다. 완전히 관련이 없습니다. 또한 지역 설정을 변경해도 op에 설명 된대로 문제가 해결되지 않았습니다. 이 문제를 해결하기 위해 시간을내어 주셔서 감사합니다.
Calabacin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.