如何在 Linux 中组合多个语言环境的设置?

如何在 Linux 中组合多个语言环境的设置?

当我安装 Linux 时,我将语言环境设置为en_US.UTF-8.但是我想覆盖该区域设置中的一些但不是全部设置。具体来说,我希望使用Measurementto beMetric代替ImperialDateto beDD/MM/YYYY代替MM/DD/YYYY。我怎样才能做到这一点?

答案1

您可以单独设置LANGLANGUAGE和任何LC_*环境变量。

例如,我的系统默认为LANG=en_AU.UTF8,但我想要 YYYY-MM-DD 日期(英文),所以我有LC_TIME=en_DK.UTF8.

您可以通过运行以下命令查看变量及其当前值的列表locale

$ locale
LANG=en_AU.UTF8
LANGUAGE=en_AU:en
LC_CTYPE=en_AU.UTF-8
LC_NUMERIC="en_AU.UTF8"
LC_TIME=en_DK.UTF8
LC_COLLATE="en_AU.UTF8"
LC_MONETARY="en_AU.UTF8"
LC_MESSAGES="en_AU.UTF8"
LC_PAPER="en_AU.UTF8"
LC_NAME="en_AU.UTF8"
LC_ADDRESS="en_AU.UTF8"
LC_TELEPHONE="en_AU.UTF8"
LC_MEASUREMENT="en_AU.UTF8"
LC_IDENTIFICATION="en_AU.UTF8"
LC_ALL=

请参阅man locale了解更多详情。

答案2

如果仅运行某些桌面环境和相关应用程序,则 DE 很有可能提供一些系统设置图形工具,使您能够调整所需的语言设置(测量和日期)(*1)。

如果有时从某些 tty 控制台(不是 X 终端)登录,您将需要在 shell 配置文件中显式导出一些变量,如我的 .bash_profile 中所示:

export LC_TIME="fr_FR.UTF-8"
export LC_MEASUREMENT="fr_FR.UTF-8"

当然,如果您从 shell 启动 DE,它自己的设置将覆盖这些 shell 首选项。

另请注意,许多应用程序包括一些 X 终端仿真器、邮件客户端、自由办公室...符合自己的设置,用户可以通过一些专用的首选项图形实用程序进行管理。这些设置将(本地)覆盖其他地方所做的设置。


1:其他区域设置首选项用户可以希望单独设置这些设置,这些设置不能通过某些 DE 系统设置进行更改,并且可以或多或少地从其他设置中正确推断出来。

这些 LC_* 变量可以导出并作为会话环境变量,只要它们导出到 DE 特定环境设置文件或目录中即可。
特别是关于 kde-Plasma :$HOME/.config/plasma-workspace/env
请参阅特定 DE 的手册,以了解应在何处设置其会话环境变量。

相关内容