Nội bộ hóa Java - Lớp ResourceBundle

Lớp ResourceBundle được sử dụng để lưu trữ văn bản và các đối tượng nhạy cảm với ngôn ngữ. Nói chung, chúng tôi sử dụng các tệp thuộc tính để lưu trữ văn bản cụ thể của ngôn ngữ và sau đó biểu diễn chúng bằng đối tượng ResourceBundle. Sau đây là các bước để sử dụng tệp thuộc tính địa phương cụ thể trong một ứng dụng dựa trên java.

Bước 1: Tạo tệp thuộc tính.

Giả sử chúng ta cần tệp thuộc tính cho ngôn ngữ tiếng Anh. Sau đó, tạo tên tệp thuộc tính XXX_en_US.properties trong đó XXX là tên của tệp và en_US đại diện cho ngôn ngữ tiếng Anh (Mỹ).

Messages_en_US.properties

message=Welcome to TutorialsPoint.COM!

Bây giờ hãy tạo tệp thuộc tính cho ngôn ngữ Pháp. Sau đó, tạo tên tệp thuộc tính XXX_fr_FR.properties trong đó XXX là tên của tệp và fr_FR đại diện cho ngôn ngữ cho tiếng Pháp (Pháp).

Messages_fr_FR.properties

message=Bienvenue sur TutorialsPoint.COM!

Ở đây bạn có thể tìm ra rằng khóa giống nhau nhưng giá trị là ngôn ngữ cụ thể trong cả tệp thuộc tính.

Bước 2: Tạo đối tượng ResourceBundle

Tạo đối tượng ResourceBundle với tên tệp thuộc tính và ngôn ngữ bằng cú pháp sau.

ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);

Bước 3: Lấy giá trị từ đối tượng ResourceBundle.

Nhận giá trị từ đối tượng ResourceBundle bằng cách chuyển khóa.

String value = bundle.getString("message");

Thí dụ

Ví dụ sau minh họa việc sử dụng các đối tượng ResourceBundle để hiển thị các giá trị ngôn ngữ cụ thể từ các tệp thuộc tính.

IOTester.java

import java.util.Locale;
import java.util.ResourceBundle;

public class I18NTester {
   public static void main(String[] args) {
      ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);  
      System.out.println("Message in "+Locale.US +": "+bundle.getString("message"));  

      bundle = ResourceBundle.getBundle("Messages", Locale.FRANCE);  
      System.out.println("Message in "+Locale.FRANCE +": "+bundle.getString("message"));
   }
}

Đầu ra

Nó sẽ in ra kết quả sau.

Message in en_US: Welcome to TutorialsPoint.COM!
Message in fr_FR: Bienvenue sur TutorialsPoint.COM!

Lưu ý cho Quy ước Đặt tên

Sau đây là các quy ước đặt tên cho tệp thuộc tính.

  • Đối với tệp thuộc tính được ánh xạ tới ngôn ngữ mặc định, không có tiền tố nào là bắt buộc. message_en_US.properties tương đương với message.properties.

  • Đối với tệp thuộc tính được ánh xạ tới ngôn ngữ, tiền tố có thể được đính kèm theo hai cách. message_fr.properties tương đương với message_fr_FR.properties.

In