コンソールメッセージを英語で表示する方法は?


13

私はフランス語で、Debianシステムをフランス語で使用しています。

ただし、ターミナルに英語のエラーメッセージが表示されます。英語を話すウェブサイトに投稿することができます。

ロケールを変更するにはどうすればよいですか?正確には、すべてのシステムを英語にしたくありません。


1
export LANGUAGE=English
ステファンシャゼル

@StephaneChazelasコマンドの正確な効果と影響を正確に説明してください(おそらくコメントよりも回答で)。
ppr

回答:


10

現在のシェルでLANG変数を変更する必要があります。

プット

export LANG=en_US.UTF-8

シェルrcファイルで(bashの場合~/.bashrc)、ターミナルセッションを再起動します(または、単にrcファイルをもう一度ソースするか、source ~/.bashrcbashで再起動しますexec bash

前もってこのロケールを生成する必要があることに注意してください。

を使用することもできますexport LANG=C

他のLANG変数もあります(man bashから):

   LANG   Used to determine the  locale  category  for  any  category  not
          specifically selected with a variable starting with LC_.
   LC_ALL This  variable  overrides  the  value  of LANG and any other LC_
          variable specifying a locale category.
   LC_COLLATE
          This variable determines the collation order used  when  sorting
          the  results  of pathname expansion, and determines the behavior
          of  range  expressions,  equivalence  classes,   and   collating
          sequences within pathname expansion and pattern matching.
   LC_CTYPE
          This  variable  determines  the interpretation of characters and
          the behavior of character classes within pathname expansion  and
          pattern matching.
   LC_MESSAGES
          This  variable  determines  the locale used to translate double-
          quoted strings preceded by a $.
   LC_NUMERIC
          This variable determines the locale  category  used  for  number
          formatting.

1
LANGコンソールで実行されるプログラムの(優先)言語を設定するためだけに環境変数を使用するのは間違っています。それは何だLC_MESSAGESLANGUAGEするために意図されている環境変数。「LANGUAGE」ロケール変数-主言語として英語を設定する方法を参照してください gettextのバグ?
ピョートルドブロゴスト

2
コメントを追加して、回答が受け入れられたとしても、これは正しくないことを読者に警告します。LC_ALL=C代わりにwith unset LC_ALLを使用してリセットする必要があります。unix.stackexchange.com/q/87745/168003-el-teedee 18
18:46を

9

次の構文でアプリケーションを呼び出すことができます。

たとえば、英語のマンページが必要な場合(1つのコマンドのみ):

user@host:~# LC_ALL=C man ls

または、エラーが発生します(私のシステムはドイツ語です):

user@host:~$ ls -la /root/
ls: Öffnen von Verzeichnis /root/ nicht möglich: Keine Berechtigung

user@host:~$ LC_ALL=C ls -l /root/
ls: cannot open directory /root/: Permission denied

役に立つ(ただし、私の質問はこれを永続的に行うことに関するものだったため、別の回答を受け入れた)。
ppr

2
Debian 8では「c」よりも「C」が多く、「c」は機能しません
Tristan

私はのために編集を提案LC_ALL=Cするのではなく、LC_ALL=cこれはメッセージを私のためにあまりにも失敗したbash: warning: setlocale: LC_ALL: cannot change locale (c)
エル・teedee

-3

これを参照してみてください:1) https://wiki.debian.org/ChangeLanguage

要するに、できれば.bashrcで(LANGを介して)LOCALEを設定します。

export LANG=en_US.UTF-8

わかりましたが、システム言語を変更したくありません。英語のエラーメッセージが欲しいだけです。システム言語を変更すると、多くの結果が生じます。
ppr

.bashrcにそれを置くことは、シェルと、.bashrcを読み取るコマンドにのみ影響します。「export」を省略した場合、そのシェルから起動したコマンドには伝達されません。
C.ケリー

@ckellyこれは、エラーメッセージ言語以外にも多くのものを変更します。例えば、ソート順、番号書式設定、...
derobert

@ppr ok、しかしシステム言語を変更したくありません —なぜ同じ「解決策」を与える答えを受け入れたのですか?
ピョートルドブロゴスト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.