1
اللغة تعني المنطقة. يمثل كل كائن موضعي منطقة جغرافية وسياسية وثقافية محددة.
غالبًا ما يتم استخدامه عند تشغيل الكائنات التي تمثل تواريخ/أوقات مثل التاريخ والتقويم وما إلى ذلك ؛ لأن طريقة تمثيل الوقت تختلف في مناطق مختلفة.
دعنا نتحدث عن ثلاث طرق شائعة لإنشاء كائنات محلية.
(1) احصل على اللغة الافتراضية
كيفية استخدام:
locale locale = locale.getDefault ()
(2) استخدم الكائن الثابت للمحطة مباشرة
يتم توفير الكائنات الثابتة التالية في locale.java
قائم عام ثابت عام Canadapublic static static alcale canada_frenchpublic static static chinapublic static static static static chinesepublic static static static alshalepublic static static static final final final final final final final final locale final static static final locale static static static static static static static static static static static static static static static static static static static at static static static static static static at static static static static static static static. locale Koreapublic static static static alcale or oreanpublic static static static prcpublic prcpublic static static static rounpublic static static locale simplified_chinesepublic static final locale tawanpublic static static local
كيفية الاستخدام: الكائن المحلي التالي يتوافق مع "الصين (البر الرئيسي)"
موضعية = locale.simplified_chinese
(3) قم بإنشاء كائن محلي من خلال مُنشئ اللغة
هناك 3 مُنشئين في اللغة. على النحو التالي:
لغة (لغة السلسلة) موضعية (لغة السلسلة ، بلد السلسلة).
كيفية استخدام:
locale local = locale new locale ("ZH" ، "CN") ؛تدعم الطبقة المحلية الكثير من البلدان والمناطق. يمكننا عرض جميع المجالات التي تدعمها اللغة من خلال الطرق التالية:
locale [] ls = locale.getavailablelocales () ؛ for (locale locale: ls) {system.out.println ("locale:"+accale) ؛} نتائج الإدخال هي كما يلي:
جميع اللغات: 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 ، de_ch ، 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 ، es_us ، 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_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 ، vi ، 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 ، 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" يمثل البلد ، الذي يشير إلى اليابان.
يمكننا إنشاء "اللغة اليابانية والبلد هو كائن اللغة الياباني" من خلال الطريقة التالية.
locale locale = new locale ("Ja" ، "JP") ؛ على سبيل المثال ، الإخراج الثالث هو "en".
من بينهم ، يمثل EN "لغة" ، والتي تشير إلى اللغة الإنجليزية هنا.
يمكننا إنشاء "كائن محلي له لغته الإنجليزية" من خلال الطريقة التالية.
locale locale = new locale ("en") ؛ قائمة الوظائف
// لغة مُنشأة موضعية (لغة السلسلة) لغة (لغة السلسلة ، البلد سلسلة) (لغة السلسلة ، بلد السلسلة ، متغير السلسلة)
كائن استنساخ () منطقي يساوي (كائن كائن) موضعي ثابت [] getavailableLoCales () string getCountry () static locale getDefault () string getDisplayCountry (locale locale) سلسلة نهائية getDisplayCountry () سلسلة نهائية getDisPlayCountry () getDisplayName (locale locale) السلسلة النهائية getDisplayName () سلسلة نهائية getDisplayVariant () سلسلة getDisplayVariant (موضعية موضعية) سلسلة getiso3country () سلسلة getIso3language () static [] getisocountries () static [] getIsolanguage () HashCode () متزامن الفراغ الثابت setDefault (لغة الطلي) السلسلة النهائية tostring ()
2. مثال على الطليعة
فيما يلي مثال لإظهار استخدام اللغة في التاريخ.
الرمز المرجعي هو كما يلي (localetest.java):
استيراد java.util.locale ؛ استيراد java.util.date ؛ استيراد java.util.calendar ؛ استيراد java.text.simpledateformat ؛ استيراد java.text.dateformat ؛/*** test actdafted {public {public static void main // إظهار جميع اللغات testalllocales () ؛ } / *** 2 أساليب إنشاء موقع مختلفة* / خاص باطلب باطل ثابت خاص testDiffDatelocales () {// التاريخ هو 2013-09-19 14:22:30 تاريخ التاريخ = تاريخ جديد (113 ، 8 ، 19 ، 14 ، 22 ، 30) ؛ // إنشاء موضعي موضعي localeCn = locale.simplified_chinese ؛ // إنشاء Locale localeus = new locale ("en" ، "US") ؛ // احصل على سلسلة التاريخ المقابلة لسلسلة "صينية مبسطة" cn = dateformat.getDateinStance (dateFormat.medium ، localecn) .Format (date) ؛ // احصل على سلسلة التاريخ المقابلة لسلسلة "English/US" US = DateFormat.getDateinStance (DateFormat.medium ، localeus) .Format (Date) ؛ system.out.printf ("cn = ٪ s/nus = ٪ s/n" ، cn ، لنا) ؛ } / ** * إظهار جميع اللغات * / private static void testalllocales () {locale [] ls = locale.getavailableLocales () ؛ System.out.print ("All Spcores:") ؛ لـ (locale locale: ls) {system.out.printf (locale+"،") ؛ } system.out.println () ؛ }}3. استخدم ResourceBundle لقراءة ملفات الموارد الدولية
تحتوي حزمة موارد ResourceBundle على كائنات لموقع معين. استخدمه لتحميل وقراءة الموارد المحلية.
1. توطين أو ترجمة بسهولة إلى لغات مختلفة
2. التعامل مع بيئات متعددة في وقت واحد
3. يمكنك بسهولة تعديله في المستقبل ودعم المزيد من البيئات المحلية مرة واحدة.
عندما يحتاج البرنامج إلى كائنات خاصة بالكلود ، فإنه يستخدم طريقة getBundle () لتحميل فئة ResourceBundle
ResourceBundle RB = ResourceBundle.getBundle ("res.Messagebundle" ، CurrentLocale) ؛من بينها ، يمثل Res.MessageBundle أننا أنشأنا مجلد RES تحت SRC ، وهناك ملف مورد يسمى MessageBundle.Properteis تحت مجلد RES. نسمح بإنشاء ملفات موارد دولية متعددة هنا:
messageBundle_zh_cn.properties ؛ messageBundle_en_us.properteis ؛
من بينها ، MessageBundle هي سلسلة لاستخدامها عند إنشاء ResourceBundle. هذا الاسم قانوني ولا يتطلب قيودًا محددة. يجب أن تتبع الأسماء التالية القواعد.
resourcename_language_country.properteis ؛
ثم نستخدم rb.getString (مفتاح) ؛ للحصول على القيمة المقابلة للمفتاح في ملف المورد.
استخدم Struts1.x لتحقيق التبديل التلقائي الدولي
من خلال التحقق من رمز مصدر الدعامات ، يمكنك العثور على أن المعلومات المحلية يتم تخزينها في الجلسة ، من خلال this.setLocale (طلب ، لغة) ؛
لذلك ، لتحقيق التدويل ، تحتاج إلى تغيير القيمة المحلية في الجلسة عند النقر فوق الارتباط التشعبي على الصفحة وتمرير الإجراء. في العمل:
// قبول معلومات طلب اللغة المرسلة من قبل لغة سلسلة العميل = request.getParameter ("myLanguage") ؛ // تحديد معلومات منطقة اللغة CurrentLocale = null ؛ // قم بإنشاء معلومات محلية مختلفة وفقًا لطلبات مختلفة إذا ("ZH" .equals (لغة)) {currentLocale = new locale ("ZH" ، "CN") ؛ } آخر إذا ("en" .equals (لغة)) {currentLocale = new locale ("en" ، "US") ؛ } // ... // قم بتغيير المعلومات في الجلسة this.setLocale (request ، currentLocale) ؛ // بالطبع ، عند عرض معلومات ملف المورد على الصفحة ، استخدم الطريقة التالية: // <Bean: Message Key = "Key" />