有没有办法从C中找出Linux系统的默认语言?有这个POSIX API吗?例如。我想要一个可读的格式的字符串,例如德语系统中的“德语”或“Deutsch”,法语系统中的“法语”或“法语”等等。有没有类似的东西?在Linux上找出默认语言
谢谢!
有没有办法从C中找出Linux系统的默认语言?有这个POSIX API吗?例如。我想要一个可读的格式的字符串,例如德语系统中的“德语”或“Deutsch”,法语系统中的“法语”或“法语”等等。有没有类似的东西?在Linux上找出默认语言
谢谢!
看一看GETENV和SETENV相对于环境变量语言等
这与语言环境有关。
http://billposer.org/Software/NumbersAndLocales.html
一定要注意所有变量的不同含义。有通过LC_ALL等覆盖
要确定系统上的当前语言,你可以看看下面的环境变量(按优先级降序排列):
LANGUAGE
LC_ALL
LC_MESSAGES
,LC_NUMERIC
, LC_TIME
,LC_COLLATE
和其他LANG
这些变量中的每个人都有一个特殊格式:ll_CC
,其中前两个字母的意思是语言代码,第二两个1意味着国家代码。也可以指定字符集或变体等附加信息。作为例外,第一个变量可以包含语言代码列表,并且只有在启用了本地化机制的情况下才有效。
至少,gettext是Unix类操作系统中最流行的翻译框架,受这些规则的指导。
https://gnu.org/software/gettext/manual/html_node/gettext_2.html#Locale-Environment-Variables