Jak zmienić ustawienia języka w R


110

Moje komunikaty o błędach są wyświetlane w języku francuskim. Jak mogę zmienić ustawienie języka systemu, aby komunikaty o błędach były wyświetlane w języku angielskim?

Odpowiedzi:


115

Możesz to ustawić za pomocą Sys.setenv()funkcji. Moja sesja R jest domyślnie angielska, więc ustawię ją na francuski, a potem ponownie:

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

Listę skrótów można znaleźć tutaj .

Sys.getenv() wyświetla listę wszystkich ustawionych zmiennych środowiskowych.


17
To tymczasowo zmienia język (podczas sesji języka R). Aby zmienić to raz na zawsze, musisz dodać zmienną środowiskową do swojego systemu i ponownie uruchomić RStudio, aby uzyskać efekt.
studium

To rozwiązanie działa dobrze, ale kiedy ponownie otwieram R, wraca do mojego ustawienia regionalnego (czyli włoskiego).
SabDeM

1
@SabDeM - tak, rzeczywiście. Zwróć uwagę na powyższą uwagę agstudy i ustaw zmienną środowiskową: stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html
Chase

30

W przypadku RStudio dla Windows udało mi się zmienić język zgodnie z instrukcjami zawartymi w R dla Windows FAQ , w szczególności napisałem:

language = EN

wewnątrz pliku Rconsole(w mojej instalacji jest C:\Program Files\R\R-2.15.2\etc\Rconsole); działa to również dla polecenia Rscript.

Na przykład możesz zlokalizować Rconsoleplik za pomocą tych dwóch poleceń z wiersza polecenia:

cd \

dir Rconsole /s

Pierwsza tworzy katalog główny jako katalog bieżący, druga szuka Rconsolepliku.

Na poniższym zrzucie ekranu masz ten Rconsoleplik w folderze C:\Program Files\R\R-3.4.1\etc.

Możesz mieć więcej niż jedną lokalizację, w takim przypadku możesz edytować wszystkie Rconsolepliki.

wprowadź opis obrazu tutaj

Następnie możesz otworzyć Rconsoleplik w swoim ulubionym edytorze i poszukać wiersza, language =a następnie dołączyć go ENna końcu.

Na poniższym zrzucie ekranu interesującą linią jest liczba 70 i należy ją dopisać ENna końcu. wprowadź opis obrazu tutaj


Nie działa na mnie. Zmiana pliku i ustawienie języka na EN nie ma wpływu na język komunikatów o błędach. Widzę, że logiczne byłoby, aby to zadziałało, ale zakładam, że w międzyczasie system Windows ma kilka innych dyrektyw konfiguracyjnych języka (może język systemu, układ klawiatury systemu), które oddziałują na siebie w złożony i nieprzejrzysty sposób.
0 do

@ 0range nie spróbować cd \ i dir Rconsole /saby szukać wielu plików?
Alessandro Jacopson

21

W przypadku użytkowników komputerów Mac znalazłem to w FAQ R dla komputerów Mac

Jeśli używasz niestandardowej konfiguracji (np. Innego języka niż formaty), możesz nadpisać automatyczne wykrywanie wykonywane przez ustawienie domyślnych ustawień `force.LANG ', takich jak na przykład

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

po uruchomieniu w Terminalu wymusi ustawienie amerykańsko-angielskie niezależnie od ustawień systemowych. Jeśli nie wiesz, czym jest Terminal, możesz zamiast tego użyć tego polecenia R:

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

ale nie zapomnij zamknąć R i później ponownie uruchomić R.app. Pamiętaj, że zawsze musisz używać wersji locale `.UTF-8 ', w przeciwnym razie R.app nie będzie działał poprawnie.

Pomogło mi to zmienić język konsoli z chińskiego na angielski.


Potwierdzono, że działa w systemie macOS High Sierra 10.13.4 i R3.2.3 dzisiaj
R Yoda,

17

Działa to z wiersza poleceń:

$ export LANG=en_US.UTF-8

Żadna z powyższych odpowiedzi nie działała dla mnie


jeśli uruchomisz R bezpośrednio z wiersza poleceń, powyższą odpowiedź można zapisać w .bash_profilepliku (w systemie Mac OS). Następnie wpisz po prostu, source .bash_profileaby zmiana zaczęła obowiązywać w oknie. obs : zakładając , że pwdjest ~, tj. katalog domowy.
Mattia Paterna

13

Jeśli używasz Ubuntu, ustawisz

LANGUAGE=en 

w /etc/R/Renviron.site.


Jest to prawda, ale niezbyt pomocne, ponieważ musisz edytować ten plik z terminala. Dla noobów, takich jak ja, szukanie w Google jest następujące: wpisz sudo nano /etc/R/Renviron.sitew terminalu, a następnie hasło, gdy terminal cię o to poprosi. Następnie możesz edytować ten plik bezpośrednio w terminalu. Dodaj linię, o której wspomina linellobocki, a następnie naciśnij, ctrl + xaby wyjść. Następnie wpisz, yaby potwierdzić, że chcesz zapisać zmiany i naciśnij Enter, aby potwierdzić nazwę i katalog pliku.
Peter Pan

Jak mogę to zrobić w środowisku anakondy? Musisz wiedzieć, że podczas korzystania z superkomputera zwykle instaluje się R i zależności lokalnie, a anaconda jest do tego dobra, ale teraz muszę ustawić JĘZYK na 'en' i IDK, gdzie jest ten plik Renviron.site
Sergio

To działa dla mnie (terminal), ale plik to „~ / .Renviron.site”.
Shrek Tan

6

Możesz także chcieć zdawać sobie sprawę z różnicy między na przykład Sys.setenv(LANG = "ru")a 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"

Jeśli jesteś zainteresowany zmianą zachowania funkcji odnoszących się do jednego z tych elementów (np. strptimeWyodrębnianie dat), powinieneś skorzystać z Sys.setlocale(). Zobacz, ?Sys.setlocaleaby uzyskać więcej informacji. Aby zobaczyć wszystkie dostępne języki w systemie Linux, możesz uruchomić

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

5

U mnie pracował:

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

Testowanie:

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

Pracuję również nad pobieraniem wiadomości w języku angielskim:

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

Aby zresetować do niemieckich wiadomości użyłem

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

Oto początek mojego 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

4

wpisz najpierw: system ("defaults write org.R-project.R force.LANG en_US.UTF-8") wtedy otrzymasz numer indeksu (w moim przypadku 127)

następnie wpisz: Sys.setenv (LANG = "en"), następnie wpisz numer i ENTER 127


4

Prostym rozwiązaniem byłoby ustawienie export Lang = C w skrypcie bash. Miałem podobny problem, w którym domyślnym językiem był niemiecki, więc powrócił do angielskiego.


Z R można zrobićsystem("export Lang=C")
jogo

To jest dobre rozwiązanie. Uruchamiam R używając anacondy i Twoje rozwiązanie zadziałało dla mnie.
Sergio

3

Jeśli chcesz na zawsze zmienić język R w terminalu na angielski, działa to dobrze dla mnie w macOS:

Otwórz terminal.app i powiedz:

touch .bash_profile

Następnie powiedz:

open -a TextEdit.app .bash_profile

Te dwie komendy pomogą ci otworzyć plik ".bash_profile" w TextEdit.

Dodaj to do pliku „.bash_profile”:

export LANG=en_US.UTF-8

Następnie zapisz plik, ponownie otwórz terminal i wpisz R, a zobaczysz, że jego język zmienił się na angielski.

Jeśli chcesz, aby język wrócił do oryginalnego, po prostu dodaj #przed export LANG=en_US.UTF-8.


1

Jedyną rzeczą, która działała dla mnie, było całkowite odinstalowanie R (upewnij się, że usunąłeś go również z plików programów) i zainstalowanie go, ale odznacz Tłumaczenia komunikatów podczas procesu instalacji. Kiedy zainstalowałem R, a następnie RCmdr, w końcu pojawił się w języku angielskim.


0

W Ubuntu 14.04 LTS musiałem usunąć #z komentarza #LANGUAGE=EN.
Wszystkie inne opcje nie działają dla mnie.


0

po prostu musisz zmienić podstawowy język Microsoft na swoim komputerze!

naciśnij przycisk Windows razem z r i wpisz poniższy kod do otwartego okna

control.exe / nazwa Microsoft.Language

załaduj pakiet językowy, którego chcesz używać, i zmień opcje. ale uważaj, to zmieni także układ klawiatury!


0

w systemie Windows, jeśli nie masz uprawnień administratora , po prostu utwórz nowy skrót programu do Rgui.exe . Następnie we właściwościach tego skrótu przejdź do zakładki „Skrót” i zmodyfikuj cel tak, aby zawierał wybrany język systemowy, np."C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe" LANGUAGE=en


-1

Używam R Studio na komputerze Mac i nie mogę znaleźć pliku Rconsole. Więc wybrałem bardziej brutalną drogę i po prostu usunąłem niechciane pliki językowe z aplikacji R. Wystarczy wejść do Rapp w folderze aplikacji, kliknąć prawym przyciskiem myszy, wyświetlić zawartość pakietu, a następnie / content / Resources /. Są tam pliki językowe np. English.lproj lub w moim przypadku de.lproj, które usunąłem. Po ponownym uruchomieniu R pojawiają się komunikaty o błędach w języku angielskim. Może to jest pomocne!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.