【问题标题】:How to change language settings in R如何在 R 中更改语言设置
【发布时间】:2012-11-14 12:57:06
【问题描述】:

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

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以使用Sys.setenv() 函数进行设置。我的 R 会话默认为英语,所以我将其设置为法语,然后再返回:

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

    可以在here找到缩写列表。

    Sys.getenv() 为您提供所有已设置环境变量的列表。

    【讨论】:

    • 这会临时更改 Lang(在 R 会话期间)。要想一劳永逸地改变它,你需要将环境变量添加到你的系统中,然后重新启动 RStudio 才能生效。
    • 这个解决方案效果很好,但是当我重新打开 R 时,它会返回到我的语言环境(意大利语)。
    • @SabDeM - 是的,确实如此。注意上面agstudy的注释,设置环境变量:stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html
    【解决方案2】:

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

    language = EN
    

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

    例如,您可以在命令提示符下使用以下两个命令定位 Rconsole 文件:

    cd \

    dir Rconsole /s

    第一个以root为当前目录,第二个查找Rconsole文件。

    在以下屏幕截图中,您可以看到 Rconsole 文件位于文件夹 C:\Program Files\R\R-3.4.1\etc 中。

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

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

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

    【讨论】:

    • 对我不起作用。更改文件并将语言设置为 EN 对错误消息的语言没有影响。我可以看到这样做是合乎逻辑的,但我假设同时 Windows 有几个其他语言配置指令(可能是系统的语言,系统的键盘布局)以复杂和不透明的方式交互。
    • @0range 您是否尝试过cd \ dir Rconsole /s 来查找多个文件?
    【解决方案3】:

    对于 mac 用户,我在 R for Mac FAQ 上找到了这个

    如果您使用非标准设置(例如,与 格式),您可以覆盖通过设置执行的自动检测 `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 将无法正常工作。

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

    【讨论】:

    • 确认今天适用于 macOS High Sierra 10.13.4 和 R3.2.3
    【解决方案4】:

    这可以从命令行工作:

    $ export LANG=en_US.UTF-8
    

    以上其他答案都不适合我

    【讨论】:

    • 如果直接从命令行运行 R,上面的答案可以写在 .bash_profile 文件中(在 Mac OS 中)。然后,只需键入source .bash_profile 以使更改在窗口中生效。 obs:假设pwd~,即主目录。
    【解决方案5】:

    如果你使用 Ubuntu,你会设置

    LANGUAGE=en 
    

    在 /etc/R/Renviron.site.

    【讨论】:

    • 这是真的,但不是很有帮助,因为您必须从终端编辑该文件。对于像我这样的菜鸟来说,这里是如何搜索的:在终端中输入sudo nano /etc/R/Renviron.site,然后在终端要求您输入密码时输入您的密码。然后您可以直接在终端中编辑该文件。添加 linellobocki 提到的行,然后按 ctrl + x 退出。然后键入y 以确认您要保存更改并按Enter 以确认文件的名称和目录。
    • 如何在 anaconda 环境中做到这一点?您必须知道,当使用超级计算机时,通常在本地安装 R 和依赖项,anaconda 对此很有用,但现在我需要将 LANGUAGE 设置为 'en' 和 IDK,它是 Renviron.site 文件的位置
    • 它适用于我(终端),但文件是 '~/.Renviron.site`。
    【解决方案6】:

    您可能还想了解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)
    

    【讨论】:

      【解决方案7】:

      为我工作:

      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
      

      【讨论】:

      • 注意:这在 Windows 上不起作用(请参阅Sys.setlocale 的帮助:“某些系统(非 Windows)也将支持 LC_MESSAGES...”)
      【解决方案8】:

      首先输入: system("默认写入 org.R-project.R force.LANG en_US.UTF-8") 然后你会得到一个索引号(在我的例子中是 127)

      然后输入: Sys.setenv(LANG = "en") 然后输入数字并 ENTER 127

      【讨论】:

      • 这仅在一个 R 会话期间对我有用
      【解决方案9】:

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

      【讨论】:

      • 从R可以做到system("export Lang=C")
      • 这是一个很好的解决方案。我正在使用 anaconda 运行 R,您的解决方案对我有用。
      【解决方案10】:

      要使其在 R 和 Rstudio(使用 Win 10)中永久有效, 一种方法是最初在后台自动运行脚本。

      不再更改影响窗口的系统语言。 不再只有 R,但在 Rstudio 中失败了。不再需要每次手动运行脚本。没有更多的管理员权限,但失败了。没有更多的捷径设置但失败了。

      第 1 步。 使用您的系统搜索,找到名为“Rprofile”的文件

      我的回答是

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

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

      第 2 步。 编辑 C:\Program Files\R\R-4.0.5\library\base\R\Rprofile

      内容:

      • 这是系统 Rprofile 文件。它始终在启动时运行。
      • 可以在站点或用户 Rprofile 文件中放置其他命令
      • (参见 ?Rprofile) ...等等。

      步骤 3. 在脚本末尾添加 Sys.setenv(LANGUAGE="en")

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

      就是这样。感谢上帝,感谢我 LOL。

      PS。如果遇到授权/保存问题, 将此文件移动到桌面并在编辑后替换原始文件。


      PPS。 我太生气了,无法解决这个问题。现在是 2021 年,但不是 1976 年。这花了我大约 53 个小时,下载了 3 次 R 和 3 次 Rstudio。许多文章被审查。以及我遇到的无数失败。

      我想尝试一些有趣的事情。

      这是我在币安的 USDT 钱包。 TRC(20) TE8VbB2ZA6bSN1Aq3Qi6Gq7WGE89GEbYqA

      • 如果您对这个答案感觉良好,请(并且只是)给我发送 1.0 USDT 让我记录捐赠金额,以防您是加密用户作为拍手。请不要再多了。
      • 请注意,无论如何我都不会退回 USDT。哈哈
      • 如果这违反了这里的规范,请通知我或删除/编辑 PPS。直接地。谢谢。

      【讨论】:

      • 我很困惑。其他答案建议设置“LANG”,其他答案建议设置“LANGUAGE”。为什么?
      • 其实没关系。唯一的问题是这种方法(“LANG”/“LANGUAGE”)是否适合您。享受数据科学的乐趣。
      • 没有时间赌博或娱乐。只有数据科学。无论如何,谢谢你的回答。
      • 这适用于 Win10。在我的情况下,所有其他解决方案都不起作用。
      【解决方案11】:

      如果您想将终端中的 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,你会发现它的语言已经变成了英文。

      如果您希望语言恢复到原来的样子,只需在export LANG=en_US.UTF-8 之前添加一个#

      【讨论】:

        【解决方案12】:

        唯一对我有用的是完全卸载 R(确保也将其从程序文件中删除)并安装它,但在安装过程中取消选择消息翻译。当我安装 R 和随后的 RCmdr 时,它终于出现了英文版。

        【讨论】:

          【解决方案13】:

          在 Ubuntu 14.04 LTS 中,我必须从评论 #LANGUAGE=EN 中删除 #
          所有其他选项都不适用于我。

          【讨论】:

            【解决方案14】:

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

            【讨论】:

              【解决方案15】:

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

              【讨论】:

                【解决方案16】:

                您只需更改计算机上的 microsoft 的基本语言!

                同时按下windows按钮和r,将以下代码提示到打开的窗口中

                control.exe /name Microsoft.Language

                加载您要使用的语言包并更改选项。但请注意,这也会改变您的键盘布局!

                【讨论】:

                  【解决方案17】:

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

                  【讨论】:

                    【解决方案18】:

                    这适用于我的德文 Windows 10 笔记本电脑,我希望 lubridate 以英文返回日期:

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

                    【讨论】:

                      猜你喜欢
                      • 2016-07-14
                      • 2022-06-23
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-06-24
                      • 2014-01-01
                      • 2016-05-20
                      相关资源
                      最近更新 更多