我想知道是否有人知道如何从 Locale 类中获取格式化或样式化的代码。我想看到的是美国英语的“en_US”。例如,如果我从 Firefox 中检测到一种语言,它返回为“en-us,en;q=0.5”。稍后当我想输出它时(使用 getLanguage() 或 toString()),它返回为“en-us,en;q=0.5”而不是“en_US”。我尝试了各种函数,但它们似乎都首先返回用于生成语言环境的字符串。
这些值进入各种 UI 元素和配置文件,因此无论生成者或生成方式如何,让它们看起来相同会更好,而且在将它们转换为字符串时比较也不容易(必须) .
干杯,谢谢!
注意:我问这个是因为当数据为字符串/xml 格式时,我们有遗留代码会做很多(我的意思是大多数)事情,因此格式化至关重要。
最佳答案
Locale#toString()
返回你想要的。
事情是这样的:你从 Firefox 中检测到的语言使用 the format specified in RFC 2616 ,这是 HTTP 规范。这与您在 Java Locale
中看到的任何格式都不同,因为该格式非常特定于 HTTP。
关于java - 如何从 Java Locale 获取风格化的语言/国家/地区代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877021/