Thuộc tính
Thuộc tính | Mô tả | Bắt buộc | Mặc định |
---|---|---|---|
Giá trị | Chỉ định mã hai phần đại diện cho mã ngôn ngữ ISO-639 và mã quốc gia ISO-3166. | Có | vi_VN |
biến thể | Biến thể dành riêng cho trình duyệt | Không | Không có |
phạm vi | Phạm vi của biến cấu hình ngôn ngữ | Không | Trang |
Ví dụ
Gói tài nguyên chứa các đối tượng theo ngôn ngữ cụ thể. Gói tài nguyên chứa các cặp khóa / giá trị. Khi chương trình của bạn cần một tài nguyên dành riêng cho ngôn ngữ, bạn giữ tất cả các khóa chung cho tất cả ngôn ngữ nhưng bạn có thể dịch các giá trị cụ thể cho ngôn ngữ. Các gói tài nguyên giúp cung cấp nội dung cụ thể cho ngôn ngữ.
Tệp gói tài nguyên Java chứa một loạt ánh xạ từ khóa đến chuỗi . Phương pháp mà chúng tôi tập trung vào liên quan đến việc tạo các lớp Java đã biên dịch để mở rộng java.util.ListResourceBundle lớp. Bạn phải biên dịch các tệp lớp này và cung cấp chúng cho classpath của ứng dụng Web của bạn.
Hãy để chúng tôi xác định gói tài nguyên mặc định như sau -
package com.tutorialspoint; import java.util.ListResourceBundle; public class Example_En extends ListResourceBundle { public Object[][] getContents() { return contents; } static final Object[][] contents = { {"count.one", "One"}, {"count.two", "Two"}, {"count.three", "Three"}, }; }
Bây giờ chúng ta hãy xác định thêm một gói tài nguyên mà chúng ta sẽ sử dụng cho Ngôn ngữ Tây Ban Nha -
package com.tutorialspoint; import java.util.ListResourceBundle; public class Example_es_ES extends ListResourceBundle { public Object[][] getContents() { return contents; } static final Object[][] contents = { {"count.one", "Uno"}, {"count.two", "Dos"}, {"count.three", "Tres"}, }; }
Hãy để chúng tôi biên dịch các lớp trên Example.class và Example_es_ES.class và cung cấp chúng trong CLASSPATH của ứng dụng Web của bạn. Bây giờ bạn có thể sử dụng các thẻ JSTL sau để hiển thị ba số như sau -
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %> <%@ taglib uri = "https://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %> <html> <head> <title>JSTL fmt:setLocale Tag</title> </head> <body> <fmt:bundle basename = "com.tutorialspoint.Example"> <fmt:message key = "count.one"/><br/> <fmt:message key = "count.two"/><br/> <fmt:message key = "count.three"/><br/> </fmt:bundle> <!-- Change the Locale --> <fmt:setLocale value = "es_ES"/> <fmt:bundle basename = "com.tutorialspoint.Example"> <fmt:message key = "count.one"/><br/> <fmt:message key = "count.two"/><br/> <fmt:message key = "count.three"/><br/> </fmt:bundle> </body> </html>
Đoạn mã trên sẽ tạo ra kết quả sau -
One Two Three Uno Dos Tres