コマンド出力言語を母国語から英語に切り替えるには、Ubuntuの質問に英語のコマンド出力(エラーメッセージ)を投稿できますか?
export LC_ALL=C
で十分です。後続のコマンド出力はすべて英語で表示されます。
ネイティブ言語に戻したい場合は、LC_ALL
変数の設定を解除します。
unset LC_ALL
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_ALL
、LANG
、LANGUAGE
をすべて変更して、一部のプログラムの誤動作を回避することをお勧めします。
ネイティブ言語にコードを拡張するのは非常に簡単です。次のコマンドを呼び出すと、必要な値を見つけることができます
env |egrep -e 'LC_ALL|LANG'
ターミナルを開く 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
と入力します。
出典:
これは locale 設定で構成され、環境変数で設定できます。変数には4つの層があります。最初に設定されたものが優先されます。
LANGUAGE
—使用しないでください。ほとんど役に立たず、バグを引き起こす可能性があります。残念ながら、Ubuntuの一部のバージョンでは設定されているため、設定を解除する必要があります。LC_ALL
—カテゴリ固有の設定をオーバーライドします。これは主に、デフォルトのロケールで実行するプログラムが使用することを意図しています。グローバル設定として使用するためのものではありません。LC_
で始まるカテゴリ固有の変数:LC_CTYPE
、LC_MESSAGES
、LC_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などはありません)。
ロケールの詳細な概要については、 ロケールをどのように設定する必要があり、どのような影響があるのか を参照してください。
あなたの~/.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が設定されている場合、以下のいずれも効果がありません。
最も簡単な方法は、Alt + F2を押してこのコマンドを実行してターミナルを開くことです:
env LANGUAGE=en gnome-terminal
できた.