将命令输出语言从本地语言切换到英语
如何将命令输出语言从我的母语切换为英语,因此我可以使用英语命令输出(错误消息)发布我的Ask Ubuntu问题?
export LC_ALL=C
就够了。 所有后续命令输出均为英文。
更多信息: “LC_ALL = C”有什么作用?
如果要还原为本机语言,请取消设置LC_ALL
变量:
unset LC_ALL
终端的bashfunction
这是我的bash函数,用于在DE和EN语言环境之间切换。
您可以使用首选语言扩展此代码。 要使用它,请将它放在~/.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
进行检查。
可以使用永久alias
发出命令。 使用首选编辑器打开.bashrc
文件,并在其中放入以下代码:
alias basheng='LANG=en_US.UTF-8 bash'
或者 :
alias basheng='LC_ALL=C bash'
重启Bash shell。 现在你有命令basheng
。 在Bash中键入它以获取英语Bash shell。 离开英语shell类型exit
。
资源:
- 更改Linux(BaSH)Shell中的语言
- 导出LC_ALL = C.
- 创建永久可执行别名
这是通过区域设置配置的,可以通过环境变量进行设置。 有四层变量; 设置的第一个优先:
-
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等)。
请参阅我应该将我的区域设置设置为什么以及这样做的含义是什么? 有关区域设置的更详细概述。
最简单的方法是按Alt + F2并运行此命令打开终端:
env LANGUAGE=en gnome-terminal
在你的~/.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,则以下都不会产生任何影响。
- 单击左侧的齿轮图标(Unity面板上的系统设置)
- 单击语言支持
- 选择区域格式
- 将“显示数字,日期和货币金额……”设置为英语。
- 注销会话并再次登录(必填!)
完成。