シェルコマンドの出力言語を英語以外に設定することは可能ですか?


9

私はシェルのようなコマンドというのが私の仮定に修正していますcpmanls、などに関係なく、常にシステムとユーザー設定の英語で自分のメッセージを印刷し、「コマンドが見つかりません」というような、標準のシェルのメッセージがローカライズされませんか?

システム環境設定>言語とテキストで、言語、地域、入力ソースを別の言語/ロケールに変更してみました。私も走ってみましたsudo languagesetup。シェルコマンドの言語に影響を与えるものは何もないので、英語にハードコーディングする必要があると思いますが、インターネットで参照を見つけることができませんでした。これが正しくない場合、OS Xでシェル言語をどのように変更しますか?


localeコマンドが役立つと思います。私はそれをうまく動かす
alexwlchan

回答:


7

を変更するとLC_MESSAGES、bashによって表示されるエラーとヘルプメッセージの言語が変更されますが、一部の言語のみが多くの言語に翻訳されています。

$ 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.

端末とiTerm 2 は、システム環境設定でデフォルトで選択された地域に基づいて設定されますLANG(これにより、のようなすべての実際のロケール変数が変更LC_MESSAGESされます)。

一部のGNU / Linuxディストリビューションには、英語以外の言語のmanページが付属していますが、OS Xには付属していません。一部のHomebrewパッケージは、ローカライズされたmanページを追加し/usr/local/share/man/ます。

$ 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

たとえば/usr/share/man/de/、Ubuntu VMからOS Xにコピーすることもできますが、翻訳されるのはmanページのごく一部です。

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

1
Mountain Lionの単純なbash 3.2では、設定LC_MESSAGESによってメッセージの言語が変更されることはありません。ドイツ語のメッセージは、おそらくHomebrewの追加に違いありません。
GOTO 0

@ ft1ああ、そうだね。私はbash 4.2を使用しています。たぶん、これらの翻訳はbashの4.0で追加された以降、または多分彼らはOS Xに含まれているのbash 3.2のバージョンには含まれていなかった
LRI
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.