Maison >Java >javaDidacticiel >Internationalisation en Java

Internationalisation en Java

WBOY
WBOYoriginal
2024-08-30 15:41:371110parcourir

L'article suivant fournit un aperçu de l'internationalisation en Java. L'internationalisation est le processus de création d'applications Web de telle manière qu'elles prennent automatiquement en charge plusieurs pays, langues et devises sans nécessiter aucune modification de l'application. Il est également appelé I18N car il y a 18 caractères entre les lettres I et N. Le marché mondial est aujourd'hui un facteur important lors de la conception de logiciels ou de sites Web. Les entreprises doivent créer des produits qui interagissent avec les utilisateurs dans leurs régions et langues locales alors que l'expansion des applications logicielles pour les marchés mondiaux se poursuit.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Les développeurs travaillant sur des logiciels destinés aux marchés internationaux doivent être conscients des coutumes et des différences de chaque culture. La langue, la ponctuation, la devise, les dates, les heures, les chiffres et les fuseaux horaires sont tous des exemples de différences. La localisation est également abrégée en I10N car il y a dix caractères entre la lettre initiale « L » et la dernière lettre « N ». La localisation est le processus d'ajout de texte et de composants spécifiques aux paramètres régionaux à une application afin qu'elle puisse être adaptée à une langue et un lieu donnés.

Syntaxe de l'internationalisation en Java

Les classes suivantes peuvent être utilisées pour implémenter l'internationalisation :

  • Local
  • FormatNombre
  • FormatDate

1. Paramètres régionaux

Un objet Locale peut être utilisé pour représenter un emplacement géographique ou une langue. Le package java.util comprend une classe Locale.

Constructeurs de la classe Locale :

Locale l = new Locale(String language);
Locale l = new Locale(String language, String country);

Constantes de la classe Locale :

Certaines constantes Locale sont déjà déclarées dans la classe Locale.

Ces constantes peuvent être utilisées directement, quelques constantes sont présentées ci-dessous :

  • Local. Royaume-Uni
  • Locale.ITALIE
  • Locale.US

Fonctions de la classe Locale :

  • pubic static Locale getDefault() : Cette méthode est utilisée pour obtenir l'instance de la locale actuelle.
  • public static Locale[] getAvailableLocales(): Cette méthode est utilisée pour obtenir un tableau de locales présentes.
  • public String getDisplayLanguage(Locale l): Cette méthode est utilisée pour obtenir le nom de langue de l'objet locale transmis.
  • public String getDisplayVariant(Locale l): Cette méthode est utilisée pour obtenir le code de variante pour l'objet locale transmis.
  • public String getDisplayCountry(Locale l): Cette méthode est utilisée pour obtenir le nom du pays de l'objet locale transmis.
  • public static getISO3Language() : Cette méthode est utilisée pour obtenir l'abréviation à trois lettres du code de langue actuel des paramètres régionaux.
  • public static getISO3Country() : Cette méthode est utilisée pour obtenir l'abréviation à trois lettres du pays actuel de la locale.

2. FormatNuméro

Nous pouvons formater un nombre selon des paramètres régionaux spécifiques en utilisant la classe NumberFormat. La classe NumberFormat présente dans le package java.Text et est une classe abstraite à cause de laquelle nous ne pouvons pas créer d'objet en utilisant son constructeur.

Fonctions de la classe Locale :

  • public static NumberFormat getInstance() : Cette méthode est utilisée pour obtenir l'objet de la localisation par défaut.
  • public static NumberFormat getInstance(Locale l): Cette méthode est utilisée pour obtenir son objet pour l'objet Locale transmis.
  • public static NumberFormat getCurrencyInstance() : Cette méthode est utilisée pour obtenir que l'objet de la localisation par défaut s'affiche dans une devise spécifique.
  • format statique public (long l) :Cette méthode est utilisée pour convertir le numéro transmis en objet de paramètres régionaux.

3. Format de date

Nous internationalisons le format de date car le format des dates varie d'un endroit à l'autre. Nous pouvons utiliser la classe DateFromat pour formater la date conformément à une localisation donnée. DateFormat est une classe abstraite du package java.text.

Constantes de la classe Locale :

Certaines constantes DateFormat sont déjà déclarées dans la classe DateFormat.

Ces constantes peuvent être utilisées directement, quelques constantes sont présentées ci-dessous :

  • DateFormat.LONG
  • DateFormat.MINUTE_FIELD
  • DateFormat.MINUTE_FIELD

Fonctions de la classe DateFormat :

  • final String format(Date date): This method converts and returns the specified Date object into a string.
  • static final DateFormat getInstance(): This method is used to gets a date-time formatter with a short formatting style for date and time.
  • static Locale[] getAvailableLocales(): This method is used to gets an array of present locales.
  • static final DateFormat getTimeInstance(): This method is used to gets time formatter with default formatting style for the default locale.
  • static final DateFormat getTimeInstance(int style): This method is used to gets time formatter with the specified formatting style for the default locale.
  • static final DateFormat getTimeInstance(int style, Locale locale): This method is used to gets time formatter with the specified formatting style for the given locale.
  • TimeZone getTimeZone(): This method is used to gets an object of TimeZone for this DateFormat instance.
  • static final DateFormat getDateInstance(): This method is used to gets date formatter with default formatting style for the default locale.
  • static final DateFormat getDateInstance(int style): This method is used to gets date formatter with the specified formatting style for the default locale.
  • static final DateFormat getDateInstance(int style, Locale locale): This method is used to gets date formatter with the specified formatting style for the given locale.
  • static final DateFormat getDateTimeInstance(): This method is used to gets date or time formatter with default formatting style for the default locale.
  • NumberFormat getNumberFormat(): This method is used to gets an object of NumberFormat for this DateFormat instance.
  • Calendar getCalendar(): This method is used to gets an object of the Calendar for this DateFormat instance.

Examples of Internationalization in Java

Given below are the examples mentioned:

Example #1

Example for the internationalization in Java to create different country locale.

Code:

// The program can be tested in Eclipse IDE, JAVA 11
package jex;
import java.util.Locale;
public class ex
{
public static void main(String[] args) {
Locale[] locales = { new Locale("en", "US"), new Locale("it", "IT"), new Locale("es", "ES") };
for (int l=0; l< locales.length; l++)
{
String Language = locales[l].getDisplayLanguage(locales[l]);
System.out.println(locales[l].toString() + ": " + Language);
}
}
}

Output:

Internationalisation en Java

As in the above program, the Locale class objects are created and store in the array. Next, used the for loop to iterate each locale object and display its name and its language, as we can see in the above output.

Example #2

Example for the internationalization in Java to show the number in different formats for the different countries.

Code:

// The program can be tested in Eclipse IDE, JAVA 11
package jex;
import java.util.*;
import java.text.*;
public class ex
{
public static void main (String[]args)
{
double n = 45273.8956;
NumberFormat f1 = NumberFormat.getInstance (Locale.US);
NumberFormat f2 = NumberFormat.getInstance (Locale.ITALY);
NumberFormat f3 = NumberFormat.getInstance (Locale.CHINA);
System.out.println ("The number format in US is :" + f1.format (n));
System.out.println ("The number format in ITALY is:" + f2.format (n));
System.out.println ("The number format in CHINA is :" + f3.format (n));
}
}

Output:

Internationalisation en Java

As in the above program, three different NumberFormat class objects are created using the Locale class. Next, using the format() method of the NumberFormat class, the given number is printing in the specific format of the country, as we can see in the above output.

Example #3

Example for the internationalization in Java to show the date in different formats for the different countries.

Code:

// The program can be tested in Eclipse IDE, JAVA 11
package jex;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class ex
{
public static void main (String[]args)
{
DateFormat d1 = DateFormat.getDateInstance (0, Locale.US);
DateFormat d2 = DateFormat.getDateInstance (0, Locale.ITALY);
DateFormat d3 = DateFormat.getDateInstance (0, Locale.CHINA);
System.out.println ("The date format in US is :" + d1.format (new Date ()));
System.out.println ("The date format in ITALY is : " + d2.format (new Date ()));
System.out.println ("The date format in CHINA is : " + d3.format (new Date ()));
}
}

Output:

Internationalisation en Java

As in the above program, three different DateFormat class objects are created using the Locale class. Next, using the format() method of the DateFormat class, the return date of the Date() method is printing in the specific format of the country, as we can see in the above output.

Conclusion

Internationalization is also called I18N because there are 18 characters between the letters I and N. It is the process of creating web applications in such a way that they automatically support several countries, languages, and currencies without requiring any changes to the application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Méthodes natives en JavaArticle suivant:Méthodes natives en Java