So ändern Sie die Spracheinstellungen in R.


109

Meine Fehlermeldungen werden auf Französisch angezeigt. Wie kann ich meine Systemspracheneinstellung ändern, damit die Fehlermeldungen auf Englisch angezeigt werden?

Antworten:


114

Sie können dies mit der Sys.setenv()Funktion einstellen . Meine R-Sitzung ist standardmäßig Englisch, daher setze ich sie auf Französisch und dann wieder zurück:

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

Eine Liste der Abkürzungen finden Sie hier .

Sys.getenv() gibt Ihnen eine Liste aller Umgebungsvariablen, die festgelegt sind.


17
Dies ändert die Lang vorübergehend (während der R-Sitzung). Um es ein für alle Mal zu ändern, müssen Sie die Umgebungsvariable zu Ihrem System hinzufügen und RStudio neu starten, damit der Effekt erzielt wird.
Agstudy

Diese Lösung funktioniert gut, aber wenn ich R erneut öffne, kehrt sie zu meinem Gebietsschema zurück (das italienisch ist).
SabDeM

1
@ SabDeM - ja, in der Tat. Beachten Sie den Hinweis von agstudy oben und setzen Sie die Umgebungsvariable: stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html
Chase

30

Im Fall von RStudio für Windows ist es mir gelungen, die Sprache gemäß den Anweisungen in den häufig gestellten Fragen zu R für Windows zu ändern. Insbesondere habe ich Folgendes geschrieben:

language = EN

in der Datei Rconsole(in meiner Installation ist es C:\Program Files\R\R-2.15.2\etc\Rconsole); Dies funktioniert auch für den Befehl Rscript.

Beispielsweise können Sie die RconsoleDatei mit diesen beiden Befehlen an einer Eingabeaufforderung suchen:

cd \

dir Rconsole /s

Der erste macht das Stammverzeichnis zum aktuellen Verzeichnis, der zweite sucht nach der RconsoleDatei.

Im folgenden Screenshot befindet sich diese RconsoleDatei im Ordner C:\Program Files\R\R-3.4.1\etc.

Möglicherweise haben Sie mehr als einen Speicherort. In diesem Fall können Sie alle RconsoleDateien bearbeiten .

Geben Sie hier die Bildbeschreibung ein

Danach können Sie die RconsoleDatei mit Ihrem bevorzugten Editor öffnen , nach der Zeile suchen language =und ENam Ende dieser Zeile anhängen .

Im folgenden Screenshot ist die interessante Zeile die Nummer 70 und Sie müssen sie ENam Ende anhängen . Geben Sie hier die Bildbeschreibung ein


Funktioniert bei mir nicht Das Ändern der Datei und das Einstellen der Sprache auf EN hat keine Auswirkungen auf die Sprache der Fehlermeldungen. Ich kann sehen, dass es logisch wäre, dass dies funktioniert, aber ich gehe davon aus, dass Windows in der Zwischenzeit mehrere andere Sprachkonfigurationsanweisungen (möglicherweise die Systemsprache, das Tastaturlayout des Systems) hat, die auf komplexe und intransparente Weise interagieren.
0range

@ 0range hast du versucht cd \ und dir Rconsole /sum nach mehreren Dateien zu suchen?
Alessandro Jacopson

21

Für Mac-Benutzer habe ich dies in den FAQ zu R für Mac gefunden

Wenn Sie ein nicht standardmäßiges Setup verwenden (z. B. eine andere Sprache als Formate), können Sie die automatische Erkennung überschreiben, indem Sie die Standardeinstellung "force.LANG" festlegen, z

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

Wenn es im Terminal ausgeführt wird, werden die Einstellungen für US-Englisch unabhängig von der Systemeinstellung erzwungen. Wenn Sie nicht wissen, was Terminal ist, können Sie stattdessen diesen R-Befehl verwenden:

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

Vergessen Sie jedoch nicht, R zu beenden und R.app anschließend erneut zu starten. Bitte beachten Sie, dass Sie immer die .UTF-8-Version des Gebietsschemas verwenden müssen, da R.app sonst nicht ordnungsgemäß funktioniert.

Dies hat mir geholfen, meine Konsolensprache von Chinesisch auf Englisch zu ändern.


Bestätigt als heute für macOS High Sierra 10.13.4 und R3.2.3 arbeitend
R Yoda

17

Dies funktioniert über die Befehlszeile:

$ export LANG=en_US.UTF-8

Keine der anderen Antworten oben hat für mich funktioniert


Wenn man R direkt über die Befehlszeile ausführt, kann die obige Antwort in die .bash_profileDatei geschrieben werden (unter Mac OS). Geben Sie dann einfach ein source .bash_profile, damit die Änderung im Fenster wirksam wird. obs : vorausgesetzt pwdist ~, dh Home-Verzeichnis.
Mattia Paterna

13

Wenn Sie Ubuntu verwenden, werden Sie einstellen

LANGUAGE=en 

in /etc/R/Renviron.site.


Dies ist wahr, aber nicht sehr hilfreich, da Sie diese Datei vom Terminal aus bearbeiten müssen. Für Noobs wie mich, die googeln, ist dies wie sudo nano /etc/R/Renviron.sitefolgt : Geben Sie in das Terminal ein, gefolgt von Ihrem Passwort, wenn das Terminal Sie danach fragt. Dann können Sie diese Datei direkt im Terminal bearbeiten. Fügen Sie die Zeile hinzu, die Linellobocki erwähnt, und drücken Sie dann, um den Vorgang zu beenden ctrl + x. Geben Sie dann yzu bestätigen , dass Sie die Änderungen speichern wollen und drücken Sie den Namen und das Verzeichnis der Datei zu bestätigen.
Peter Pan

Wie kann ich das in einer Anaconda-Umgebung tun? Sie müssen wissen, dass es bei Verwendung eines Supercomputers üblich ist, R und Abhängigkeiten lokal zu installieren, und anaconda ist dafür gut, aber jetzt muss ich die SPRACHE auf 'en' und IDK setzen, wo es sich um diese Renviron.site-Datei handelt
Sergio

Es funktioniert für mich (Terminal), aber die Datei ist '~ / .Renviron.site`.
Shrek Tan

6

Möglicherweise möchten Sie auch den Unterschied zwischen beispielsweise Sys.setenv(LANG = "ru")und kennen 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"

Wenn Sie daran interessiert sind, das Verhalten von Funktionen zu ändern, die sich auf eines dieser Elemente beziehen (z. B. strptimeum Daten zu extrahieren), sollten Sie verwenden Sys.setlocale(). Siehe ?Sys.setlocalefür weitere Details. Um alle verfügbaren Sprachen auf einem Linux-System anzuzeigen, können Sie ausführen

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

5

Für mich hat gearbeitet:

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

Testen:

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

Ich arbeite auch daran, englische Nachrichten zu erhalten:

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

Zum Zurücksetzen auf deutsche Nachrichten habe ich verwendet

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

Hier ist der Beginn meiner 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

Geben Sie dies zuerst ein: system ("Standardmäßig wird org.R-project.R force.LANG en_US.UTF-8 geschrieben") dann erhalten Sie eine Indexnummer (in meinem Fall 127).

Geben Sie dann Folgendes ein : Sys.setenv (LANG = "en"), geben Sie die Nummer ein und geben Sie 127 ein


4

Eine einfache Lösung wäre, in Ihrem Bash-Skript den Export Lang = C festzulegen. Ich hatte ein ähnliches Problem, bei dem die Standardsprache Deutsch war, sodass wieder Englisch verwendet wurde.


Von R kann man machensystem("export Lang=C")
Jogo

Dies ist eine gute Lösung. Ich verwende R mit Anaconda und Ihre Lösung hat für mich funktioniert.
Sergio

3

Wenn Sie Rs Sprache im Terminal für immer in Englisch ändern möchten, funktioniert dies für mich in macOS einwandfrei:

Öffnen Sie terminal.app und sagen Sie:

touch .bash_profile

Dann sage:

open -a TextEdit.app .bash_profile

Mit diesen beiden Befehlen können Sie die Datei ".bash_profile" in TextEdit öffnen.

Fügen Sie dies der Datei ".bash_profile" hinzu:

export LANG=en_US.UTF-8

Speichern Sie dann die Datei, öffnen Sie das Terminal erneut und geben RSie ein. Sie werden feststellen, dass die Sprache in Englisch geändert wurde.

Wenn Sie möchten, dass die Sprache wieder zum Original zurückkehrt, fügen Sie einfach ein #Vorher hinzu export LANG=en_US.UTF-8.


1

Das einzige, was für mich funktioniert hat, war, R vollständig zu deinstallieren (stellen Sie sicher, dass Sie es auch aus den Programmdateien entfernen) und zu installieren, aber während des Installationsvorgangs die Option " Nachrichtenübersetzungen" deaktivieren. Als ich R und anschließend RCmdr installierte, wurde es schließlich auf Englisch angezeigt.


0

In Ubuntu 14.04 LTS musste ich das #aus dem Kommentar entfernen #LANGUAGE=EN.
Alle anderen Optionen funktionieren bei mir nicht.


0

Sie müssen lediglich die Basissprache von Microsoft auf Ihrem Computer ändern!

Drücken Sie die Windows-Taste zusammen mit r und geben Sie den folgenden Code in das geöffnete Fenster ein

control.exe / name Microsoft.Language

Laden Sie das gewünschte Sprachpaket und ändern Sie die Optionen. Aber Vorsicht, dies ändert auch Ihr Tastaturlayout!


0

Wenn Sie unter Windows kein Administratorrecht haben , erstellen Sie einfach eine neue Programmverknüpfung zu Rgui.exe . Wechseln Sie dann in den Eigenschaften dieser Verknüpfung zur Registerkarte "Verknüpfung" und ändern Sie das Ziel so, dass es die Systemsprache Ihrer Wahl enthält, z"C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe" LANGUAGE=en


-1

Ich benutze R Studio auf einem Mac und konnte die Rconsole-Datei nicht finden. Also ging ich einen brutaleren Weg und löschte einfach die unerwünschten Sprachdateien aus der R-App. Sie müssen nur zu Ihrem Rapp in Ihrem Anwendungsordner gehen, mit der rechten Maustaste klicken, den Paketinhalt anzeigen und dann / content / Resources /. Es gibt die Sprachdateien zB English.lproj oder in meinem Fall de.lproj, die ich gelöscht habe. Nach dem Neustart von R werden Fehlermeldungen in Englisch angezeigt. Vielleicht ist das hilfreich!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.