150 votes

Comment modifier les paramètres de langue dans R

Mes messages d'erreur sont affichés en français. Comment puis-je modifier le paramètre de langue de mon système pour que les messages d'erreur s'affichent en anglais ?

8voto

giocomai Points 676

Vous pouvez également être conscient de la différence entre, par exemple, Sys.setenv(LANG = "ru") y 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"

Si vous souhaitez modifier le comportement des fonctions qui font référence à l'un de ces éléments (par ex. strptime pour extraire des dates), vous devez utiliser Sys.setlocale() . Voir ?Sys.setlocale pour plus de détails. Afin de voir toutes les langues disponibles sur un système linux, vous pouvez exécuter

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

8voto

Ivan C. Points 1

Pour que cela fonctionne de façon permanente, à la fois dans R et Rstudio (avec Win 10), une façon de le faire est d'exécuter le script à chaque fois automatiquement en arrière-plan au départ.

Plus besoin de changer la langue du système qui influence les Windows. Plus de R seul mais qui échoue dans Rstudio. Plus besoin de lancer un script à chaque fois manuellement. Plus de droit d'administration mais échec. Plus de réglage des raccourcis mais échec.

Étape 1. Utilisez votre système de recherche, pour trouver le fichier nommé "Rprofile".

Ma réponse est la suivante

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

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

Étape 2. Modifiez C:\Program Fichiers \R\R -4.0.5 \library\base\R\Rprofile

Le contenu :

  • Il s'agit du fichier Rprofile du système. Il est toujours exécuté au démarrage.
  • Des commandes supplémentaires peuvent être placées dans les fichiers Rprofile du site ou de l'utilisateur.
  • (voir ?Rprofile) ... et ainsi de suite.

Étape 3. Ajoutez Sys.setenv(LANGUAGE="en") à la fin du script

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

C'est tout. Remercie DIEU et remercie-moi LOL.

PS. Si vous rencontrez le problème d'autorisation/de sauvegarde, déplacez ce fichier sur le bureau et remplacez le fichier original après l'avoir édité.


PPS. Trop en colère pour que je puisse résoudre ce problème. Nous sommes maintenant en 2021 mais pas en 1976. Cela m'a coûté environ 53 heures avec 3 fois le téléchargement de R et 3 fois de Rstudio. De nombreux articles sont passés en revue. Et de nombreux échecs que j'ai rencontrés.

Je veux essayer quelque chose d'amusant.

C'est mon porte-monnaie USDT sur Binance. TRC(20) TE8VbB2ZA6bSN1Aq3Qi6Gq7WGE89GEbYqA

  • Si vous vous sentez bien avec cette réponse, s'il vous plaît (et juste) m'a envoyé 1.0 USDT pour me faire enregistrer le montant du don dans le cas où vous êtes un utilisateur de crypto comme le clap. Pas plus, s'il vous plaît.
  • Et sachez que je ne renverrai pas les USDT dans tous les cas. LOL
  • Si cela a offensé les normes ici, s'il vous plaît informez-moi ou supprimez/modifiez PPS. directement. Merci.

0 votes

Je suis confus. D'autres réponses proposent de définir "LANG", d'autres "LANGUAGE". Pourquoi ?

0 votes

En fait, cela n'a pas d'importance. La seule question est de savoir si cette méthode (à la fois "LANG"/"LANGUAGE") fonctionne pour vous. Amusez-vous bien dans la science des données.

5voto

Emma Points 41

Tapez ceci d'abord : system("defaults write org.R-project.R force.LANG en_US.UTF-8") alors vous obtiendrez un numéro d'index (dans mon cas c'est 127)

puis tapez : Sys.setenv(LANG = "en") puis tapez le numéro et ENTER 127

0 votes

Cela ne fonctionnait pour moi que pendant une session R

5voto

jogo Points 9208

Pour moi, ça a marché :

Sys.setlocale("LC_MESSAGES", "en_US.utf8")

Test :

> Sys.setlocale("LC_MESSAGES", "en_US.utf8")
[1] "en_US.utf8"
> x[3]
Error: object 'x' not found

Je travaille également pour obtenir des messages en anglais :

Sys.setlocale("LC_MESSAGES", "C")

Pour rétablir les messages en allemand, j'ai utilisé

Sys.setlocale("LC_MESSAGES", "de_DE.utf8")

Voici le début de mon 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

4voto

rakesh singh Points 41

Une solution simple serait de définir export Lang=C dans votre script bash. J'ai eu un problème similaire où la langue par défaut était l'allemand alors il est revenu à l'anglais.

0 votes

A partir de R on peut faire system("export Lang=C")

0 votes

C'est une bonne solution. J'exécute R en utilisant anaconda et votre solution a fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X