Як змінити параметри мови в R


109

Мої повідомлення про помилки відображаються французькою мовою. Як я можу змінити моє налаштування системи, щоб повідомлення про помилки відображалися англійською мовою?

Відповіді:


114

Ви можете встановити це за допомогою 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() дає вам список усіх змінних середовища, які встановлені.


17
Це змінює Lang тимчасово (під час R сесії). Щоб змінити його раз у раз, вам потрібно додати змінну середовища до вашої системи та перезапустити RStudio, щоб цей ефект був прийнятий.
agstudy

Це рішення працює добре, але коли я повторно відкриваю R, він повертається до моєї мови (що є італійською).
SabDeM

1
@SabDeM - так, справді. Зверніть увагу на звернення до agstudy вище та встановіть змінну середовища: stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html
Чейз

30

У випадку з RStudio для Windows мені вдалося змінити мову, дотримуючись інструкцій, знайдених у R для Windows FAQ , зокрема я написав:

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 в кінці цього рядка.

На наступному скріншоті цікавий рядок - це число 70, і його потрібно додати ENв кінці. введіть тут опис зображення


Не працює для мене. Зміна файлу та встановлення мови на EN не впливає на мову повідомлень про помилки. Я можу бачити, що це було б логічно для цього, але я припускаю, що тим часом Windows має декілька інших директив щодо конфігурації мови (можливо, мова системи, розкладка клавіатури системи), які взаємодіють складними та непрозорими способами.
помаранчевий

@ 0range Ви спробували cd \ і dir Rconsole /sдля пошуку кількох файлів?
Алессандро Якопсон

21

Для користувачів Mac я знайшов це на FAQ щодо 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 не працюватиме належним чином.

Це допомогло мені змінити мову консолі з китайської на англійську.


Підтверджено, що сьогодні працює для macOS High Sierra 10.13.4 та R3.2.3
R Yoda

17

Це працює з командного рядка:

$ export LANG=en_US.UTF-8

Жодна з інших відповідей вище для мене не працювала


якщо один запускає R безпосередньо з командного рядка, відповідь вище можна записати всередину .bash_profileфайлу (в Mac OS). Потім просто введіть, source .bash_profileщоб зміни були ефективними у вікні. набл : припускаючи pwdце ~, тобто домашній каталог.
Маттіа Патерна

13

Якщо ви використовуєте Ubuntu, ви встановите

LANGUAGE=en 

в /etc/R/Renviron.site.


Це правда, але не дуже корисно, оскільки вам доведеться редагувати цей файл із терміналу. Для ноубів, таких як я, гуглить, ось ось що: введіть sudo nano /etc/R/Renviron.siteу термінал, а потім пароль, коли термінал запитає вас про це. Потім ви можете редагувати цей файл прямо в терміналі. Додайте згадку про рядок linellobocki, потім натисніть ctrl + xдля виходу. Потім введіть, yщоб підтвердити, що ви хочете зберегти зміни, і натисніть клавішу Enter, щоб підтвердити ім'я та каталог файлу.
Пітер Пан

Як я можу це зробити в анаконда? Ви повинні знати, що для використання суперкомп'ютера зазвичай встановити R та залежності локально, і анаконда для цього хороша, але тепер мені потрібно встановити МОВУ на "en" та IDK, де це файл Renviron.site
Sergio

Він працює для мене (термінал), але файл "~ / .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)

5

Для мене працювали:

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

4

наберіть це спочатку: system ("за замовчуванням пишіть org.R-project.R force.LANG en_US.UTF-8"), тоді ви отримаєте індексний номер (у моєму випадку - 127)

потім введіть: Sys.setenv (LANG = "en"), а потім введіть номер та Введіть 127


4

Простим рішенням буде встановлення експорту Lang = C у вашому скрипті bash. У мене була подібна проблема, де мовою за замовчуванням була німецька, тому вона повернулася до англійської.


З R можна зробитиsystem("export Lang=C")
jogo

Це хороше рішення. Я запускаю R за допомогою анаконди, і ваше рішення працювало на мене.
Серхіо

3

Якщо ви хочете назавжди змінити мову R у терміналі на англійську, для мене це добре працює в macOS:

Відкрийте terminal.app і скажіть:

touch .bash_profile

Тоді скажіть:

open -a TextEdit.app .bash_profile

Ці дві команди допоможуть вам відкрити файл ".bash_profile" у TextEdit.

Додайте це до файлу ".bash_profile":

export LANG=en_US.UTF-8

Потім збережіть файл, знову відкрийте термінал і введіть R, ви побачите, що мова змінилася на англійську.

Якщо ви хочете, щоб мова повернулася до оригіналу, просто додайте #попередній текст export LANG=en_US.UTF-8.


1

Єдине, що працювало для мене - це видалення R повністю (обов’язково видаліть його також з файлів Програми) та встановіть його, але зніміть вибір Перекладу повідомлень під час встановлення. Коли я встановив R, а згодом RCmdr, він нарешті з'явився англійською мовою.


0

В Ubuntu 14.04 LTS мені довелося видалити #коментар #LANGUAGE=EN.
Усі інші варіанти для мене не працюють.


0

вам просто доведеться змінити основну мову Microsoft на вашому комп’ютері!

натисніть кнопку Windows разом з r і введіть наступний код у відкрите вікно

control.exe / ім'я Microsoft.Language

завантажити мовний пакет, який ви хочете використовувати, і змінити параметри. але будьте обережні, це змінить також розкладку клавіатури!


0

у Windows, коли у вас немає права адміністратора , просто створіть новий ярлик програми до Rgui.exe . Потім у властивостях цього ярлика перейдіть на вкладку "Ярлик" та змініть ціль, щоб включити вибрану вами систему мови, наприклад"C:\Program Files\R\R-3.5.3\bin\x64\Rgui.exe" LANGUAGE=en


-1

Я використовую R Studio на Mac, і я не зміг знайти файл Rconsole. Тож я взяв більш жорстокий спосіб і просто видалив непотрібні мовні файли з програми R. Вам просто потрібно перейти до вашого Rapp у папці програми, клацнути правою кнопкою миші, показати вміст пакета, а потім / content / Resources /. Є мовні файли, наприклад, English.lproj або в моєму випадку de.lproj, які я видалив. Після перезапуску R повідомлення про помилки з’являються англійською мовою. Можливо, це корисно!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.