tôi có những dòng mã:Có cách nào để biết ngôn ngữ theo mặc định theo quốc gia trên miền địa phương không?
Locale[] cosas = Locale.getAvailableLocales();
for (int i = 0; i < cosas.length; i++) {
log.info(cosas[i]);
}
tôi có được danh sách này:
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
Ví dụ, đối với Tây Ban Nha là một quốc gia, danh sách chứa hai địa điểm: es_ES và ca_ES, đó không phải là tương tự cho tiếng Tây Ban Nha, tất nhiên.
Sau đó, câu hỏi của tôi là, làm thế nào tôi có thể biết ngôn ngữ nào là ngôn ngữ theo mặc định cho một quốc gia? Có thể xây dựng các địa phương chỉ bằng ngôn ngữ, nhưng tôi cần phải vượt qua bởi tham số cho phương pháp duy nhất của đất nước và bây giờ tôi có mã này để gán một ngôn ngữ theo mặc định:
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);
Nhưng tôi cần phải mở rộng chuyển đổi này cho nhiều ngôn ngữ hơn. Vì vậy, tôi muốn có một cách rõ ràng để gán ngôn ngữ theo mặc định cho một quốc gia.
Tôi đã tìm ra giải pháp trên link này, nhưng tôi đã thử nó và nó không đúng (ví dụ, đối với Tây Ban Nha, nó trở về mặc định ca-ES, và nó không phải là). Có ai nghĩ rằng nó thực sự có thể để có được quốc gia bằng mã? Bất kỳ ý tưởng? Cảm ơn bạn rất nhiều.
Ý của bạn là gì theo "ngôn ngữ mặc định"? Nếu nhiều ngôn ngữ được nói ở một quốc gia, hiếm khi có một ngôn ngữ được định nghĩa là mặc định hoặc cao cấp hơn. Nếu bạn có nghĩa là ngôn ngữ được sử dụng rộng rãi nhất, không có dữ liệu cho điều đó trong hỗ trợ bản địa hóa trong Java. – jarnbjo
Vâng, đây không phải là theo Quốc gia, nhưng bởi ** người dùng ** nhìn vào ['Locale.getDefault()'] (http://docs.oracle.com/javase/7/docs/api/java/util/ Locale.html # getDefault% 28% 29). –