남자가 로케일에 대해 오류를 제공합니다.

남자가 로케일에 대해 오류를 제공합니다.

나는 가지고있다

$ locale
LANG=en_GB.UTF-8
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE=ru_RU.UTF-8
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES=en_GB.UTF-8
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

$ locale -a
C
en_GB.utf8
POSIX
ru_RU.utf8

하지만 man오류가 발생합니다.

$ man
man: can't set the locale; make sure $LC_* and $LANG are correct
What manual page do you want?

다음을 설정하면 LC_ALL오류가 사라집니다.

$ LC_ALL=en_GB.UTF-8 man
What manual page do you want?

하지만 다른 로케일에 대한 LC_ALL일부 설정이 있기 때문에 설정하고 싶지 않습니다 .LC_

이 문제를 해결하는 방법은 무엇입니까 man?

답변1

manDebian squeeze의 소스 코드에서 다음 코드를 찾았습니다.

/* initialise the locale */
    if (!setlocale (LC_ALL, "") && !getenv ("MAN_NO_LOCALE_WARNING"))
        /* Obviously can't translate this. */
        error (0, 0, "can't set the locale; make sure $LC_* and $LANG "
                 "are correct");
    setenv ("MAN_NO_LOCALE_WARNING", "1", 1);

환경 변수를 MAN_NO_LOCALE_WARNING1로 설정하고 도움이 되는지 확인하세요. setlocale (LC_ALL, "")다음 문서에 따르면 왜 실패하는지 잘 모르겠습니다 setlocale().

The return value is NULL if the request cannot be honored.

관련 정보