0xC*_*22L 5 ubuntu debian locale
在 Debian 和 Ubuntu 上是否可以限制必须配置的语言环境?
我知道/var/lib/locales/supported.d/local并/var/lib/locales/supported.d/en管理正在配置的语言环境,但没有在事后(即在apt-get dist-upgrade)之后或多或少地手动修改它,我还没有找到任何方法来en_US.*根据需要将其限制为语言环境。
因此,每当包language-pack-en和language-pack-en-base被触及时(从我看到的情况来看,它们通常会同步更新),我会得到这样的信息:
Setting up language-pack-en (1:14.04+20150219) ...
Setting up language-pack-en-base (1:14.04+20150219) ...
Generating locales...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... up-to-date
en_ZA.UTF-8... done
en_ZM.UTF-8... done
en_ZW.UTF-8... done
Generation complete.
Run Code Online (Sandbox Code Playgroud)
不幸的是,一些升级似乎覆盖了上述两个文件,因此重置了我对它们所做的修改。
而是希望看到的是:
Setting up language-pack-en (1:14.04+20150219) ...
Setting up language-pack-en-base (1:14.04+20150219) ...
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
你可以做:
dpkg-reconfigure -plow locales
Run Code Online (Sandbox Code Playgroud)
Debian 解决方案不适用于 Ubuntu,可能是因为该locales软件包来自langpack-locales源代码而不是glibc或eglibc。但是您可以选择language-pack-*安装哪个包。
对于更精细的配置,您可能需要修改目录下的/var/lib/locales/supported.d文件(例如,/var/lib/locales/supported.d/en对于en基于语言环境的);例如,您可以删除与您不想要的语言环境相对应的行。然后运行dpkg-reconfigure locales。警告:这些文件不是conffiles,因此您不应修改它们(特别是,您的更改可能会在升级后被覆盖)。否则,这似乎有效。
或者,您可以删除language-pack-*安装不需要的语言环境的包,并指定其他语言环境/var/lib/locales/supported.d/local(使用相同的格式);有关更多信息,请参阅有关(重新)生成语言环境的Ubuntu 帮助。然而,这些language-pack-*包不仅编译语言环境,还提供翻译,您可能会错过它们。