agstudy
agstudy

Reputation: 121568

How to change language settings in R

My error messages are displayed in French. How can I change my system language setting so the error messages will be displayed in English?

Upvotes: 169

Views: 230271

Answers (22)

Seydou Diallo
Seydou Diallo

Reputation: 1

To change the language of R to French on Ubuntu, you can follow these steps:

  1. Open the terminal: Launch your terminal on Ubuntu.

  2. Install French locales: Make sure French locales are installed. You can check this and install them with the following command:

sudo locale-gen fr_FR fr_FR.UTF-8
sudo dpkg-reconfigure locales
  1. Configure the language for R: Open or create the .Renviron file in your home directory with the following command:

nano ~/.Renviron

Add the following line to set the default language of R to French:

LANGUAGE=fr_FR

  1. Restart R: Close and reopen your R session for the changes to take effect.

Upvotes: 0

András Aszódi
András Aszódi

Reputation: 9660

On a Mac, you would have to edit the file /Library/Frameworks/R.framework/Resources/etc/Renviron as administrator. Add the line LANGUAGE=en to the file. Tried with R version 4.3.2 under MacOS "Sonoma" 14.3.

Upvotes: 0

There are two steps to change language in RStudio: 1: Go to directory C:\Program Files\R\R-4.3.2\library\base\R Add this code at the end of the RProfile

   local({
        Sys.setenv(LANGUAGE="en")
    }) 

2: Go to directory C:\Program Files\R\R-4.3.2\etc add en to RConsole file.

Language for messages

language = en // add en

Upvotes: 0

Vadim
Vadim

Reputation: 1

I know a very simple solution to the problem of how to change the language of error messages and program descriptions in Rstudio, R, and R Commander.

The answer:

Go to C:\Program Files\R\R-4.3.1\library\translations and delete the folder with the language you are trying to avoid, for example, "ru", "fr", and so on. If you are not sure or afraid of something ... -)), you can move the folder to another location, for example, to D:. That’s it.

Of course, you should do the above things in your current version of R. The version I use now is R-4.3.1. This is the advice that Professor John Fox (the author of R Commander) gave me several years ago. Thank you, Professor!

Upvotes: 0

llobocki
llobocki

Reputation: 406

If you use Ubuntu you will set

LANGUAGE=en 

in /etc/R/Renviron.site.

Upvotes: 17

Ivan C.
Ivan C.

Reputation: 111

To permanently make it works, in both R and Rstudio (with Win 10), one way to do this is to run the script every time automatically in the background initially.

No more changing the system language that influence the windows. No more R only but fail in Rstudio. No more run a script every time manually. No more admin right but fail. No more short-cut setting but fail.

Step 1. Use your system search, to find the file named "Rprofile"

My response is

C:\Program Files\R\R-4.0.5\library\base\R

C:\Program Files\R\R-4.0.5\etc

Step 2. Edit C:\Program Files\R\R-4.0.5\library\base\R\Rprofile

The content:

  • This is the system Rprofile file. It is always run on startup.
  • Additional commands can be placed in site or user Rprofile files
  • (see ?Rprofile) ... and so on.

Step 3. Add Sys.setenv(LANGUAGE="en") at the end of the scrip

local({
    Sys.setenv(LANGUAGE="en")
})

P.S. If you encounter the issue of authorization/saving, move this file to desktop and replace the original file after editing.

Upvotes: 11

aleksandereiken
aleksandereiken

Reputation: 520

This worked for me with a windows 10 laptop in German, where I wanted i.e. lubridate to return dates in English:

Sys.setlocale("LC_TIME", "English")

Upvotes: 1

ploshchik
ploshchik

Reputation: 85

Change your current regional format to a different regional format in region settings on time&language settings in Windows by clicking on your time/date in lower right corner > adjust time/date > Region > change regional format to UK or US

Upvotes: 1

on windows, when you have no admin right, just create a new program shortcut to Rgui.exe. Then in the properties of that shortcut, go to the 'Shortcut' tab and modify the target to include the system language of your choice, e.g. "C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe" LANGUAGE=en

Upvotes: 0

jogo
jogo

Reputation: 12559

For me worked:

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

Testing:

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

Also working to get english messages:

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

To reset to german messages I used

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

Here is the start of my 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

Upvotes: 5

Alessandro Jacopson
Alessandro Jacopson

Reputation: 18593

In the case of RStudio for Windows I succeeded in changing the language following the instructions found in R for Windows FAQ, in particular I wrote:

language = EN

inside the file Rconsole (in my installation it is C:\Program Files\R\R-2.15.2\etc\Rconsole); this works also for the command Rscript.

For example you can locate the Rconsole file with this two commands from a command prompt:

cd \

dir Rconsole /s

The first one make the root as the current directory, the second one looks for the Rconsole file.

In the following screenshot you have that Rconsole file is in the folder C:\Program Files\R\R-3.4.1\etc.

You may have more than one location, in that case you may edit all the Rconsole files.

enter image description here

After that you can open the Rconsole file with your favorite editor and look for the line language = and then append EN at the end of that line.

In the following screenshot the interesting line is the number 70 and you have to append EN at the end of it. enter image description here

Upvotes: 52

RUser
RUser

Reputation: 21

The only thing that worked for me was uninstalling R entirely (make sure to remove it from the Programs files as well), and install it, but unselect Message Translations during the installation process. When I installed R, and subsequently RCmdr, it finally came up in English.

Upvotes: 2

Jiang
Jiang

Reputation: 31

If you want to change R's language in terminal to English forever, this works fine for me in macOS:

Open terminal.app, and say:

touch .bash_profile

Then say:

open -a TextEdit.app .bash_profile

These two commands will help you open ".bash_profile" file in TextEdit.

Add this to ".bash_profile" file:

export LANG=en_US.UTF-8

Then save the file, reopen terminal and type R, you will find it's language has changed to english.

If you want language come back to it's original, just simply add a # before export LANG=en_US.UTF-8.

Upvotes: 3

user8015143
user8015143

Reputation: 17

you simply have to change the basic language of microsoft on your computer!

press the windows button together with r, and tip the following code into the window that is opened

control.exe /name Microsoft.Language

load the language package you want to use and change the options. but take care, this will change also your keyboard layout!

Upvotes: 0

rakesh singh
rakesh singh

Reputation: 41

A simple solution would be setting export Lang=C in your bash script. I had a similar issue where the default language was german so it reverted back to english.

Upvotes: 4

Bilow
Bilow

Reputation: 2314

This works from command line :

$ export LANG=en_US.UTF-8

None of the other answers above worked for me

Upvotes: 27

Emma
Emma

Reputation: 51

type this first: system("defaults write org.R-project.R force.LANG en_US.UTF-8") then you will get a index number(in my case is 127)

then type: Sys.setenv(LANG = "en") then type the number and ENTER 127

Upvotes: 5

J_F
J_F

Reputation: 10352

In Ubuntu 14.04 LTS I had to remove the # from the comment #LANGUAGE=EN.
All other options din not work for me.

Upvotes: 1

giocomai
giocomai

Reputation: 3518

You may also want to be aware of the difference between, for example, Sys.setenv(LANG = "ru") and 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"

If you are interested in changing the behaviour of functions that refer to one of these elements (e.g strptime to extract dates), you should use Sys.setlocale(). See ?Sys.setlocale for more details. In order to see all available languages on a linux system, you can run

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

Upvotes: 9

Sean
Sean

Reputation: 271

For mac users, I found this on the R for Mac FAQ

If you use a non-standard setup (e.g. different language than formats), you can override the auto-detection performed by setting `force.LANG' defaults setting, such as for example

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

when run in Terminal it will enforce US-english setting regardless of the system setting. If you don't know what Terminal is you can use this R command instead:

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

but do not forget to quit R and start R.app again afterwards. Please note that you must always use `.UTF-8' version of the locale, otherwise R.app will not work properly.

This helped me to change my console language from Chinese to English.

Upvotes: 27

ben
ben

Reputation: 659

Im using R Studio on a Mac and I couldn't find the Rconsole file. So I took a more brutal way and just deleted the unwanted language files from the R app. You just have to go to your Rapp in your application Folder, right click, show package content then /contents/Resources/. There are the language files e.g. English.lproj or in my case de.lproj wich I deleted. After restarting R, error messages appear in English.. Maybe thats helpful!

Upvotes: 0

Chase
Chase

Reputation: 69151

You can set this using the Sys.setenv() function. My R session defaults to English, so I'll set it to French and then back again:

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

A list of the abbreviations can be found here.

Sys.getenv() gives you a list of all the environment variables that are set.

Upvotes: 189

Related Questions