从Java中的国家/地区代码获取默认语言

2023-12-25

我需要根据国家/地区代码查找语言。 对于国家代码“US”,应返回“en”或“CN”应返回“zh”。我经历了java.util.Locale,它适用于语言代码而不是国家代码。还,Locale.getAvailableLocales在这里没有帮助,因为它返回同一国家/地区代码的多种语言。还有什么可以用的吗。我想避免初始化文件中所有有用的区域设置然后使用它。 (因为每当我们必须使用新的语言环境时,它可能需要定期更新)

提前致谢

查看了其他 stackoverflow 问题,找不到答案,因此在这里发布了一个新问题。


你可以建立一个HashMap将国家/地区代码映射到语言集,如下所示:

Locale[] locales = Locale.getAvailableLocales();
Map<String,HashSet<String>> countryLanguageMap = new HashMap<>();

for (Locale locale : locales) {
     String country = locale.getCountry(), language = locale.getLanguage();
     if(!country.isEmpty() && !language.isEmpty()) {
          if(countryLanguageMap.containsKey(country))
               countryLanguageMap.get(country).add(language);
          else
               countryLanguageMap.put(country, new HashSet<String>(Arrays.asList(language)));
     }
}

然后,获取国家代码的语言如下:

countryLanguageMap.get("US"); // [en, es]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从Java中的国家/地区代码获取默认语言 的相关文章

随机推荐

  • 导出 cytoscape.js 中选定的节点和边

    有没有一种方法可以从图形中导出选定的节点和边并在另一个图形中显示选定的节点和边 maxkfranz说我们可以导出为json 你知道我该怎么做吗 谢谢 您是否尝试过以下内容 cy selected json 编辑 API 现在还允许使用多个元
  • Typescript“无法编译”错误作为警告

    我创建了一个应用程序npx create react app my app typescript我想配置它 以便我的应用程序仍然可以编译 尽管打字稿错误 以便我可以在准备好时返回它们 我没有看到任何compilerOptions为了这 是否
  • 日光浴室用户弃用警告

    自从我在项目中使用 Solarium 以来 我收到了此警告 你知道我该如何解决吗 User Deprecated Not passing an instance of AdapterInterface as the first constr
  • Android 使用 setNumStars 在执行过程中更改星星使收视率变得奇怪

    我正在使用 rb setNumStars int 将星星从给定的默认值 例如 5 更改为具有应用程序首选项的新值 例如 4 代码执行正常 刷新片段后 我可以看到星星数量更改为我设置的任何整数 条形图的 StepSize 为 1 问题是 当我
  • 是否可以从移动设备获取唯一的识别码?

    我目前正在开发移动设备 Web 应用程序 我想知道每个设备是否有某种可以通过浏览器检测到的唯一 ID 号 目的是存储这个号码 以便识别已经访问过该网站的人 我经常使用蓝牙 当您检测到设备时 您可以存储某种 MAC 地址 我将其用作 ID 号
  • 仅对象属性更改时如何触发重组 Jetpack-Android

    想象一下下面的物体 data class CourseState val key Int 0 val name String val courses Courses Courses 实现以下模式 private val courseStat
  • 是否可以从 Sonatype Nexus Repository Manager 3.x 中的本地文件夹部署工件

    I use Sonatype Nexus 存储库管理器 3 5 2并想添加文物 to Nexus Blob 商店从本地文件夹 联系所在的位置 我在 Nexus 文档中找不到解决方案 并尝试在网络中找到 不成功 是否可能以及如何做到这一点 也
  • 在 PowerShell 中获取伟大的祖父文件夹路径(向上三级)?

    有没有一种优雅的方法可以从文件夹路径获取 曾祖父母文件夹 三层 我只是想得到C folderA folderB从完整的路径来看 但这两种解决方案对我来说都显得丑陋 path C folderA folderB folderC FolderD
  • Android Studio Bumblebee 频繁崩溃

    我想知道是否有其他人遇到过这个问题并找到了解决方法 Android Studio Bumblebee 随机且频繁地崩溃 没有模式 当我做某事 例如 编辑代码 或有时什么都不做时 它会崩溃 当我启动 AS 或使用它一段时间后 它可能会崩溃 它
  • 检查多维输入数组中的值

    我将值存储在多维隐藏输入数组中 如下所示
  • 为什么 git rebase 的合并冲突通常比合并少?

    我经常听到有人说 与 git merge 相比 使用 git rebase 可以减少合并冲突的数量 但我从未找到解释为什么会出现这种情况 当两个人都修改同一行代码时 简单地在另一组更改之上重放一组更改并不能神奇地消除固有冲突 那么是什么让
  • Perl:全局符号需要显式包名称

    因此 我一直在尝试找到解决方案 但到目前为止 我在网上阅读的所有内容都与范围问题有关 而不是用my关键词 然而 我似乎无法解决这些问题 因为我已经在顶部声明了所有内容 并且至少对我来说 似乎我没有范围问题 我的以下代码的错误是 Global
  • Cloudera Manager 有其他选择吗? (CDH)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 正如Cloudera官方博客所说 从6 3 3开始就没有免费版本的CDH 他们会让Cloudera M
  • .net框架中内置的抽象类都有哪些? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我一直在寻找但无法找到合适的列表 有
  • 寻找一种良好的空间划分数据结构,以快速生成数百万个原子键

    我正在执行一些涉及数百万个原子的系统的 MD 模拟 我编写了一些代码来生成一个文件 该文件只是 XYZ 原子坐标的列表 现在我需要在原子之间生成键 如果两个原子彼此之间的距离在一定距离内 则被视为键 XYZ 文件示例 1 0 0 2 0 0
  • Java 中的 HTTPResponse 作为 JSON

    我试图从 HTTP 响应中获取 JSONObject try GetMethod postMethod new GetMethod postMethod setURI new URI url true postMethod setReque
  • 在菜单按钮之前和之间留出等宽的间隙

    我使用下面的代码创建了一个滚动菜单 我试图在每个菜单精灵按钮之间创建相等的行间隙 宽度间距 目前 我已经能够在左右两端留出等宽间距 但不能在精灵按钮之间留出等宽间距 请参阅下面的相关代码 class LevelScene SKScene l
  • 向函数传递/返回数组(而不是指针)引用的一般规则?

    我们可以将数组的引用传递给函数 例如 void f int a 5 int x 5 f x okay int y 6 f y error type of y is not int 5 或者更好的是 我们可以编写一个函数模板 template
  • 自定义字体在使用 WKHTMLTOPDF 库生成的 PDF 中不起作用

    我正在使用 Laravel 5 1 SnappyPDF 包装器 它使用WKHTMLTOPDF图书馆 我正在尝试为我的 PDF 文件包含一些自定义谷歌字体 但这些字体在生成的 PDF 文件中不起作用 我尝试过 将字体转换为Base64还尝试通
  • 从Java中的国家/地区代码获取默认语言

    我需要根据国家 地区代码查找语言 对于国家代码 US 应返回 en 或 CN 应返回 zh 我经历了java util Locale 它适用于语言代码而不是国家代码 还 Locale getAvailableLocales在这里没有帮助 因