如何在R中更改语言设置

如何在R中更改语言设置,r,R,我的错误消息以法语显示。如何更改系统语言设置以使错误消息以英语显示?您可以使用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()为

我的错误消息以法语显示。如何更改系统语言设置以使错误消息以英语显示?

您可以使用
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()
为您提供了所有已设置环境变量的列表。

对于RStudio for Windows,我成功地按照中的说明更改了语言,特别是我编写了:

language = EN
在文件
Rconsole
(在我的安装中是
C:\ProgramFiles\R\R-2.15.2\etc\Rconsole
);这也适用于命令
Rscript

例如,您可以通过以下两个命令在命令提示符下找到
Rconsole
文件:

cd\

dir Rconsole/s

第一个将根目录作为当前目录,第二个查找
Rconsole
文件

在下面的屏幕截图中,您看到
Rconsole
文件位于文件夹
C:\ProgramFiles\R\R-3.4.1\etc

您可能有多个位置,在这种情况下,您可以编辑所有
Rconsole
文件

之后,您可以使用最喜爱的编辑器打开
Rconsole
文件,查找
language=
行,然后在该行末尾追加
EN

在下面的屏幕截图中,有趣的一行是数字70,您必须在其末尾追加
EN

我在Mac上使用R Studio,但找不到Rconsole文件。所以我采取了一种更残酷的方式,从R应用程序中删除了不需要的语言文件。 您只需转到应用程序文件夹中的Rapp,右键单击,然后显示包内容/contents/Resources/。有一些语言文件,例如English.lproj或我删除的de.lproj。重新启动R后,错误消息将以英语显示。。
也许这很有帮助

对于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将无法正常工作


这有助于我将控制台语言从中文改为英文。

您可能还想知道,例如,
Sys.setenv(LANG=“ru”)
Sys.setlocale(locale=“ru\ru.utf8”)
之间的区别

如果您有兴趣更改引用其中一个元素的函数的行为(例如
strtime
提取日期),则应使用
Sys.setlocale()
。 有关更多详细信息,请参见
?Sys.setlocale
。 为了查看linux系统上的所有可用语言,您可以运行

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

如果你使用Ubuntu,你将设置

LANGUAGE=en 

在/etc/R/Renviron.site中。

在Ubuntu 14.04 LTS中,我不得不从注释
\LANGUAGE=EN
中删除
所有其他选项都不适用于我。

请先键入以下内容: 系统(“默认写入org.R-project.R force.LANG en_US.UTF-8”) 然后你会得到一个索引号(在我的例子中是127)

然后键入: Sys.setenv(LANG=“en”) 然后键入数字并输入
127

这可以从命令行执行:

$ export LANG=en_US.UTF-8

上面的其他答案都不适用于我

一个简单的解决方案是在bash脚本中设置export Lang=C。
我遇到了一个类似的问题,默认语言是德语,因此它恢复为英语。

您只需在计算机上更改microsoft的基本语言即可

将windows按钮与r一起按下,并将以下代码提示到打开的窗口中

control.exe/name Microsoft.Language

加载要使用的语言包并更改选项。但是要小心,这也会改变你的键盘布局

对我来说:

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()
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.2 LTS

如果您想将R在terminal中的语言永久更改为英语,这对我在macOS中的工作很好:

打开terminal.app,然后说:

touch .bash_profile
然后说:

open -a TextEdit.app .bash_profile
这两个命令将帮助您在TextEdit中打开“.bash_profile”文件

将此文件添加到“.bash_profile”文件:

然后保存文件,重新打开终端并键入
R
,您会发现它的语言已更改为英语


如果您想让语言恢复原样,只需在导出LANG=en_US.UTF-8之前添加一个
,对我来说唯一有效的方法就是完全卸载R(确保将其从程序文件中删除),然后安装,但在安装过程中取消选择消息翻译。当我安装了RCmdr,随后又安装了RCmdr时,它终于以英语出现了

在windows上,当您没有管理员权限时,只需创建一个新的Rgui.exe程序快捷方式。然后在该快捷方式的属性中,转到“快捷方式”选项卡并修改目标以包括您选择的系统语言,例如
“C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe”LANGUAGE=en

通过单击右下角的时间/日期>调整时间/日期>区域>将区域格式更改为英国或美国,将当前区域格式更改为Windows中时间和语言设置的区域设置中的不同区域格式

,使其永久工作,
open -a TextEdit.app .bash_profile
export LANG=en_US.UTF-8
local({
    Sys.setenv(LANGUAGE="en")
})