看起来似乎还没有现成的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,也不想为这个简单的映射做任何过于复杂的事情。)因此,尽管有这个答案,但是如果您知道类似的东西,请
随时发布更优雅的解决方案或现有的库 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)