1. Introduction des paramètres régionaux
La région signifie région. Chaque objet local représente une région géographique, politique et culturelle spécifique.
Il est souvent utilisé lors de l'exploitation d'objets représentant des dates / heures telles que la date, le calendrier, etc.; Parce que la méthode de représentation du temps est différente dans différentes régions.
Parlons de trois façons courantes de créer des objets régionaux.
(1) Obtenez les paramètres par défaut
Comment utiliser:
Locale locale = locale.getDefault ()
(2) Utiliser directement l'objet statique des paramètres régionaux
Les objets statiques suivants sont fournis dans les paramètres régionaux.java
Public Static Final Locale Locale Canadapublic Static Final Locale Locale Canada_Frenchpublic Static Final Locale Locale Chinapublic Static Final Locale Chinesepublic Static Final Locale Anglais Public Statique Statique Locale Locale Francepublic Static Final Locale FrenchPublic Final Static Loal Locale finale statique JapanEsepublic Static Final Locale Koreapublic Static Final Locale KoreanPublic Static Final Locale PrcPublic Static Final Locale RootPublic Static Final Locale Simpplified_CHINESEPUBLIC STATIC FINAL LOCALE
Comment utiliser: l'objet local suivant correspond à "Chine (continentale)"
Locale locale = Locale.simplified_chinese
(3) Créer un objet local via le constructeur régional
Il y a 3 constructeurs dans les paramètres régionaux. comme suit:
Locale (langage de chaîne) Locale (langage de chaîne, pays de chaîne) Locale (langue de chaîne, pays de chaîne, variante de chaîne)
Comment utiliser:
Local local = nouveau lieu ("zh", "cn");La classe locale soutient de nombreux pays et régions. Nous pouvons voir tous les domaines soutenus par les paramètres régionaux grâce aux méthodes suivantes:
Locale [] ls = locale.getAvailableLocales (); pour (paramètres régionaux: ls) {System.out.println ("Locale:" + Locale);} Les résultats d'entrée sont les suivants:
Tous les lieux: 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, fr_CA, et_EE, ar_KW, sr_RS, 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, DELAT, ES_ 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, es_SV, ru_RU, ko_KR, 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, CS_CZ, IT_CH, RO_RO, ES_PR, EN_CA, DEVA MS_MY, HR_HR, EN_SG, DA, MT, PL, AR_OM, TR, TH_TH_TH, EL, MS, SV_SE, DA_DK, ES_HN
Sélectionnez deux d'entre eux pour illustrer comment les utiliser pour créer des objets régionaux:
Par exemple, la première sortie est "JA_JP".
Parmi eux, JA représente la "langue", qui fait référence au japonais; "JP" représente le pays, qui fait référence au Japon.
Nous pouvons créer "la langue est japonaise et le pays est l'objet local du Japon" à travers la méthode suivante.
Locale locale = nouveau lieu ("ja", "jp"); Par exemple, la troisième sortie est "EN".
Parmi eux, EN représente la «langue», qui fait référence à l'anglais ici.
Nous pouvons créer "un objet local dont la langue est l'anglais" à travers la méthode suivante.
Locale locale = nouveau lieu ("en"); Liste des fonctions des paramètres régionaux
// Locale du constructeur des paramètres régionaux (langage de chaîne) Locale (langage de chaîne, pays de chaîne) Locale (langage de chaîne, country de chaîne, variante de chaîne)
Objet clone () booléen égaux (objet objet) Locale statique [] getAvailableLocales () String Getcountry () Locale statique GetDefault () String GetDisplayClayCountry (Locale Locale) Final String GetDisplayCountry () String final getDisplaycountry () Final String GetDisplayLanguage () String GetDisplayLanguage (Locale Locale) Locale) chaîne finale getDisplayName () Final String GetDisplayVariant () String GetDisplayVariant (Locale Locale) String Getiso3Country () String Getiso3Language () String static [] getisoCountries () Static String [] getisolanguages () String GetLanguage () String GetVariant () Synchronized int hashCode () Syndchronized staty GetVarian setDefault (paramètres locaux) final String toString ()
2. Exemple des paramètres régionaux
Ce qui suit est un exemple pour démontrer l'utilisation des paramètres régionaux à la date.
Le code de référence est le suivant (localest.java):
Importer java.util.locale; import java.util.date; import java.util.calendar; import java.text.simpledateformat; import java.text.dateformat; / ** * programme de test local * / classe publique Localtest {Public Static Void Main (string [] args) {// 2 différentes méthodes de création locale TestDiffddDaticales ();); // montre tous les lieux TestAllLocales (); } / ** * 2 Méthodes de création des paramètres locaux * / Private Static void testDiffDateloCales () {// Date est 2013-09-19 14:22:30 Date Date = Nouvelle Date (113, 8, 19, 14, 22, 30); // Créer des paramètres régionaux Localecn = Locale.simplified_chinese; // Créer des paramètres locaux = nouveau paramètres régionaux ("en", "nous"); // Obtenez la chaîne de date correspondant à la chaîne "chinois simplifiée" cn = dateFormat.getDateInstance (dateFormat.Medium, localecn) .format (date); // Obtenez la chaîne de date correspondant à la chaîne "English / US" us = dateFormat.getDateInstance (dateFormat.Medium, Localeus) .Format (Date); System.out.printf ("CN =% S / NUS =% S / N", CN, US); } / ** * Afficher tous les locaux * / private static void TestAllLocales () {Locale [] ls = locale.getAvailableLocales (); System.out.print ("Tous les localités:"); pour (paramètres régionaux: ls) {System.out.printf (Locale + ","); } System.out.println (); }}3. Utilisez ResourceBundle pour lire les fichiers de ressources internationales
Le package de ressources ResourceBundle contient des objets pour un paramètre local spécifique. Utilisez-le pour charger et lire les ressources des paramètres régionaux.
1. local ou traduire facilement dans différentes langues
2. Gérer plusieurs environnements régionaux à la fois
3. Vous pouvez facilement le modifier à l'avenir et prendre en charge davantage d'environnements régionaux une fois.
Lorsqu'un programme a besoin d'objets spécifiques aux paramètres régionaux, il utilise la méthode getBundle () pour charger la classe ResourceBundle
ResourceBundle rb = ResourceBundle.getBundle ("res.messageBundle", CurrentLocale);Parmi eux, Res.MessageBundle représente que nous avons créé un dossier RES sous SRC, et il existe un fichier de ressources nommé MessageBundle.Properteis dans le dossier Res. Nous autorisons la création de plusieurs fichiers de ressources internationales ici:
MessageBundle_Zh_Cn.Properties; MessageBundle_en_US.Properteis;
Parmi eux, MessageBundle est une chaîne à utiliser lors de la construction d'une ressourcebundle. Ce nom est légal et ne nécessite pas de contraintes spécifiques. Les noms suivants doivent suivre les règles.
ressourcename_language_country.properteis;
Ensuite, nous utilisons rb.getString (clé); Pour obtenir la valeur correspondant à la clé du fichier de ressources.
Utilisez Struts1.x pour réaliser une commutation automatique internationale
En vérifiant le code source de Struts, vous pouvez constater que les informations sur les paramètres régionaux sont stockées dans la session, via ce.SetLocale (demande, paramètres régionaux);
Par conséquent, pour atteindre l'internationalisation, vous devez modifier la valeur des paramètres régionaux dans la session lorsque vous cliquez sur l'hyperlien sur la page et passez l'action. En action:
// Accepte les informations de demande de langue envoyées par le Client String Language = request.getParameter ("MyLanguage"); // Définir les informations sur la région de la langue CurrentLocale = NULL; // Créer différentes informations sur les paramètres régionaux en fonction de différentes demandes if ("zh" .equals (langage)) {currentLocale = new Locale ("zh", "cn"); } else if ("en" .equals (linguisse)) {currentLocale = new Locale ("en", "us"); } // ... // modifie les informations de la session this.setLocale (request, currentLocale); // Bien sûr, lorsque vous affichez des informations sur le fichier de ressources sur la page, utilisez la méthode suivante: // <Bean: Message Key = ”Key” />