怎样才能改变 Xfce 中的语言界面?

ppr*_*ppr 11 debian xfce locale

我用 Xfce 安装了 Debian sid,我想更改界面中使用的语言。我想将语言设置为英语(美国),以取代法语。更改必须同时适用于 GUI 和 CLI。

我试过的:

  1. 重新配置语言环境

    它仅适用于 root 而不适用于普通用户(我的菜单在 Xfce 上仍然是法语)

    # dpkg-reconfigure locales
    # locale
    LANG=en_US.UTF-8
    LANGUAGE=
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    
    Run Code Online (Sandbox Code Playgroud)

    作为普通用户:

    $ dpkg-reconfigure locales
    -bash: dpkg-reconfigure : commande introuvable
    
    $ locale
    LANG=fr_FR.utf8
    LANGUAGE=
    LC_CTYPE="fr_FR.utf8"
    LC_NUMERIC="fr_FR.utf8"
    LC_TIME="fr_FR.utf8"
    LC_COLLATE="fr_FR.utf8"
    LC_MONETARY="fr_FR.utf8"
    LC_MESSAGES="fr_FR.utf8"
    LC_PAPER="fr_FR.utf8"
    LC_NAME="fr_FR.utf8"
    LC_ADDRESS="fr_FR.utf8"
    LC_TELEPHONE="fr_FR.utf8"
    LC_MEASUREMENT="fr_FR.utf8"
    LC_IDENTIFICATION="fr_FR.utf8"
    LC_ALL
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建文件 .dmrc

    创建此文件不起作用(我仍然在 Xfce 中使用法语菜单)

    $ cat ~/.dmrc 
    [Desktop]
    Session=xfce4
    Language=en_US.utf8
    Layout=fr
    
    Run Code Online (Sandbox Code Playgroud)

mar*_*omo 6

OP 没有表明他们是否需要更改系统语言或用户语言。

假设您要更改的是用户语言,@markusN 的答案是:设置环境变量,仅针对登录的用户,使系统和其他用户不受影响。

export LANGUAGE=en_US.utf8
export LANG=en_US.utf8
export LC_ALL=en_US.utf8
Run Code Online (Sandbox Code Playgroud)

显然,您需要首先生成您所引用的语言环境。

就我而言(xfce4.12),这个解决方案还不够:显然该脚本~/.i18n没有作为 xfce 启动序列的一部分执行。

确保您将这些说明写在更合适的地方,这样它就会起作用。例如,假设您已经将它们写入~/.i18n,您也可以写入此~/.config/xfce4/xinitrc文件:

#!/bin/sh
if [ -f "$HOME/.i18n" ]; then
    . "$HOME/.i18n"
fi
. /etc/xdg/xfce4/xinitrc
Run Code Online (Sandbox Code Playgroud)

它在 Debian-10 上对我有用。


mar*_*usN 4

您可以通过在主目录中生成文件“.i18n”来更改语言。为此,请使用包含以下内容的文本编辑器:

export LANGUAGE=en_US.utf8
export LANG=en_US.utf8
export LC_ALL=en_US.utf8
Run Code Online (Sandbox Code Playgroud)

...或者只需在生成文件的终端中运行此命令:

echo "export LANGUAGE=en_US.utf8
export LANG=en_US.utf8
export LC_ALL=en_US.utf8" > $HOME/.i18n
Run Code Online (Sandbox Code Playgroud)

然后注销并登录。

2021 年编辑:

请参阅下面的 @mariotomo 答案中的附加“xinitrc”技巧。