如何在linux中获取给定语言环境的语言名称

时间:2011-02-04 03:17:58

标签: linux locale

这几乎是This question的信息。我的目标是计算出系统中安装的语言。

以下命令

locale -a 

显示所有语言(格式如en_AU.utf8)。这似乎与/ usr / lib / locale的内容相对应。

此外,请调用

LANG=fr_FR.utf8 locale -ck LC_IDENTIFICATION

提供包含语言名称(在本例中为法语)的特定语言环境的信息。

这似乎是/usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION中包含的信息。

有没有办法(可能是API调用)来获取此信息?我查看了locale实用程序的源代码,但它使用了私有结构。

2 个答案:

答案 0 :(得分:1)

我认为,您可以使用例如getenv(3)获取环境变量,因此您可能希望将变量名称e传递给它。 G:

char *s;
s = getenv("LANG");
if (s == NULL) 
    printf("LANG is not set");
else
    printf(s);

答案 1 :(得分:0)

感谢Yasir。这正是我想要的:

m*n*1*T