java - 如何从 Java Locale 获取风格化的语言/国家/地区代码

标签 java locale

我想知道是否有人知道如何从 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/

相关文章:

java - 如何用 Java 代码真正关闭 JDialog?

java - 如果我向服务器发送带有参数的 get 请求,我会收到 405 Method not allowed by Postman

java - 使用TextureAtlas的LibGdx动画

postgresql - 如何在 postgresql 集群升级期间修复 "Error: the locale requested by the environment is invalid"(pg_upgradecluster)

symfony - 操作 Symfony Intl 提供的国家列表和表单选择类型

java - 计算数组中所有两位整数的总和

java - try 和 catch 是否被视为 if 之后的一个语句?

javascript - 根据用户的区域设置/文化显示 HTML5 DateTime-local

根据区域设置国家信息检索时区(与操作系统无关)

javascript - 如何使用 javascript(没有 JQuery)进行日期屏蔽?