Answers:
您可以使用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,我已按照Windows R常见问题解答中的说明成功更改了语言。,尤其是我写道:
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
在该行的末尾。
cd \
,并dir Rconsole /s
以外观为多个文件?
对于Mac用户,我在R for Mac常见问题解答中找到了它。
如果您使用非标准设置(例如,与格式使用不同的语言),则可以通过设置`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
上面的其他答案对我都不起作用
.bash_profile
文件中(在Mac OS中)。然后,只需键入source .bash_profile
以使更改在窗口中生效。obs:假设pwd
为~
,即主目录。
如果您使用Ubuntu,则将进行设置
LANGUAGE=en
在/etc/R/Renviron.site中。
sudo nano /etc/R/Renviron.site
在终端中输入内容,然后在终端要求您输入密码时输入密码。然后,您可以直接在终端中编辑该文件。添加linellobocki提及的行,然后按ctrl + x
退出。然后输入y
以确认要保存更改,然后按Enter确认文件的名称和目录。
您可能还需要知道的区别,例如,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
如果您想将终端机中R的语言永久更改为英语,则在macOS中对我来说效果很好:
打开terminal.app,然后说:
touch .bash_profile
然后说:
open -a TextEdit.app .bash_profile
这两个命令将帮助您在TextEdit中打开“ .bash_profile”文件。
将此添加到“ .bash_profile”文件中:
export LANG=en_US.UTF-8
然后保存文件,重新打开终端并输入R
,您会发现它的语言已更改为英语。
如果您想让语言回到原始语言,只需添加一个#
before即可export LANG=en_US.UTF-8
。
在Windows上,当您没有管理员权限时,只需为Rgui.exe创建一个新的程序快捷方式。然后在该快捷方式的属性中,转到“快捷方式”选项卡并修改目标以包括您选择的系统语言,例如"C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe" LANGUAGE=en