有没有办法从C中找出Linux系统的默认语言?有这个POSIX API吗?例如。我希望有一个人类可读格式的字符串,即德语系统中的“German”或“Deutsch”,法语系统上的“French”或“Francais”等。有这样的东西吗?
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
查看与环境变量LANGUAGE等相关的getenv和setenv。
这与区域设置有关。
http://billposer.org/Software/NumbersAndLocales.html
请务必注意所有变量的不同含义。通过LC_ALL等覆盖。
答案 2 :(得分:0)
要确定系统上的当前语言,您可以查看以下环境变量(按优先级降序排序):
LANGUAGE
LC_ALL
LC_MESSAGES
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
和其他人LANG
这些变量中的每一个都有一种特殊格式: ll_CC
,其中前两个字母表示语言代码,后两个字母表示国家/地区代码。还可以指定诸如字符集或变体之类的附加信息。作为例外,第一个变量可以包含语言代码列表,只有在启用了本地化机制时才有效。
至少, gettext 是类Unix操作系统中最受欢迎的翻译框架,遵循这些规则。
https://gnu.org/software/gettext/manual/html_node/gettext_2.html#Locale-Environment-Variables