Dalam Java Servlet, pengantarabangsaan dicapai dengan menggunakan kumpulan sumber antarabangsa dan kelas Tempatan Langkah-langkah khusus adalah seperti berikut: Buat berkas sumber antarabangsa (.properties files) untuk menyimpan bahasa berbeza (_kod bahasa) dan negara (kod _negara). teks terjemahan. Gunakan kelas Tempatan untuk mendapatkan tetapan tempat semasa. Muatkan berkas sumber yang betul melalui ResourceBundle.getBundle. Gunakan bundle.getString untuk mendapatkan teks terjemahan untuk kunci yang sepadan. Tetapkan tempat lalai melalui Locale.setDefault. Gunakan request.getLocale untuk mendapatkan tempat yang diminta. Gunakan ungkapan EL untuk memaparkan teks terjemahan dalam paparan.
Cara menyokong pengantarabangsaan dalam Java Servlets
Pengenalan
Pengantarabangsaan ialah proses membuat aplikasi menyokong pelbagai bahasa dan budaya. Dalam Java Servlets, pengantarabangsaan dilaksanakan menggunakan himpunan sumber antarabangsa dan kelas Locale
. Locale
类来实现。
国际化资源束
国际化资源束是一组翻译好的字符串,用于不同语言的文本。它们以 .properties
文件的形式存储,文件名遵循以下格式:[基本文件名]_[语言代码]_[国家代码].properties
。例如,一个包含英文文本的资源束可以命名为 messages_en_GB.properties
。
创建资源束
要创建一个资源束,请按照以下步骤操作:
.properties
文件。KEY=VALUE
实例
下面是一个包含英语和西班牙语文本的资源束示例:
// messages_en_GB.properties welcome=Welcome username=Username // messages_es_ES.properties welcome=Bienvenido username=Nombre de usuario
使用 Locale
类
Locale
类表示特定语言和国家的设置。它用于从资源束中获取正确翻译的字符串。
读取资源束
要读取资源束,请使用以下代码:
ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault());
这将加载与当前 Locale
匹配的资源束。
获取翻译的字符串
要获取翻译的字符串,请使用以下代码:
String welcomeText = bundle.getString("welcome");
这将检索与指定键对应的翻译的字符串。
实战案例
1. Servlet 初始化
在 Servlet 初始化方法中,我们可以设置默认 Locale
:
@Override public void init() { Locale defaultLocale = Locale.getDefault(); Locale.setDefault(defaultLocale); }
2. 响应请求
在响应请求时,我们可以根据请求的 Locale
Ikatan sumber pengantarabangsaan
Ikatan sumber pengantarabangsaan ialah set rentetan terjemahan untuk teks dalam bahasa yang berbeza. Ia disimpan sebagai fail.properties
dengan nama fail mengikut format: [nama fail asas]_[kod bahasa]_[kod negara].properties
. Sebagai contoh, himpunan sumber yang mengandungi teks bahasa Inggeris boleh dinamakan messages_en_GB.properties
. Mencipta Himpunan Sumber
🎜🎜Untuk mencipta himpunan sumber, ikut langkah berikut: 🎜.properties
. @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) { ResourceBundle bundle = ResourceBundle.getBundle("messages", request.getLocale()); request.setAttribute("welcomeText", bundle.getString("welcome")); }
<h1>${welcomeText}</h1>
Locale
🎜🎜🎜Locale Kelas mewakili tetapan khusus bahasa dan negara. Ia digunakan untuk mendapatkan rentetan diterjemahkan dengan betul daripada himpunan sumber. 🎜🎜🎜Read Resource Bundle🎜🎜🎜Untuk membaca resource bundle, gunakan kod berikut: 🎜rrreee🎜Ini akan memuatkan resource bundle yang sepadan dengan <code>Locale
semasa. 🎜🎜🎜Dapatkan rentetan terjemahan🎜🎜🎜Untuk mendapatkan rentetan yang diterjemahkan, gunakan kod berikut: 🎜rrreee🎜Ini akan mendapatkan semula rentetan terjemahan yang sepadan dengan kunci yang ditentukan. 🎜🎜🎜 Praktikal Case🎜🎜🎜🎜1. menjawab permintaan , kita boleh mendapatkan rentetan yang diterjemahkan mengikut Atas ialah kandungan terperinci Bagaimanakah Java Servlet menyokong pengantarabangsaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!