首頁 >Java >java教程 >Java 的國際化

Java 的國際化

WBOY
WBOY原創
2024-08-30 15:41:371077瀏覽

以下文章提供了 Java 國際化的概述。國際化是創建 Web 應用程式的過程,使其自動支援多個國家/地區、語言和貨幣,而不需要對應用程式進行任何更改。它也被稱為 I18N,因為字母 I 和 N 之間有 18 個字元。全球市場是當今設計軟體或網站時的重要因素。隨著全球市場軟體應用程式的不斷擴展,公司必須創建能夠與當地區域和語言的用戶互動的產品。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

為國際市場開發軟體的開發人員應該了解每種文化的習俗和差異。語言、標點符號、貨幣、日期、時間、數字和時區都是差異的例子。本地化也縮寫為 I10N,因為首字母“L”和最後一個字母“N,”之間有十個字元。本地化是向應用程式添加特定於區域設定的文字和元件的過程,以便可以根據給定的語言和地點進行自訂。

Java 國際化語法

以下類別可用於實現國際化:

  • 語言環境
  • 數位格式
  • 日期格式

1.語言環境

Locale 物件可用來表示地理位置或語言。 java.util 套件包含一個 Locale 類別。

Locale 類別的建構子:

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

Locale 類別的常數:

一些 Locale 常數已在 Locale 類別中宣告。

這些常數可以直接使用,以下列出幾個常數:

  • 區域設定。英國
  • 語言環境.義大利
  • Locale.US

Locale 類別的功能:

  • pubic static Locale getDefault():此方法用於取得目前語言環境的實例。
  • public static Locale[] getAvailableLocales(): 此方法用於取得目前語言環境的陣列。
  • public String getDisplayLanguage(Locale l):此方法用於取得傳入的 locale 物件的語言名稱。
  • public String getDisplayVariant(Locale l): 此方法用於取得傳入的 locale 物件的變體程式碼。
  • public String getDisplayCountry(Locale l):此方法用於取得傳入的 locale 物件的國家名稱。
  • public static getISO3Language(): 此方法用於取得當前語言環境的語言代碼的三字母縮寫。
  • public static getISO3Country(): 此方法用於取得目前語言環境國家/地區的三個字母縮寫。

2.數位格式

我們可以使用 NumberFormat 類別根據特定區域設定格式化數字。 NumberFormat 類別存在於 java.Text 套件中,是一個抽象類,因此我們無法使用其建構子建立物件。

Locale 類別的功能:

  • public static NumberFormat getInstance():此方法用於取得預設Locale的物件。
  • public static NumberFormat getInstance(Locale l): 此方法用於取得傳入的 Locale 物件的物件。
  • public static NumberFormat getCurrencyInstance(): 此方法用於取得預設 Locale 的物件以特定貨幣顯示。
  • 公用靜態格式(long l):此方法用於將傳遞的數字轉換為區域設定物件。

3.日期格式

我們將日期格式國際化,因為日期格式因地點而異。我們可以使用 DateFromat 類別根據給定的區域設定格式化日期。 DateFormat是java.text套件中的一個抽象類別。

Locale 類別的常數:

一些 DateFormat 常數已在 DateFormat 類別中宣告。

這些常數可以直接使用,下面列出了一些常數:

  • 日期格式.LONG
  • 日期格式.MINUTE_FIELD
  • 日期格式.MINUTE_FIELD

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:

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:

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:

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.

以上是Java 的國際化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn