为什么运行 localedef 并没有在 /etc/locale.gen 中创建我的新语言环境?

为什么运行 localedef 并没有在 /etc/locale.gen 中创建我的新语言环境?

我正在尝试创建新的系统区域设置。我已研究了以下说明:Unix Stackchange以及询问 Ubuntu但我尝试将环境变量放入其中但/etc/locale.gen没有成功。

我已经根据创建了我的环境变量源软件并将其复制到 中/usr/share/i18n/locales。(我实际上所做的就是使用 en_US 并将 LC_TIME 变量更改为使用 en_DK,因此我将 en_DK 的 LC_TIME 部分复制到 en_US 中,并尝试将其变成一个新变量,以便它在更新过程中持续存在。更改 en_US 文件中的 LC_TIME 部分不起作用,因为更新通常会将其重置回其原始状态)。

我们将我的新变量命名为 en_US@XX。复制变量后,运行会ls /usr/share/i18n/locales在列表中显示我的新变量。

现在我运行,bash 没有报告任何内容,这让我相信一切都已成功完成。但是当我运行的时候,我的变量却不存在。我也尝试过命令,但这也不起作用。sudo localedef -i en_US@XX --quiet -f UTF-8 [email protected]cat /etc/locale.gen | lesssudo localedef -i en_US@XX -c -f UTF-8 [email protected]

如果我能将变量放入其中/etc/locale.gen,那么我就可以运行sudo locale-gen,而且应该会很好。

那么,如何才能让我的变量出现在 中/etc/locale.gen?我是否误解了localedef应该做什么?我是否需要将变量放入 中/etc/locale.gen才能生成它以供系统使用?

答案1

你似乎错过了将自定义语言环境添加到

/usr/local/share/i18n/SUPPORTED

与线

en_US@XX UTF-8

然后简单sudo locale-gen就可以做你想做的事。

相关内容