Как изменить языковые настройки в R


110

Мои сообщения об ошибках отображаются на французском языке. Как я могу изменить настройку системного языка, чтобы сообщения об ошибках отображались на английском языке?

Ответы:


115

Вы можете установить это с помощью 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
Это временно изменяет язык (во время сеанса R). Чтобы изменить его раз и навсегда, вам нужно добавить переменную среды в вашу систему и перезапустить RStudio, чтобы добиться этого эффекта.
agstudy 01

Это решение работает хорошо, но когда я снова открываю R, он возвращается к моему языку (итальянскому).
SabDeM

1
@SabDeM - да, конечно. Обратите внимание на примечание agstudy выше и установите переменную окружения: stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html
Chase

30

В случае RStudio для Windows мне удалось изменить язык, следуя инструкциям в R for 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

@ 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
Р Йода

17

Это работает из командной строки:

$ export LANG=en_US.UTF-8

Ни один из других ответов выше не помог мне


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

13

Если вы используете Ubuntu, вы установите

LANGUAGE=en 

в /etc/R/Renviron.site.


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

Как я могу это сделать в среде анаконды? Вы должны знать, что при использовании суперкомпьютера обычно устанавливают 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)

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

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


От R можно сделатьsystem("export Lang=C")
Jogo

Это хорошее решение. Я запускаю R с помощью anaconda, и ваше решение сработало для меня.
Серхио

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, он наконец появился на английском языке.


1

Измените текущий региональный формат на другой региональный формат в настройках региона в настройках времени и языка в Windows, щелкнув время / дату в правом нижнем углу> настроить время / дату> Регион> изменить региональный формат на UK или US


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 в папке приложения, щелкнуть правой кнопкой мыши, показать содержимое пакета, затем / contents / Resources /. Существуют языковые файлы, например English.lproj или, в моем случае, de.lproj, которые я удалил. После перезапуска R появляются сообщения об ошибках на английском языке .. Может быть, это полезно!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.