这拱形维基页面说:
语言环境名称通常采用以下形式
language[_territory][.codeset][@modifier]
不幸的是它没有说明什么是“修饰符”。
那个“修饰符”是什么?或者有该“修饰符”的文档吗?
答案1
修饰语没有单一的统一含义。例如,在 2000 年代初期,当欧盟部分地区从本国货币过渡到欧元时,修饰符@euro
被用来指示首选货币应该是什么。
例如,在德国,如果您将区域设置设置为de_DE.UTF-8
2000 年代初,则使用区域设置信息来确定默认货币的银行程序可能会选择 DM 作为默认货币,但如果您将区域设置更改为de_DE.UTF-8@euro
,则默认货币为 DM可能是欧元。
修饰符的另一种可能用途可能是一个正在测量系统之间转换的国家,在那里你可以有类似@si
和 的东西@us
。在德国,电话号码的首选格式最近发生了一些变化(即在 Unix 的生命周期中),这是语言环境的一部分(或更准确地说,是 GNU 特定的扩展),因此可以想象是控制是否使用旧格式或新格式的修饰符。
此外,在德国,有两种不同的广泛使用的文本排序顺序:
- DIN 5007-1 将变音符号视为其基本字母(即
ä
与 排序相同a
),将升号视为双 s(即与ß
排序相同ss
)。 - “电话簿”风格将变音符号视为其“扩展”变体(即类似于
ä
)ae
。
可以想象,这些变化可以使用修饰符来指定。
实际上,修饰符可用于指定语言、区域和代码集不够具体的任何情况,例如在一个使用相同语言的国家/地区有两种不同货币的情况。
答案2
@modifier 设置指定一个变体。编码集中的一个小补充。举个例子 :
欧洲国家长期以来一直依赖 ISO 定义。例如,一些法语(语言 fr,国家 FR)很可能通过以下方式将其代码集设置为 ISO-8859-1:
fr_FR.ISO-8859-1
然后是一种新的货币,欧元和相关的货币符号可以通过 Alt Gr E 提供,同时保留 ISO-8859-15 编码。
fr_FR.ISO-8859-1@euro
只需列出/usr/share/i18n/locales
目录,您就会发现一些可用于某些 language_territory 对的其他变体(@latin、@cyrillic...)。