Java Android语言环境混乱?

Java Android语言环境混乱?,java,android,locale,Java,Android,Locale,对于AndroidLocale.getISOLanguages()中的函数,有以下文档注释: /** * Returns an array of strings containing all the two-letter ISO 639-1 language codes that can be * used as the language code when constructing a {@code Locale}. */ public static String[] getISOLan

对于Android
Locale.getISOLanguages()
中的函数,有以下文档注释:

/**
 * Returns an array of strings containing all the two-letter ISO 639-1 language codes that can be
 * used as the language code when constructing a {@code Locale}.
 */
public static String[] getISOLanguages() {
    return ICU.getISOLanguages();
}
但当我记录阵列时,我会得到各种代码:

[aa,ab,ace,ach,ada,ady,ae,af,afa,afh,agq,ain,ak,akk,ale,alg,alt,am,an,ang,anp,apa,ar,arc,arn,arw,as,asa,ast,ath,aus,av,awa,az,ba,bai,bal,ban,bat,bax,bbj,bej,bem,bem,bez,bez,bfd,bg,bh,bh,bho,bi,bik,bik,bik,bin,bin,bin,bin,bin,bin,bkm,BAM,BAB,BAB,BAB,BAB,BAB,BAB,BAB,BAB,BAB,ban,ban,ban,ban,ban,ban,ban,ban,ban,中国政府,中国政府,chb,chg,chb,chg,chg,chg,chb,chg,chg,chg,ch克,ch克,chm,ch中国,中国,中国,ch,ch,ch,chp,CHC,中国,cad,cad,蔡,CAC,CAC,cau,cau,cau,cay,cay,cch,ce,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ceb,ce,fan、fat、ff、fi、fil、fiu、fj、fo、fon、fr、frm、fro、frr、frs、fur、fy、ga、gaa、gay、gba、gd、gem、gem、gez、gil、gl、gmh、gn、goh、gon、gor、got、got、grb、grc、gsw、gu、guz、gv、gwi、ha、hai、hai、hai、haw、he、hi、hil、hil、hit、hit、hmn、ho、hr、hsb、ht、hu、hu、hu、hu、hup、hy、hz、ia、ia、iba、iba、ibb、id、id、id、IJII、III、ira、III、iba、iba、iba、iba、iba、iba、iba、iba日本政府,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,kbd,kbl,韩国,韩国,韩国,韩国,韩国,韩国,韩国,韩国,韩国,韩国,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,日本,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,知识,路,路,路,mad、maf、mag、mai、mak、man、map、mas、mde、mdf、mdr、mer、mfe、mg、mga、mgh、mgo、mh、mi、mic、min、mis、mk、mk、mk、mkh、ml、mnc、mni、mno、mo、moh、mos、mr、ms、mt、mua、mul、mul、mun、mun、mun、mul、mwl、mwr、my、mye、myn、myv、na、nah、nah、nai、nai、nai、nai、naq、naq、naq、naq、nia、nb、nd、nd、nds、nds、nds、nds、ne、ne、NEN、NEN、NEN、NEG、NEG、nia、nog、nog、nog、nog、NSB、nog、,纽约、纽约、纽约、新西兰、新西兰、oc、oj、om、or、os、osa、ota、oto、pa、paa、pag、pal、pam、pap、pau、pau、peo、phi、phn、pi、pl、pon、pra、pro、ps、pt、qu、raj、rap、rar、rm、rn、ro、rof、rom、ru、rup、rw、rwk、sa、sad、sah、sai、sal、saq、saq、sas、sat、sat、sba、sbp、sbp、sc、scn、sco、sd、se、see、see、see、seh、shi、sga、shi、sio、sio、si、sio、sit、 sk、sl、sla、sm、sma、smi、smj、smn、sms、sn、snk、so、sog、son、sq、sr、srn、srr、ss、ssa、ssy、st、su、suk、suk、sus、sux、sv、sw、swb、swc、syr、ta、tai、te、tem、teo、ter、tet、tg、th、th、ti、tig、tiv、tk、tkl、tl、tlh、tli、tmh、tn、to、tog、tog、tpi、tr、trv、ts、tsi、tsi、tsi、tt、TTU、tup、tup、tup、tup、tup、tup、tet、tet、tet、tup、tet、tet、TEG、tg、TWU、TWG、TWG、TWG、TWG、tw,uz,vai,ve,vi,vo,vot,vun,wa,wae,wak,wak,wa,was,wen,wo,xal,xh,xog,xog,YAG,yap,yav,ybb,ybb,YOP,ypk,yue,za,zap,zbl,zen,zgh,zh,znd,zu,zun,zun,zxx,zza]

然后也
Locale.getDefault().getLanguage()
返回阿拉伯语-英语的
ar eg
,它清楚地表明语言代码是文件顶部的两个字母ISO-639-1

这是怎么回事


要获得符合ISO-639-1标准的代码,还有其他方法吗?

您可以尝试getISO3Language(),一种Locale类的方法。 整个地区的事情一团糟,首先是各种相互竞争的国际机构不知道如何以合理的方式表示i18n或i10n内容。
接下来是在java.util.Locale类中实现其含义的相当混乱的工作(如果需要示例,请查看ResourceBundle的使用情况)。
它确实与Android无关。
祝你好运