Debian中locales-all的等效物是什么?

在Debian上,我可以使用locales-all来确保所有区域设置都被安装/可用。在Ubuntu中没有这样的软件包。
它曾经有belocs-locales-*,看起来是一样的;或者,可以依赖于各种本地化包(例如只有de+en+fr适用于大部分西欧国家,但有限制;有时,软件确实需要所有标准区域设置)。据我所知,这些软件包在hardy和precise之间消失了。
那么,在Ubuntu上,我可以依赖于哪个软件包来使所有区域设置都可用?
编辑:这与仅提供生成区域设置所需数据文件的locales软件包不同;仅仅在Debian中安装locales-all软件包会立即使这些区域设置可用,并且全部都可用。(在最新版本中,它还包含一个节省很多空间的包。)这样,用户就没有一个旋钮可以(意外地)禁用必要的区域设置。

我不认为在Ubuntu中有一个等效的。Ubuntu存档中没有包含locales-all的一个原因可能是它会与Ubuntu的语言包系统处理区域设置创建的方式产生冲突(但这只是一个猜测)。出于好奇:什么样的程序需要即时访问所有支持的区域设置? - Gunnar Hjalmarsson
@GunnarHjalmarsson 几种不同类型的网络应用:我知道一种使用系统区域设置进行服务器端国际化的应用,还知道一种在安装locales-all后莫名其妙的故障会消失。我当前的“询问触发器”是一个包含依赖于特定区域设置的内容的软件包,但是由于其他软件包或本地管理员可能会使用例如 debconf 设置禁用该区域设置,所以使用locales是行不通的。 - mirabilos
现在有一个关于这个问题的公开错误报告。 - mirabilos
注意到。我为_langpack-locales_添加了一个任务,我认为这是适当的Ubuntu软件包。 - Gunnar Hjalmarsson
3个回答


1可能是的。但我不能在一个软件包中完成这个任务。(请参考上文:除非用户卸载我的软件包或locales-all,否则无法再次禁用此功能。)也许还需要使用ln -sf命令…… - mirabilos

除非我理解有误,否则现在只是 locales
这是最小任务要求的一部分,也是由 ubuntu-minimal 直接提供的,因此应始终安装。您不需要依赖任何东西来保证其存在,但如果您需要某些内容,请选择 ubuntu-minimal 或其他需要依赖于 ubuntu-minimal 的内容。这是一个相当明智的默认设置。

看着Debian的locales-all的内容,我可以看到很多像这样的文件,这些文件不在标准的Ubuntu locales包中(参见dpkg -L locales):

/usr/lib/locale/am_ET/LC_ADDRESS
/usr/lib/locale/am_ET/LC_COLLATE
/usr/lib/locale/am_ET/LC_CTYPE
/usr/lib/locale/am_ET/LC_IDENTIFICATION
/usr/lib/locale/am_ET/LC_MEASUREMENT
/usr/lib/locale/am_ET/LC_MESSAGES/SYS_LC_MESSAGES
/usr/lib/locale/am_ET/LC_MONETARY
/usr/lib/locale/am_ET/LC_NAME
/usr/lib/locale/am_ET/LC_NUMERIC
/usr/lib/locale/am_ET/LC_PAPER
/usr/lib/locale/am_ET/LC_TELEPHONE
/usr/lib/locale/am_ET/LC_TIME

在packages.ubuntu.com上搜索了类似的文件,但没有找到。这意味着它们可能没有打包,名称与原文件有很大不同,或者在安装时进行提取(虽然罕见但仍有可能)。

唯一的例外是由libc-bin安装到/usr/lib/locale/C.UTF-8/中的语言环境。


哦,我可能对提取的事情有点准确。"locales"包含一个名为"locale-gen"的应用程序,可以生成这些类型的文件。请参阅维基百科上关于locales的更多信息

3只有locales软件包是不够的 - 是的,通过locale-gen我可以生成特定的区域设置,但这并不能替代locales-all,后者可以使得所有区域设置都可用,而且无需运行额外的命令(也无法手动禁用这些区域设置)。在Debian中也是如此。 - mirabilos

我知道这是一个老问题,但你尝试通过apt-get安装所有语言包了吗?我曾经遇到类似的问题,在服务器上需要很多不同的区域设置,我通过运行sudo apt-get install language-pack-*解决了它。它下载了所有文件(解压完后大约2GB),并生成了所有可用的区域设置。

谢谢,但这不是一个一致的解决方案,特别是因为我需要将其表达为软件包依赖项,而不是交互式的东西,而且语言包远不止于区域设置。 - mirabilos