9 votes

Est-il possible de définir la langue de sortie des commandes shell sur autre chose que l'anglais ?

Ai-je raison de supposer que les commandes shell telles que cp , man , ls etc. impriment toujours leurs messages en anglais, quels que soient les paramètres du système et de l'utilisateur, et les messages standard de l'interpréteur de commandes tels que "command not found" ne sont pas localisables ?

Dans Préférences système > Langue et texte, j'ai essayé de changer la langue, la région et la source d'entrée pour une autre langue/locale. J'ai également essayé d'exécuter sudo languagesetup . Rien ne semble affecter la langue des commandes de l'interpréteur de commandes, donc je suppose qu'il doit être codé en dur en anglais, mais je n'ai pas trouvé de référence sur Internet. Si ce n'est pas correct, comment changer la langue du shell dans OS X ?

0 votes

Je pense que le locale pourrait vous aider. Je n'ai pas réussi à la faire fonctionner, mais voici quelques instructions qui pourraient vous aider à démarrer : linuxspy.com/1850/how-to-change-the-bash-shell-language

7voto

Si vous changez LC_MESSAGES il change la langue des messages d'erreur et d'aide affichés par bash, mais seule une partie d'entre eux est traduite pour de nombreuses langues :

$ export LC_MESSAGES=de_DE.UTF-8
$ aa
bash: aa: Kommando nicht gefunden.
$ help alias
alias: alias [-p] [Name[=Wert] ... ]
    Definiert Aliase oder zeigt sie an.

    Ohne Argumente wird die Liste der Aliase (Synonyme) in der Form
    `alias Name=Wert' auf die Standardausgabe gedruckt.

    Sonst wird ein Alias für jeden angegebenen Namen definiert, für den ein
    Wert angegeben wurde.
    A trailing space in VALUE causes the next word to be checked for
    alias substitution when the alias is expanded.

    Options:
      -p    Print all defined aliases in a reusable format

    Rückgabewert:
    Meldet Erfolg, außer wenn NAME nicht existiert.

Ensemble Terminal et iTerm 2 LANG (qui change toutes les variables locales actuelles comme LC_MESSAGES ) en fonction de la région sélectionnée par défaut dans les préférences du système.

Certaines distributions GNU/Linux sont fournies avec des pages de manuel dans d'autres langues que l'anglais, mais OS X n'en a pas. Certains paquets Homebrew ajoutent des pages de manuel localisées à /usr/local/share/man/ cependant :

$ LC_MESSAGES=de_DE.UTF-8 man -w ps2pdf
/usr/local/share/man/de/man1/ps2pdf.1
$ LC_MESSAGES=de_DE.UTF-8 man ps2pdf|head
PS2PDF(1)                         Ghostscript                        PS2PDF(1)

NAME
       ps2pdf - konvertiert PostScript nach PDF mittels ghostscript
       ps2pdf12 - konvertiert PostScript nach PDF 1.2 (kompatibel zu Acrobat 3
       und spAxter) mittels ghostscript
       ps2pdf13 - konvertiert PostScript nach PDF 1.3 (kompatibel zu Acrobat 4
       und spAxter) mittels ghostscript

Vous pouvez par exemple copier /usr/share/man/de/ d'une VM Ubuntu à OS X, mais seule une petite partie des pages du manuel est traduite :

ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857

1 votes

Dans un simple bash 3.2 sur Mountain Lion, la définition de LC_MESSAGES ne changerait pas la langue des messages. Les messages en allemand doivent probablement être un ajout Homebrew.

0 votes

@ft1 Oh, vous avez raison. J'utilise bash 4.2. Peut-être que ces traductions ont été ajoutées dans bash 4.0 ou plus tard ou peut-être qu'elles n'étaient pas incluses dans la version de bash 3.2 qui est incluse avec OS X.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X