web-dev-qa-db-ja.com

コマンド出力言語を母国語から英語に切り替える

コマンド出力言語を母国語から英語に切り替えるには、Ubuntuの質問に英語のコマンド出力(エラーメッセージ)を投稿できますか?

83
BuZZ-dEE

export LC_ALL=Cで十分です。後続のコマンド出力はすべて英語で表示されます。

詳細: 「LC_ALL = C」は何をしますか?

ネイティブ言語に戻したい場合は、LC_ALL変数の設定を解除します。

unset LC_ALL
73
Eric Carvalho

端末のbash関数

DEロケールとENロケールを切り替えるbash関数を次に示します。

好みの言語でこのコードを拡張できます。これを使用するには、~/.bashrc(または~/.bash_profile)に入れます-

_configure_locale ENで呼び出して、英語に切り替えます。

function _configure_locale() { # [profile]
    local profile=${1:-EN}
    case ${profile} in
      DE|DE_DE|de_DE)
          LC_ALL="de_DE.UTF-8"
          LANG="de_DE.UTF-8"
          LANGUAGE="de_DE:de:en_US:en"
          ;;
      EN|EN_US|en|en_US)
          LC_ALL="en_US.UTF-8"
          LANG="en_US.UTF-8"
          LANGUAGE="en_US:en"
          ;;
      *)
          echo "ALERT" "${FUNCNAME}: unknown profile '${profile}'"
          ;;
      esac
      LC_PAPER="de_DE.UTF-8"; # independent from locale
      LESSCHARSET="utf-8";    # independent from locale
      MM_CHARSET="utf-8"      # independent from locale
      echo "locale settings" "${LANG}";
      export LC_ALL LANG LANGUAGE LC_PAPER LESSCHARSET MM_CHARSET
}

一般に、3つの環境変数LC_ALLLANGLANGUAGEをすべて変更して、一部のプログラムの誤動作を回避することをお勧めします。

あなたの言語に適応する

ネイティブ言語にコードを拡張するのは非常に簡単です。次のコマンドを呼び出すと、必要な値を見つけることができます

env |egrep -e 'LC_ALL|LANG'
13
H.-Dirk Schmitt

ターミナルを開く Ctrl+Alt+T そしてタイプ:

LANG=en_US.UTF-8 bash

または

LC_ALL=C bash

これで、端末出力は英語になりました。 localeで確認できます。

permanent alias を使用して、それを行うコマンドを作成することができます。任意のエディターで.bashrcファイルを開き、次のコードをそこに配置します。

alias basheng='LANG=en_US.UTF-8 bash'

または

alias basheng='LC_ALL=C bash'

Bashシェルを再起動します。これでコマンドbashengができました。 Bashに入力して、英語のBashシェルを取得します。英語のシェルを終了するには、exitと入力します。

出典:

7
BuZZ-dEE

これは locale 設定で構成され、環境変数で設定できます。変数には4つの層があります。最初に設定されたものが優先されます。

  • LANGUAGE —使用しないでください。ほとんど役に立たず、バグを引き起こす可能性があります。残念ながら、Ubuntuの一部のバージョンでは設定されているため、設定を解除する必要があります。
  • LC_ALL —カテゴリ固有の設定をオーバーライドします。これは主に、デフォルトのロケールで実行するプログラムが使用することを意図しています。グローバル設定として使用するためのものではありません。
  • LC_で始まるカテゴリ固有の変数:LC_CTYPELC_MESSAGESLC_TIME、…。
  • LANG —すべてのカテゴリのデフォルトロケールを設定します。これは、グローバルユーザー設定で使用されることを意図しています。

すべてのメッセージが未翻訳、デフォルトの時間と数値の形式、文字セットとしてのASCIIなどを含む「プレーン」ロケールは、Cと呼ばれます。このロケールは、すべてのシステムに存在します。

したがって、英語のメッセージを含むプログラムを実行するには、次を実行します。

unset LANGUAGE; LC_MESSAGES=C myprogram --option

または

unset LANGUAGE
export LC_MESSAGES=C
myprogram --option
myotherprogram

すべてのローカライズをオフにしてプログラムを実行するには、次を実行します

env -u LANGUAGE LC_ALL=C myprogram --option

ただし、これにより文字エンコードがASCIIに切り替わることに注意してください(したがって、Unicode、latin-1などはありません)。

ロケールの詳細な概要については、 ロケールをどのように設定する必要があり、どのような影響があるのか​​ を参照してください。

5
Gilles

あなたの~/.bashrc

unset LC_ALL
export LC_MESSAGES=C

それから

source ~/.bashrc

確認してください

$ locale
LANG=pl_PL.utf8
LANGUAGE=
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE="pl_PL.utf8"
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES=C
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=

最初に設定解除する理由

LC_ALL個々のLC_ *設定を上書きします。LC_ALLが設定されている場合、以下のいずれも効果がありません。

https://help.ubuntu.com/community/Locale

1
rofrol

最も簡単な方法は、Alt + F2を押してこのコマンドを実行してターミナルを開くことです:

env LANGUAGE=en gnome-terminal
1
  1. 左側の歯車アイコンをクリックします(Unityパネルのシステム設定)
  2. 言語サポートをクリックします
  3. 地域形式を選択
  4. 「表示番号、日付、通貨額...」を英語に設定します。
  5. セッションをログアウトして、再度ログインします(必須!)

できた.

0
Robin Hsu