我如何将命令输出语言从我的母语切换为英语,以便我可以使用英语命令输出(错误消息)发布我的 Ask Ubuntu 问题?
答案1
答案2
终端的 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_ALL
,,以避免某些程序出现故障。LANG
LANGUAGE
适应你的语言
将代码扩展到您的母语非常简单。您可以通过调用以下命令找到所需的值
env |egrep -e 'LC_ALL|LANG'
答案3
答案4
在你的~/.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,则下面的任何设置都不起作用。