如何从 Java 代码中检测操作系统语言(区域设置)
2022-09-01 08:19:36
从Java代码中了解操作系统语言(区域设置)的正确方法是什么?
我试过
Locale.getDefault()
System.getProperties("user.language")
等。
但它们不正确,实际上没有显示“系统区域设置”,该区域设置可通过窗口中的命令“systeminfo”获得。
请帮忙。
从Java代码中了解操作系统语言(区域设置)的正确方法是什么?
我试过
Locale.getDefault()
System.getProperties("user.language")
等。
但它们不正确,实际上没有显示“系统区域设置”,该区域设置可通过窗口中的命令“systeminfo”获得。
请帮忙。
Windows XP 命令显示很多东西,但相关信息是这样的:systeminfo
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
要获取 Java 中的等效信息,请使用来获取 Java 正在使用的区域设置,并使用 Locale 对象上的方法,如 getCountry()
、getLanguage()
来获取详细信息。该信息可使用ISO代码和人类可读/可显示的名称获得。Locale.getDefault()
请注意,它为您提供了 Java 在启动时从环境中选取的区域设置,这可能与“系统”区域设置相同,也可能不同。要最终获得Java中的“系统”语言环境,您需要执行特定于平台的事情。IMO,确保Java从系统语言环境开始更简单...如果你真的需要这些信息。Locale.getDefault()
更新:显然,Java 7已经改变了在Windows上使用的区域设置信息的确定方式。查看 https://stackoverflow.com/a/8319889/139985getDefault()
怎么样
System.getProperty("user.country");
System.getProperty("user.language");
在我的情况下退货
user.country=DE
user.language=de
您可以轻松地从此信息生成区域设置。本地是“语言_”国家“,所以在我的情况下de_DE