1. 로케일 소개
로케일은 지역을 의미합니다. 각 로케일 대상은 특정 지리적, 정치 및 문화 지역을 나타냅니다.
날짜, 달력 등과 같은 날짜/시간을 나타내는 개체를 작동 할 때 종종 사용됩니다. 시간 표현 방법은 다른 영역에서 다르기 때문입니다.
로케일 객체를 만드는 세 가지 일반적인 방법에 대해 이야기합시다.
(1) 기본 로케일을 받으십시오
사용 방법 :
Locale locale = locale.getDefault ()
(2) Locale의 정적 물체를 직접 사용하십시오
다음 정적 객체는 locale.java에 제공됩니다
공개 정적 최종 로케일 캐나다 공개 정적 최종 로케일 캐나다 _frenchpublic 정적 최종 로케일 정적 정적 최종 로케일 chinesepublic 정적 최종 Locale English -Public STATIC FINAL LOCAL FRANCE PROBLIC 정적 최종 LOCALIC Final Final Locale 정적 최종 최종 최종 최종 최종 최종 최종 최종 최종 최종 최종 최종 최종 최종 공개 이탈리아 공공 이탈리아 공개 이탈리아 공개 이탈리아 공개 이탈리아 공개 정적 공개적 인 Locale 이탈리아 공개 이탈리아 최종 지역 정적 공개 정적 최종 최종 지역 정적 공개 정적 공개 정적 최종 지역 정적 공개 정적 최종 Locale 이탈리아 공개 이탈리아 최종 지역의 정적 공개. 정적 최종 로케일 JapaneEsepublic 정적 최종 로케일 인 Koreapublic 정적 최종 최종 최종 LOCALE KOREANPUBLIC STATIC FINAL LOCAL PRCPUBLIC STATIC FINAL LOCAL ROOTPUBLIC 정적 최종 LOCALE_CHINESEPUBLIC 정적 최종 로케일 TaiwanPublic 정적 최종 LOCALE TROFIDION_CHINESEPUBLIC 정적 최종 LOCAL STATIC PUBLIC PUBLIC PUBLIC LOCAL US
사용 방법 : 다음 로케일 대상은 "중국 (Mainland)"에 해당합니다.
Locale locale = locale.simplified_chinese
(3) 로케일 생성자를 통해 로케일 객체를 만듭니다
로케일에는 3 개의 생성자가 있습니다. 다음과 같이 :
로케일 (문자열 언어) 로케일 (문자열 언어, 문자열 국가) 로케일 (문자열 언어, 문자열 국가, 문자열 변형)
사용 방법 :
Locale Local = New Locale ( "ZH", "CN");
로케일 클래스는 많은 국가와 지역을 지원합니다. 다음 방법을 통해 로케일에서 지원하는 모든 영역을 볼 수 있습니다.
locale [] ls = locale.getavailablelocales (); for (locale locale : ls) {System.out.println ( "locale :"+locale);} 입력 결과는 다음과 같습니다.
모든 로컬 : Ja_jp, es_pe, en, ja_jp_jp, es_pa, sr_ba, mk, es_gt, ar_ae, no_no, sq_al, bg, ar_iq, ar_ye, hu, pt_pt, el_cy, ar_qa, mk_mk, sv, eN_U, fi_fi, an_us, en_us. en_mt, sl_si, sk_sk, it, tr_tr, zh, th, ar_sa, no, en_gb, sr_cs, lt, ro, en_nz, no_no_ny, lt_lt, es_ni, nl, ga_ie, fr_be, es_es, ar_lb, ko, fr_ca, ar_ee, at_ee. es_mx, ar_sd, in_id, ru, lv, es_uy, lv_lv, iw, pt_br, ar_sy, hr, et, es_do, fr_ch, hi_in, es_ve, ar_bh, en_ph, ar_tn, fi, de_at, es, nl_nl, es_ec, zh_tw, ar_jo, be, as_o, as_co es_cr, es_cl, ar_eg, en_za, th_th, el_gr, it_it, ca, hu_hu, fr, en_ie, uk_ua, pl_pl, fr_lu, nl_be, en_in, ca_es, ar_ma, es_bo, en_au, sr, zh_sg, pt, uk, ru_sv, ru_ru, ko_kr, ko_kr. ar_dz, vi_vn, sr_me, sq, ar_ly, ar, zh_cn, be_by, zh_hk, ja, iw_il, bg_bg, in, mt_mt, es_py, sl, fr_fr, cs_cz, it_ch, ro_ro, es_pr, en_ca, de_de, de_de, de_lu, de., sk. ms_my, hr_hr, en_sg, da, mt, pl, ar_om, tr, th_th_th, el, ms, sv_se, da_dk, es_hn
로케일 객체를 만드는 방법을 설명하려면 두 가지를 선택하십시오.
예를 들어 첫 번째 출력은 "ja_jp"입니다.
그 중에서 JA는 "언어"를 나타내며, 이는 일본어를 나타냅니다. "JP"는 일본을 의미하는 국가를 대표합니다.
우리는 "언어는 일본인이고 국가는 일본의 로케일 대상"을 만들 수 있습니다.
로케일 로케일 = 새로운 로케일 ( "JA", "JP");
예를 들어, 세 번째 출력은 "en"입니다.
그중에서도 EN은 "언어"를 나타냅니다. 여기서는 영어를 나타냅니다.
다음 방법을 통해 "언어가 영어 인 Locale Object"를 만들 수 있습니다.
로케일 로케일 = 새로운 로케일 ( "en");
로케일 기능 목록
// Locale 생성자 로케일 (문자열 언어) 로케일 (문자열 언어, 문자열 국가) 로케일 (문자열 언어, 문자열 국가, 문자열 변형)
Object Clone () Boolean Equals (개체 객체) 정적 로케일 [] getavailablelocales () String getCountry () 정적 로케일 getDefault () String getDisplayCountry (Locale Locale) 최종 문자열 getDisplayCountry () 최종 문자열 GetDisplayCountry () 최종 문자열 GetDisplayLanguage () String GetDisplayLanguge () String GetDisplayLanguge getDisplayName (Locale Locale) 최종 문자열 getDisplayName () 최종 문자열 getDisplayVariant () String getDisplayVariant (locale locale) String getiso3country () String getiso3language () 정적 문자열 [] getisocountries [] getisoLanguages () string getLanguage () string getLanguages () string getLugengate () string getLugenge () hashcode () 동기화 된 정적 무효 SetDefault (Locale Locale) Final String toString ()
2. 로케일 예
다음은 날짜에 로케일을 사용하는 것을 보여주는 예입니다.
참조 코드는 다음과 같습니다 (localEtest.java) :
import java.util.locale; import java.util.date; import java.util.calendar; import java.text.simpledateformat; import java.text.dateformat;/*** Locale Test Program*/public class localeTest {public static void main (string [] args) {// 2 testfdates (testDiffdates); // 모든 로케일 표시 testAllLocales (); } / *** 2 다른 로케일 생성 방법* / 개인 정적 무효 TestDiffDateloCales () {// 날짜는 2013-09-19입니다 14:22:30 날짜 = 새 날짜 (113, 8, 19, 14, 22, 30); // 로케일 로케일 생성 localecn = locale.simplified_chinese; // Locale localeus 만들기 = 새로운 로케일 ( "en", "us"); // "Simplified Chinese"String cn = dateformat.getDateInstance (dateformat.Medium, localEcn)에 해당하는 날짜 문자열을 가져옵니다. // "English/US"문자열에 해당하는 날짜 문자열을 가져옵니다. us = dateformat.getDateInstance (dateFormat.Medium, localeus) .format (date); System.out.printf ( "CN =%S/NUS =%S/N", CN, US); } / ** * 모든 로케일 표시 * / 개인 정적 void testalllocales () {locale [] ls = locale.getavailablelocales (); System.out.print ( "모든 지역 :"); for (locale locale : ls) {system.out.printf (Locale+","); } system.out.println (); }}3. ResourceBundle을 사용하여 국제 리소스 파일을 읽으십시오
ResourceBundle Resource 패키지에는 특정 로케일의 객체가 포함되어 있습니다. 이를 사용하여로드 및 로케일 리소스를 읽으십시오.
1. 쉽게 국소화하거나 다른 언어로 번역하십시오
2. 한 번에 여러 로케일 환경을 처리하십시오
3. 미래에 쉽게 수정하고 더 많은 로케일 환경을 한 번 지원할 수 있습니다.
프로그램에 로케일 특정 객체가 필요한 경우 getBundle () 메소드를 사용하여 ResourceBundle 클래스를로드합니다.
ResourceBundle RB = ResourceBundle.getBundle ( "Res.MessageBundle", CurrentLocale);
그중에서도 Res.MessageBundle은 SRC에 따라 RES 폴더를 생성했으며 RES 폴더 아래에 MessageBundle.properteis라는 리소스 파일이 있습니다. 여기에서 여러 국제 자원 파일을 생성 할 수 있습니다.
MessageBundle_ZH_CN.ProPerties; MessageBundle_en_us.properteis;
그중에서도 MessageBundle은 자원을 구성 할 때 사용할 문자열입니다. 이 이름은 합법적이며 구체적인 제약이 필요하지 않습니다. 다음 이름은 규칙을 따라야합니다.
Resourcename_language_country.properteis;
그런 다음 rb.getString (키)을 사용합니다. 리소스 파일의 키에 해당하는 값을 얻으려면
Struts1.x를 사용하여 국제 자동 스위칭을 달성하십시오
struts 소스 코드를 확인하면 로케일 정보가 세션에 저장된 것을 찾을 수 있습니다.
따라서 국제화를 달성하려면 페이지의 하이퍼 링크를 클릭하고 동작을 전달할 때 세션에서 로케일 값을 변경해야합니다. 행동 :
// 클라이언트 문자열에 의해 보낸 언어 요청 정보를 수락하십시오. 언어 = request.getParameter ( "mylanguage"); // 언어 지역 정보 정의 LOCALE CurrentLocale = null; // 다른 요청에 따라 다른 로케일 정보를 만듭니다. } else if ( "en".Equals (language)) {currentLocale = new Locale ( "en", "us"); } // ... // 세션에서 정보를 변경하십시오. // 물론 페이지에 리소스 파일 정보를 표시 할 때 다음 방법을 사용하십시오. // <bean : message key = "key” />