【发布时间】:2010-10-26 12:58:04
【问题描述】:
我在 Linux 上使用 gcc/g++,由于我的安装是西班牙语(我的母语),gcc 以西班牙语打印警告和错误。我宁愿用英文阅读它们,原因有两个:
- 谷歌搜索英文消息要容易得多。
- 西班牙语翻译或多或少有点可怕。
有什么帮助吗?
【问题讨论】:
标签: gcc localization g++
我在 Linux 上使用 gcc/g++,由于我的安装是西班牙语(我的母语),gcc 以西班牙语打印警告和错误。我宁愿用英文阅读它们,原因有两个:
有什么帮助吗?
【问题讨论】:
标签: gcc localization g++
GCC 手册页的末尾包含对其语言环境变量的概述:
- 朗
- LC_CTYPE
- LC_MESSAGES
- LC_ALL
这些环境变量控制 GCC 使用本地化信息的方式,允许 GCC 与不同的国家惯例一起工作。 GCC 检查区域设置类别
LC_CTYPE和LC_MESSAGES(如果已配置为这样做)。这些语言环境类别可以设置为您的安装支持的任何值。一个典型的值是 en_GB.UTF-8 表示在英国以 UTF-8 编码的英语。
LC_CTYPE环境变量指定字符分类。 GCC 使用它来确定字符串中的字符边界;这对于一些包含引号和转义字符的多字节编码是必需的,否则这些字符会被解释为字符串结尾或转义。
LC_MESSAGES环境变量指定要在诊断消息中使用的语言。如果设置了
LC_ALL环境变量,它会覆盖LC_CTYPE和LC_MESSAGES的值;否则,LC_CTYPE和LC_MESSAGES默认为 LANG 环境变量的值。如果这些变量均未设置,则 GCC 默认为传统的 C 英语行为。
我这样做:
LC_MESSAGES=C gcc-command-here
【讨论】:
要将 gcc 翻译更改为英文,必须将环境变量 LANG 设置为英文:
$ export LANG=zh
将其添加到您的 .profile 文件中,它将始终为英文
【讨论】:
LANG=en <CMD> [ARGS...]。
locale -a 中的列表之一。例如,en_US.UTF-8 通常是一个不错的选择,但即使生成也不能保证(参见树莓派)