Come modificare le impostazioni della lingua in R


109

I miei messaggi di errore vengono visualizzati in francese. Come posso modificare l'impostazione della lingua del sistema in modo che i messaggi di errore vengano visualizzati in inglese?

Risposte:


114

È possibile impostarlo utilizzando la Sys.setenv()funzione. La mia sessione R è predefinita in inglese, quindi la imposterò in francese e poi di nuovo:

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

Un elenco delle abbreviazioni può essere trovato qui .

Sys.getenv() fornisce un elenco di tutte le variabili di ambiente impostate.


17
Questo cambia temporaneamente il Lang (durante la sessione R). Per cambiarlo una volta per tutte, è necessario aggiungere la variabile di ambiente al sistema e riavviare RStudio in modo da ottenere l'effetto.
agstudy

Questa soluzione funziona bene ma quando riapro R ritorna alla mia localizzazione (che è italiana).
SabDeM

1
@ SabDeM - sì, davvero. Prestare attenzione alla nota di agstudy sopra e impostare la variabile d'ambiente: stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html
Chase

30

Nel caso di RStudio per Windows sono riuscito a cambiare la lingua seguendo le indicazioni presenti nelle FAQ di R per Windows , in particolare ho scritto:

language = EN

all'interno del file Rconsole(nella mia installazione lo è C:\Program Files\R\R-2.15.2\etc\Rconsole); questo funziona anche per il comando Rscript.

Ad esempio, puoi individuare il Rconsolefile con questi due comandi da un prompt dei comandi:

cd \

dir Rconsole /s

Il primo fa la root come directory corrente, il secondo cerca il Rconsolefile.

Nello screenshot seguente hai quel Rconsolefile nella cartella C:\Program Files\R\R-3.4.1\etc.

Potresti avere più di una posizione, in tal caso puoi modificare tutti i Rconsolefile.

inserisci qui la descrizione dell'immagine

Dopodiché puoi aprire il Rconsolefile con il tuo editor preferito e cercare la riga language =e quindi aggiungere ENalla fine di quella riga.

Nello screenshot seguente la riga interessante è il numero 70 e devi aggiungerlo ENalla fine. inserisci qui la descrizione dell'immagine


Non funziona per me. La modifica del file e l'impostazione della lingua su EN non ha alcun effetto sulla lingua dei messaggi di errore. Posso vedere che sarebbe logico che funzionasse, ma presumo che nel frattempo Windows abbia diverse altre direttive di configurazione della lingua (forse la lingua del sistema, il layout della tastiera del sistema) che interagiscono in modi complessi e non trasparenti.
0range

@ 0range hai provato cd \ e dir Rconsole /sper cercare più file?
Alessandro Jacopson

21

Per gli utenti Mac, l'ho trovato nelle FAQ di R per Mac

Se usi una configurazione non standard (es. Lingua diversa dai formati), puoi sovrascrivere il rilevamento automatico eseguito impostando l'impostazione predefinita `force.LANG ', come ad esempio

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

quando viene eseguito in Terminal applica l'impostazione inglese USA indipendentemente dalle impostazioni di sistema. Se non sai cos'è il terminale, puoi usare invece questo comando R:

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

ma non dimenticare di chiudere R e riavviare R.app in seguito. Nota che devi sempre usare la versione ".UTF-8" del locale, altrimenti R.app non funzionerà correttamente.

Questo mi ha aiutato a cambiare la lingua della mia console dal cinese all'inglese.


Confermato come funzionante per macOS High Sierra 10.13.4 e R3.2.3 oggi
R Yoda

17

Funziona dalla riga di comando:

$ export LANG=en_US.UTF-8

Nessuna delle altre risposte sopra ha funzionato per me


se si esegue R direttamente dalla riga di comando, la risposta sopra può essere scritta all'interno del .bash_profilefile (in Mac OS). Quindi, digita semplicemente source .bash_profileper rendere effettiva la modifica nella finestra. obs : assumendo pwdis ~, cioè directory home.
Mattia Paterna

13

Se usi Ubuntu imposterai

LANGUAGE=en 

in /etc/R/Renviron.site.


Questo è vero ma non molto utile poiché devi modificare quel file dal terminale. Per i noob come me che cercano su Google questo è come: digita sudo nano /etc/R/Renviron.sitenel terminale, seguito dalla tua password quando il terminale te la chiede. Quindi puoi modificare quel file direttamente nel terminale. Aggiungi la riga menzionata da linellobocki, quindi premi ctrl + xper uscire. Quindi digita yper confermare che desideri salvare le modifiche e premi invio per confermare il nome e la directory del file.
Peter Pan

Come posso farlo in ambiente anaconda? Devi sapere che quando si utilizza un supercomputer è normale installare R e le dipendenze localmente, e anaconda va bene per questo, ma ora ho bisogno di impostare la LINGUA su 'en' e IDK dove si trova questo file Renviron.site
Sergio

Funziona per me (terminale) ma il file è '~ / .Renviron.site`.
Shrek Tan

6

Potresti anche voler essere consapevole della differenza tra, ad esempio, Sys.setenv(LANG = "ru")e 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"

Se sei interessato a cambiare il comportamento delle funzioni che fanno riferimento a uno di questi elementi (ad esempio strptimeper estrarre le date), dovresti usare Sys.setlocale(). Vedi ?Sys.setlocaleper maggiori dettagli. Per vedere tutte le lingue disponibili su un sistema Linux, puoi eseguire

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

5

Per me ha funzionato:

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

test:

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

Funziona anche per ricevere messaggi in inglese:

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

Per ripristinare i messaggi tedeschi che ho usato

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

Ecco l'inizio del mio 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

digita prima questo: system ("i valori predefiniti scrivono org.R-project.R force.LANG en_US.UTF-8") quindi otterrai un numero di indice (nel mio caso è 127)

quindi digitare: Sys.setenv (LANG = "en") quindi digitare il numero e INVIO 127


4

Una soluzione semplice sarebbe impostare export Lang = C nel tuo script bash. Ho avuto un problema simile in cui la lingua predefinita era il tedesco, quindi è tornato all'inglese.


Da R si può faresystem("export Lang=C")
jogo

Questa è una buona soluzione. Sto eseguendo R usando anaconda e la tua soluzione ha funzionato per me.
Sergio

3

Se vuoi cambiare per sempre la lingua di R nel terminale in inglese, questo funziona bene per me in macOS:

Apri terminal.app e pronuncia:

touch .bash_profile

Poi dici:

open -a TextEdit.app .bash_profile

Questi due comandi ti aiuteranno ad aprire il file ".bash_profile" in TextEdit.

Aggiungi questo al file ".bash_profile":

export LANG=en_US.UTF-8

Quindi salva il file, riapri il terminale e digita R , scoprirai che la sua lingua è cambiata in inglese.

Se vuoi che la lingua torni all'originale, aggiungi semplicemente una #prima export LANG=en_US.UTF-8.


1

L'unica cosa che ha funzionato per me è stata disinstallare completamente R (assicurati di rimuoverlo anche dai file dei programmi) e installarlo, ma deseleziona Traduzioni dei messaggi durante il processo di installazione. Quando ho installato R, e successivamente RCmdr, finalmente è uscito in inglese.


0

In Ubuntu 14.04 LTS ho dovuto rimuovere il #dal commento #LANGUAGE=EN.
Tutte le altre opzioni non funzionano per me.


0

devi semplicemente cambiare la lingua di base di microsoft sul tuo computer!

premere il pulsante Windows insieme a r e inserire il codice seguente nella finestra che viene aperta

control.exe / nome Microsoft.Language

caricare il pacchetto lingua che si desidera utilizzare e modificare le opzioni. ma attenzione, questo cambierà anche il layout della tastiera!


0

su Windows, quando non si dispone dei diritti di amministratore , è sufficiente creare un nuovo collegamento al programma per Rgui.exe . Quindi nelle proprietà di quella scorciatoia, vai alla scheda 'Scorciatoia' e modifica l'obiettivo per includere la lingua di sistema di tua scelta, ad es."C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe" LANGUAGE=en


-1

Sto usando R Studio su un Mac e non sono riuscito a trovare il file Rconsole. Quindi ho preso un modo più brutale e ho appena cancellato i file di lingua indesiderati dall'app R. Devi solo andare al tuo Rapp nella cartella dell'applicazione, fare clic con il pulsante destro del mouse, mostrare il contenuto del pacchetto quindi / content / Resources /. Ci sono i file di lingua ad esempio English.lproj o nel mio caso de.lproj che ho cancellato. Dopo aver riavviato R, i messaggi di errore vengono visualizzati in inglese .. Forse è utile!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.