[r] R에서 언어 설정을 변경하는 방법

내 오류 메시지가 프랑스어로 표시됩니다. 오류 메시지가 영어로 표시되도록 시스템 언어 설정을 변경하려면 어떻게해야합니까?



답변

Sys.setenv()기능을 사용하여 설정할 수 있습니다 . 내 R 세션은 기본적으로 영어로 설정되어 있으므로 프랑스어로 설정 한 다음 다시 돌아갑니다.

> Sys.setenv(LANG = "fr")
> 2 + x
Erreur : objet 'x' introuvable
> Sys.setenv(LANG = "en")
> 2 + x
Error: object 'x' not found

약어 목록은 여기 에서 찾을 수 있습니다 .

Sys.getenv() 설정된 모든 환경 변수의 목록을 제공합니다.


답변

Windows 용 RStudio의 경우 R for Windows FAQ 에있는 지침에 따라 언어를 변경하는 데 성공했습니다 . 특히 다음과 같이 작성했습니다.

language = EN

파일 내부 Rconsole(내 설치에서는 C:\Program Files\R\R-2.15.2\etc\Rconsole); 이것은 명령에도 적용 Rscript됩니다.

예를 들어 Rconsole명령 프롬프트에서 다음 두 명령을 사용 하여 파일을 찾을 수 있습니다 .

cd \

dir Rconsole /s

첫 번째는 루트를 현재 디렉토리로 만들고 두 번째는 Rconsole파일을 찾습니다 .

다음 스크린 샷 Rconsole에서 해당 파일이 폴더에 C:\Program Files\R\R-3.4.1\etc있습니다.

둘 이상의 위치가있을 수 있으며이 경우 모든 Rconsole파일을 편집 할 수 있습니다.

여기에 이미지 설명 입력

그런 Rconsole다음 좋아하는 편집기로 파일을 열고 줄 language =을 찾은 다음 EN해당 줄의 끝에 추가 할 수 있습니다.

다음 스크린 샷에서 흥미로운 줄은 숫자 70이며 EN그 끝에 추가해야 합니다.
여기에 이미지 설명 입력


답변

Mac 사용자의 경우 R for Mac FAQ 에서 찾았습니다.

비표준 설정 (예 : 형식과 다른 언어)을 사용하는 경우, 예를 들어`force.LANG ‘기본 설정을 설정하여 수행되는 자동 감지를 무시할 수 있습니다.

 defaults write org.R-project.R force.LANG en_US.UTF-8 

터미널에서 실행하면 시스템 설정에 관계없이 미국 영어 설정이 적용됩니다. 터미널이 무엇인지 모르는 경우 대신 다음 R 명령을 사용할 수 있습니다.

 system("defaults write org.R-project.R force.LANG en_US.UTF-8") 

그러나 R을 종료하고 나중에 R.app을 다시 시작하는 것을 잊지 마십시오. 항상`.UTF-8 ‘버전의 로케일을 사용해야합니다. 그렇지 않으면 R.app이 제대로 작동하지 않습니다.

이것은 콘솔 언어를 중국어에서 영어로 변경하는 데 도움이되었습니다.


답변

이것은 명령 줄에서 작동합니다.

$ export LANG=en_US.UTF-8

위의 다른 답변 중 어느 것도 나를 위해 일하지 않았습니다.


답변

Ubuntu를 사용하는 경우

LANGUAGE=en 

/etc/R/Renviron.site에서.


답변

또한, 예를 들어, 차이점을 알고 있어야 할, 수 Sys.setenv(LANG = "ru")Sys.setlocale(locale = "ru_RU.utf8").

> Sys.setlocale(locale = "ru_RU.utf8")
[1] "LC_CTYPE=ru_RU.utf8;LC_NUMERIC=C;LC_TIME=ru_RU.utf8;LC_COLLATE=ru_RU.utf8;LC_MONETARY=ru_RU.utf8;LC_MESSAGES=en_IE.utf8;LC_PAPER=en_IE.utf8;LC_NAME=en_IE.utf8;LC_ADDRESS=en_IE.utf8;LC_TELEPHONE=en_IE.utf8;LC_MEASUREMENT=en_IE.utf8;LC_IDENTIFICATION=en_IE.utf8"

이러한 요소 중 하나를 참조하는 함수의 동작을 변경하려는 경우 (예 : strptime날짜 추출)을 사용해야합니다 Sys.setlocale(). 자세한 내용은를 참조 ?Sys.setlocale하십시오. Linux 시스템에서 사용 가능한 모든 언어를 보려면 다음을 실행할 수 있습니다.

system("locale -a", intern = TRUE)


답변

나를 위해 일했습니다.

Sys.setlocale("LC_MESSAGES", "en_US.utf8")

테스트 :

> Sys.setlocale("LC_MESSAGES", "en_US.utf8")
[1] "en_US.utf8"
> x[3]
Error: object 'x' not found

또한 영어 메시지를 받기 위해 노력하고 있습니다.

Sys.setlocale("LC_MESSAGES", "C")

내가 사용한 독일어 메시지로 재설정하려면

Sys.setlocale("LC_MESSAGES", "de_DE.utf8")

내 시작은 다음과 같습니다 sessionInfo.

> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.2 LTS