Mbg*_*Mbg 13 java locale country-codes
使用Java,有没有一种快速的方法将alpha-2国家代码(IN或GB)转换为alpha-3等价物(IND或GBR)?
我可以得到alpha-2代码:
String [] codes = java.util.Locale.getISOLanguages();
这不是问题,实际上我的应用程序读取alpha-2代码,但我需要输出alpha-3等价物.
是否有类似的方式来获得alpha-3代码?
有什么建议?
Gop*_*opi 12
这工作 -
Locale locale = new Locale("en","IN");
System.out.println("Country=" + locale.getISO3Country());
Run Code Online (Sandbox Code Playgroud)
输出:
Country=IND
Run Code Online (Sandbox Code Playgroud)
是的,简单的创建一个语言环境,并从现场得到,如果:
String alpha3Country = new Locale("en", alpha2County).getISO3Country();
Run Code Online (Sandbox Code Playgroud)
BTW:getISOLanguages()返回语言代码(小写),getISOCountries()返回国家代码(大写)
由于您读取了代码,因此无法对它们进行硬编码,您应该创建一个查找表来转换为 ISO 代码。
public static void main(String[] args) {
// setup
Locale[] availableLocales = Locale.getAvailableLocales();
HashMap<String, String> map = new HashMap<String, String>();
for ( Locale l : availableLocales ) {
map.put( l.getCountry(), l.getISO3Country() );
}
// usage
System.out.println( map.get( "IN" ) );
System.out.println( map.get( "GB" ) );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13188 次 |
| 最近记录: |