Manjaro에서 누락된 로케일 파일을 수정하는 방법은 무엇입니까?

Manjaro에서 누락된 로케일 파일을 수정하는 방법은 무엇입니까?

저는 Manjaro Gnome을 실행 중이고 패키지 관리자를 사용하여 일부 업데이트를 설치했습니다. 그 이후로 콘솔에 다음 메시지가 계속 표시됩니다.

manpath: can't set the locale; make sure $LC_* and $LANG are correct
(anon):12: character not in range
manpath: can't set the locale; make sure $LC_* and $LANG are correct

실행하면 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_US.UTF-8
LC_CTYPE=
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

실행하면 sudo locale-gen파일이나 디렉터리가 존재하지 않는다는 오류 메시지가 나타납니다.

Generating locales...
  de_DE.UTF-8...failed to set locale!
[error] cannot open locale definition file `i18n_ctype': No such file or directory

내가 그것을 주석 처리하면(따라서 주석 처리되지 않은 유일한 줄은) 다음과 같은 결과를 de_DE.UTF-8 UTF-8얻습니다./etc/locale.genen_US.UTF-8 UTF-8

Generating locales...
  en_US.UTF-8...failed to set locale!
[error] cannot open locale definition file `en_GB': No such file or directory

이는 다음과 같습니다 /usr/share/i18n/locales.

de_DE                  translit_combining
en_US                  translit_compat
i18n                   translit_font
iso14651_t1            translit_fraction
iso14651_t1_common     translit_hangul
iso14651_t1_pinyin     translit_narrow
translit_circle        translit_neutral
translit_cjk_compat    translit_small
translit_cjk_variants  translit_wide

따라서 파일처럼 보이지만 en_GB실제로 i18n_ctype는 누락되었습니다(비록 이 폴더에 있어야 하는지는 확실하지 않지만).

게다가 내가 가면설정->지역과 언어, 변경할 수 없습니다언어(라고 되어있습니다 Unspecified [ANSI_X3.4-1968]. 클릭하면,언어를 선택하세요팝업.

문제가 무엇인지 온라인으로 알아냈습니다 glibc(그리고 기록을 기반으로 glibc업데이트 중에 다시 설치했습니다 [2020-08-11T18:49:33+0200] [ALPM] reinstalled glibc (2.31-5)). 그러나 이 문제를 해결하는 방법을 모르겠습니다. 패키지 관리자에는 glibc 재설치 버튼이 없으며 더 큰 혼란을 초래할 수 있는 실험을 하고 싶지 않았습니다.

언어 파일을 다시 설치/재설정하는 방법이 있나요?

고쳐 쓰다

저는 [Arch wiki]에 설명된 대로 하드 드라이브 공간을 절약하기 위해 NoExtractin을 사용합니다(/etc/pacman.confhttps://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Installing_only_content_in_required_언어s)

NoExtract = usr/share/help/* !usr/share/help/en*
NoExtract = usr/share/gtk-doc/html/*
NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* opt/google/chrome/locales/*
NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/en_US !usr/share/*locales/i18n !usr/share/*locales/iso*
NoExtract = !usr/share/*locales/trans*
NoExtract = !*locale*/de*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/de_DE !usr/share/*locales/i18n !usr/share/*locales/iso*
NoExtract = !usr/share/*locales/trans*
NoExtract = usr/share/qt4/translations/*
NoExtract = usr/share/man/* !usr/share/man/man*
NoExtract = usr/share/vim/vim*/lang/*
NoExtract = usr/lib/libreoffice/help/en-US/*

이것이 문제의 일부인지 궁금합니다. glibc를 다시 설치할 때 일부 파일을 건너뛰었을 수도 있습니다.

답변1

  1. 편집하다 /etc/locale.gen:

    다음 줄의 주석 처리를 해제하세요.

    locale en_US.UTF-8
    
  2. 달리기sudo locale-gen

신용 거래:https://nanxiao.me/en/fix-locale-configuration-issue-on-arch-linux/

답변2

이제 해결책을 찾았습니다. 나는 이것이 최선의 접근 방식이라고 생각하지 않지만 나에게는 효과가 있는 것 같습니다.

다운로드했습니다glibc 패키지누락된 파일( en_GBi18n_ctype)을 /usr/share/i18n/locales/.

그런 다음 실행sudo locale-gen

답변3

/etc/locale.gen패키지를 다시 설치하면 정보를 다시 얻을 수 있습니다 glibc. 설치 시 새 파일이 생성됩니다.

답변4

제 경우에는 KDE Plasma Settings Manager로케일을 존재하지 않는 구성으로 구성하여 문제가 발생했습니다.

Finland/English만자로 설치시 가능해서 그곳을 선택했습니다 . 왜 안 돼? 그러한 조합이 포함되지 않았기 fi_EN.UTF-8때문에 이것은 적어도 말도 안되는 것으로 결정되었습니다 .glibc

glibc다음과 같이 패키지 파일을 검사한 언어를 나열할 수 있습니다 .

pacman -Ql glibc | grep fi_

내 예에서는 다음 두 가지가 표시됩니다.

glibc /usr/share/i18n/locales/fi_FI
glibc /usr/share/i18n/locales/fi_FI@euro

fi_FI맞습니다 . fi_EN둘 다는 아닙니다 fi_US. 플라즈마, 부끄러운 일이군요.

grep fi_언어를 찾으려면 위 명령을 바꾸세요 (예: 폴란드어: grep pl_, 독일어: grep de_등).

locale그런 다음 이는 명령 호출의 결과와 비교됩니다. 제 경우에는 편집을 통해 수정해야 합니다 /etc/locale.gen. Manjaro의 문제 해결을 따를 수 있습니다.

https://wiki.manjaro.org/index.php/Locale

아니면 Holly Arch Wiki에서:

https://wiki.archlinux.org/title/locale

관련 정보