如何安装新语言并从命令行启用它?

如何安装新语言并从命令行启用它?

这似乎没有记录。问题是我有一个无头服务器,它最低限度地安装了一种语言,但必须重新配置为第二种语言;我需要编写此过程的脚本。这需要几个步骤,但我没有足够的信息来执行此操作。在下面的步骤中,我从英国英语开始,并希望最终使用(例如)加拿大法语:

1:查找所有潜在语言

这些语言似乎列在 中/usr/share/language-selector/data/languagelist。我找不到任何关于这个文件是什么或它的格式的文档,但有一个有用的Debian 脚本这给出了一些线索。如果我 grep '法语',我会得到:

French;1;fr;fr_FR.UTF-8;fr;FR;fr_FR:fr:en_GB:en;kbd=lat9u-16(utf8)

文本描述是第 1 列(French,用户在 Web 前端获得此选项)。语言似乎是第 5 列(fr;Deb 脚本表示第 3 列是DEFAULT_COUNTRY,第 5 列是LANGUAGELIST)。

第一个问题:这不是 UTF-8 文件。Ubuntu 安装程序列出了诸如 Ελληνικά 之类的语言,所以它做了一些我不知道的事情。

2:安装缺少的语言包

获取语​​言所缺少的软件包列表fr,并安装它们:

$ sudo apt -y install $(check-language-support -l fr)

3:重新生成区域设置

取消注释中所需的区域设置/etc/locale.gen,然后使用 生成新的区域设置locale-gen

第二个问题:fr不是区域设置;它是一种语言。法语条目如下/etc/locale.gen

# fr_BE ISO-8859-1
# fr_BE.UTF-8 UTF-8
# fr_BE@euro ISO-8859-15
# fr_CA ISO-8859-1
# fr_CA.UTF-8 UTF-8
# fr_CH ISO-8859-1
# fr_CH.UTF-8 UTF-8
# fr_FR ISO-8859-1
# fr_FR.UTF-8 UTF-8
# fr_FR@euro ISO-8859-15
# fr_LU ISO-8859-1
# fr_LU.UTF-8 UTF-8
# fr_LU@euro ISO-8859-15

...但其中只有一个 ( fr_FR.UTF-8) 出现在 中languagelist,那么我怎么知道我必须取消注释其中一个fr_CA条目才能获得“加拿大法语”?或者我应该只取消注释第 4 列给出的条目languagelist并接受我不能有法语变体?

4:更新语言环境

这至少很容易 - 只需运行

 $ sudo update-locale LANG=fr_CA.UTF-8

在这一步之前,/etc/default/locale包含LANG=en_GB.UTF-8;在这一步之后,它包含LANG=fr_CA.UTF-8

相关内容