如何在Java中将Microsoft Locale ID(LCID)转换为语言代码或Locale对象

如何在Java中将Microsoft Locale ID(LCID)转换为语言代码或Locale对象,第1张

如何在Java中将Microsoft Locale ID(LCID)转换为语言代码或Locale对象

看起来似乎还没有现成的Java解决方案可以进行这种映射,因此至少在目前为止,我们花了大约20分钟的时间来展示我们自己的东西。

我们从马口中获取了信息,即http://msdn.microsoft.com/en-
us/goglobal/bb964664.aspx
,并将其复制粘贴(通过Excel)到.properties文件中,如下所示:

1078 = Afrikaans - South Africa1052 = Albanian - Albania1118 = Amharic - Ethiopia1025 = Arabic - Saudi Arabia5121 = Arabic - Algeria ...

(如果您有类似的需求,可以在这里下载文件。)

然后是一个非常简单的类,该类将.properties文件中的信息读取到映射中,并具有进行转换的方法。

Map<String, String> lcidToDescription;public String getDescription(String lcid) { ... }

是的,这实际上并不映射到 语言代码Locale对象 (这是我最初要求的),而是映射到Microsoft的“语言-
国家/地区”描述。事实证明,这足以满足我们当前的需求。

免责声明:这确实是用Java自己完成的一种简单的“虚拟”方式,显然,在您自己的代码库中保留(和维护)LCID映射信息的副本不是很优雅。(另一方面,我既不想包含一个巨大的库jar,也不想为这个简单的映射做任何过于复杂的事情。)因此,尽管有这个答案,但是如果您知道类似的东西,请
随时发布更优雅的解决方案或现有的库



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5587211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存