在*NIX系统上,您可以执行locale-a
来获取可用区域设置的列表。
什么是Windows中的等效命令(或操作)?
我在Internet上看到过列表,但大多数列表都是区域设置标签,而不是实际的区域设置名称。另外,并不是所有的系统都保证全部安装,对吧?
注意,这里我对“locale”的定义是“locale字符串”,即C的setlocale()
的第二个参数,它将导致一个非空的返回值。
编程答案也很好,我只是厌倦了用暴力猜测Windows区域设置名称。
最初,我找不到C/Win32 API来获取信息。(请参阅稍后编辑。)但是,看起来.NET类System.Globalization.CultureInfo可以提供您需要的信息。特别是,请参见cultureinfo.getCultures()。这个页面似乎有一个完整的例子,你正在寻找什么。
编辑:如果您更喜欢C/Win32 API,请参阅EnumSystemLocales()函数。
编辑2:此示例演示如何将LCID(从EnumSystemLocales()获得)转换为setlocale()可用的字符串。