设置locale java_java – 有没有办法在Locale上按国家/地区默认语言?

我有这些代码行:

Locale[] cosas = Locale.getAvailableLocales();

for (int i = 0; i < cosas.length; i++) {

log.info(cosas[i]);

}

我得到这个清单:

ms_MY

ar_QA

is_IS

fi_FI

pl

en_MT

it_CH

nl_BE

ar_SA

ar_IQ

es_PR

es_CL

fi

de_AT

da

en_GB

es_PA

sr

ar_YE

mk_MK

mk

en_CA

vi_VN

nl_NL

es_US

zh_CN

es_HN

en_US

fr

th

ar

ar_MA

lv

de

in_ID

hr

en_ZA

ko_KR

ar_TN

in

ja

sr_RS

be_BY

zh_TW

ar_SD

pt

is

ja_JP_JP_#u-ca-japanese

es_BO

ar_DZ

ms

es_AR

ar_AE

fr_CA

sl

es

lt_LT

sr_ME_#Latn

ar_SY

ru_RU

fr_BE

es_ES

bg

iw_IL

sv

en

iw

da_DK

es_CR

zh_HK

zh

ca_ES

th_TH

uk_UA

es_DO

es_VE

pl_PL

ar_LY

ar_JO

it

uk

hu_HU

ga

es_GT

es_PY

bg_BG

hr_HR

sr_BA_#Latn

ro_RO

fr_LU

no

lt

en_SG

es_EC

sr_BA

es_NI

sk

ru

mt

es_SV

nl

hi_IN

et

el_GR

sl_SI

it_IT

ja_JP

de_LU

fr_CH

mt_MT

ar_BH

sq

vi

sr_ME

pt_BR

no_NO

el

de_CH

zh_SG

ar_KW

ar_EG

ga_IE

es_PE

cs_CZ

tr_TR

cs

es_UY

en_IE

en_IN

ar_OM

sr_CS

ca

be

sr__#Latn

ko

sq_AL

pt_PT

lv_LV

sr_RS_#Latn

sk_SK

es_MX

en_AU

no_NO_NY

en_NZ

sv_SE

ro

ar_LB

de_DE

th_TH_TH_#u-nu-thai

tr

es_CO

en_PH

et_EE

el_CY

hu

fr_FR

例如,对于西班牙语作为国家/地区,该列表包含两个区域设置:es_ES和ca_ES,当然,这与西班牙语不同.

那么,我的问题是,我怎么知道一个国家默认哪种语言?可以仅通过语言构造语言环境,但我需要通过该方法的参数传递国家,现在我有这个代码默认情况下分配语言:

if (language.equals("")) {

switch (country) {

case "CN":

language = "zh";

break;

case "ES":

language = "es";

break;

case "US":

language = "en";

break;

case "JP":

language = "ja";

break;

default:

country = "";

break;

}

}

if (language.equals("") && country.equals("")) {

newLocale = new Locale("es", "ES");

} else {

newLocale = new Locale(language, country);

}

RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, newLocale);

但我需要为更多语言扩展此开关.因此,我更倾向于为一个国家/地区默认分配语言.

我在link上找到了一个解决方案,但我尝试了它并且它是不对的(例如,对于西班牙,它返回默认的ca-ES,但它不是).有人认为通过代码获取国家真的有可能吗?任何的想法?非常感谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值