Bash LANGUAGE变量逻辑

时间:2015-11-02 16:16:23

标签: bash internationalization

有人可以向我解释LANGUAGE环境变量的逻辑。我只是不明白为什么这里的第二个,特别是第三个例子是法语。难道他们都不应该用英语吗?

$ LANGUAGE=en_US gerp
No command 'gerp' found, did you mean: Command 'grep' from package 'grep' (main)
$ LANGUAGE=en_US:fr gerp
La commande « gerp » est introuvable, vouliez-vous dire : La commande « grep » du paquet « grep » (main)
$ LANGUAGE=en_US:fr:it gerp
La commande « gerp » est introuvable, vouliez-vous dire : La commande « grep » du paquet « grep » (main)

1 个答案:

答案 0 :(得分:2)

我做了一些测试,看起来它已经通过列表并停在已知的第一种语言。那,en_US似乎不是有效的LANGUAGE代码。顺便说一下en也不是。如果没有设置其他语言,bash似乎只使用英语。

[bf@bf-laptop ~]$ LANGUAGE=en:it gerp
bash: gerp: comando non trovato...
Un comando simile è: 'grep'

[bf@bf-laptop ~]$ LANGUAGE=foo:bar:fr gerp
bash: gerp: commande inconnue...
Commande similaire : 'grep'

gettext库中使用了LANGUAGE变量。那里的文件说明:

  

默认情况下,会显示英文消息以代替不存在的翻译。