Rumah Java javaTutorial Bagaimana untuk menangani keperluan pengantarabangsaan dalam pembangunan fungsi Java

Bagaimana untuk menangani keperluan pengantarabangsaan dalam pembangunan fungsi Java

Aug 05, 2023 am 11:03 AM
Pembangunan ciri pengantarabangsaan java bertindak balas terhadap permintaan

Cara menangani keperluan antarabangsa dalam pembangunan fungsi Java

Dengan pembukaan pasaran global dan pembangunan pengantarabangsaan, pembangunan perisian memberi perhatian yang lebih dan lebih untuk menyesuaikan diri dengan keperluan bahasa dan budaya yang berbeza. Dalam pembangunan Java, pengantarabangsaan (pendek kata i18n) telah menjadi aspek penting, dan pembangun perlu menyediakan sokongan berbilang bahasa untuk memenuhi keperluan pengguna yang berbeza. Artikel ini akan memperkenalkan cara menangani keperluan pengantarabangsaan dalam pembangunan fungsi Java dan memberikan contoh kod yang sepadan.

1. Pengurusan fail sumber

Fail sumber ialah fail yang digunakan untuk menyimpan teks dan maklumat yang sepadan dengan pelbagai bahasa. Di Java, sumber biasanya diurus menggunakan fail .properties. Untuk menampung keperluan pengantarabangsaan, kami boleh mencipta fail sumber yang sepadan untuk setiap bahasa, seperti: messages_en.properties (Bahasa Inggeris), messages_zh.properties (Bahasa Cina), dsb.

Dalam fail sumber, kami boleh menggunakan pasangan nilai kunci untuk menyimpan teks dan maklumat. Contohnya:

messages_en.properties:

button.ok=OK
button.cancel=Cancel
Salin selepas log masuk

messages_zh.properties:

button.ok=确定
button.cancel=取消
Salin selepas log masuk

Dengan memanggil kekunci dalam fail sumber, kita boleh mendapatkan teks bahasa yang sepadan, seperti:

String text = ResourceBundle.getBundle("messages").getString("button.ok");
System.out.println(text);
Salin selepas log masuk

penukaran Dinamik 2. ​​

Untuk mencapai penukaran dinamik Untuk fungsi bahasa, kita boleh menggunakan kelas Locale yang disediakan oleh Java. Kelas Tempatan digunakan untuk mewakili wilayah, negara atau kawasan tertentu.

Mula-mula, tetapkan Tempatan lalai dalam kod. Sebagai contoh, tetapkan kepada Bahasa Inggeris:

Locale.setDefault(Locale.ENGLISH);
Salin selepas log masuk

Kemudian, Tempatan boleh ditukar secara dinamik mengikut keperluan pengguna. Contohnya, mengikut bahasa yang dipilih oleh pengguna pada antara muka, tukar kepada bahasa Cina:

Locale.setDefault(Locale.CHINESE);
Salin selepas log masuk

Selepas menukar bahasa, nilai bahasa yang sepadan akan digunakan secara automatik apabila mendapatkan teks dalam fail sumber.

3. Memformat nombor dan tarikh

Dalam keperluan pengantarabangsaan, format nombor dan tarikh selalunya perlu diselaraskan. Java menyediakan kelas NumberFormat dan DateFormat untuk menangani masalah ini.

Sebagai contoh, untuk memformat nombor sebagai mata wang:

double number = 1234.56;
NumberFormat formatter = NumberFormat.getCurrencyInstance();
String formattedNumber = formatter.format(number);
System.out.println(formattedNumber);
Salin selepas log masuk

Output akan berubah berdasarkan Tempatan lalai.

4. Berurusan dengan bentuk jamak

Dalam bahasa yang berbeza, bentuk jamak akan berbeza. Java menyediakan kelas PluralRules untuk mengendalikan bentuk jamak.

Sebagai contoh, untuk mendapatkan perwakilan teks beberapa hari:

int days = 3;
PluralRules rules = PluralRules.forLocale(Locale.getDefault());
String text = rules.select(days, "{0} day", "{0} days");
System.out.println(MessageFormat.format(text, days));
Salin selepas log masuk

Hasil output akan berubah bergantung pada tempat. Apabila bilangan hari ialah 1, hasil keluaran ialah "1 hari", dan apabila bilangan hari lebih daripada 1, hasil keluaran ialah "3 hari".

5. Ringkasan contoh kod

Berikut ialah contoh kod lengkap untuk menunjukkan cara menangani keperluan pengantarabangsaan dalam pembangunan fungsi Java:

import java.text.MessageFormat;
import java.text.NumberFormat;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.spi.LocaleServiceProvider;

public class InternationalizationExample {

    public static void main(String[] args) {
        // 设置默认的Locale
        Locale.setDefault(Locale.ENGLISH);

        // 获取资源文件中的文本
        String buttonText = ResourceBundle.getBundle("messages").getString("button.ok");
        System.out.println(buttonText);

        // 切换语言为中文
        Locale.setDefault(Locale.CHINESE);

        // 获取资源文件中的文本
        buttonText = ResourceBundle.getBundle("messages").getString("button.ok");
        System.out.println(buttonText);

        // 格式化一个数字为货币形式
        double number = 1234.56;
        NumberFormat formatter = NumberFormat.getCurrencyInstance();
        String formattedNumber = formatter.format(number);
        System.out.println(formattedNumber);

        // 获取一个天数的文本表示
        int days = 3;
        PluralRules rules = PluralRules.forLocale(Locale.getDefault());
        String text = rules.select(days, "{0} day", "{0} days");
        System.out.println(MessageFormat.format(text, days));
    }
}
Salin selepas log masuk

6 Dalam pembangunan fungsi Java, keperluan pengantarabangsaan semakin banyak yang penting. Dengan mengurus fail sumber dengan betul, menukar bahasa secara dinamik, memformat nombor dan tarikh, mengendalikan bentuk jamak, dsb., kami boleh dengan mudah mengatasi keperluan persekitaran bahasa dan budaya yang berbeza. Pertimbangan tepat pada masanya dan pelaksanaan fungsi pengantarabangsaan akan membantu meningkatkan pengalaman pengguna dan daya saing pasaran perisian.

Atas ialah kandungan terperinci Bagaimana untuk menangani keperluan pengantarabangsaan dalam pembangunan fungsi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan corak reka bentuk secara munasabah dalam pembangunan fungsi back-end PHP? Bagaimana untuk menggunakan corak reka bentuk secara munasabah dalam pembangunan fungsi back-end PHP? Aug 07, 2023 am 10:34 AM

Bagaimana untuk menggunakan corak reka bentuk secara munasabah dalam pembangunan fungsi back-end PHP? Corak reka bentuk ialah templat penyelesaian yang terbukti untuk menyelesaikan masalah khusus yang boleh digunakan untuk membina kod boleh guna semula, meningkatkan kebolehselenggaraan dan kebolehskalaan semasa proses pembangunan. Dalam pembangunan fungsi back-end PHP, aplikasi corak reka bentuk yang munasabah boleh membantu kami mengatur dan mengurus kod dengan lebih baik, meningkatkan kualiti kod dan kecekapan pembangunan. Artikel ini akan memperkenalkan corak reka bentuk yang biasa digunakan dan memberikan contoh kod PHP yang sepadan. Mod Singleton (Singleton) Mod Singleton sesuai untuk mereka yang memerlukan penyelenggaraan

Bagaimana untuk mengendalikan permintaan merentas domain dalam pembangunan fungsi backend Java? Bagaimana untuk mengendalikan permintaan merentas domain dalam pembangunan fungsi backend Java? Aug 05, 2023 am 09:40 AM

Bagaimana untuk mengendalikan permintaan merentas domain dalam pembangunan fungsi backend Java? Dalam model pembangunan di mana bahagian hadapan dan bahagian belakang dipisahkan, ia adalah senario yang sangat biasa bagi bahagian hadapan untuk menghantar permintaan kepada antara muka API bahagian belakang untuk mendapatkan data melalui JavaScript. Walau bagaimanapun, disebabkan dasar asal yang sama penyemak imbas, terdapat sekatan pada permintaan merentas domain. Permintaan merentas domain bermakna halaman akhir hadapan meminta pelayan dengan nama domain yang berbeza, port yang berbeza atau protokol yang berbeza melalui AJAX dan kaedah lain. Artikel ini akan memperkenalkan kaedah biasa untuk mengendalikan permintaan merentas domain dalam pembangunan fungsi back-end Java, dengan contoh kod. Selesaikan merentas domain

Bagaimana untuk mengoptimumkan permintaan rangkaian dalam pembangunan fungsi backend PHP? Bagaimana untuk mengoptimumkan permintaan rangkaian dalam pembangunan fungsi backend PHP? Aug 06, 2023 pm 12:25 PM

Bagaimana untuk mengoptimumkan permintaan rangkaian dalam pembangunan fungsi backend PHP? Permintaan rangkaian adalah salah satu tugas yang sering ditemui dalam pembangunan backend PHP. Dengan pembangunan Internet, orang ramai mempunyai keperluan prestasi yang lebih tinggi dan lebih tinggi untuk halaman web, jadi mengoptimumkan permintaan rangkaian telah menjadi tugas penting dalam pembangunan PHP. Artikel ini akan memperkenalkan beberapa kaedah untuk mengoptimumkan permintaan rangkaian dan memberikan contoh kod yang sepadan. Menggunakan Caching Caching ialah cara biasa untuk mengoptimumkan permintaan rangkaian. Menyimpan data yang kerap diminta melalui caching boleh mengurangkan bilangan akses kepada pangkalan data atau sumber data lain dan menambah baik

Bagaimana untuk menyelesaikan masalah transaksi pangkalan data dalam pembangunan fungsi back-end Java? Bagaimana untuk menyelesaikan masalah transaksi pangkalan data dalam pembangunan fungsi back-end Java? Aug 04, 2023 pm 07:45 PM

Bagaimana untuk menyelesaikan masalah transaksi pangkalan data dalam pembangunan fungsi back-end Java? Dalam pembangunan fungsi back-end Java, fungsi yang melibatkan operasi pangkalan data adalah sangat biasa. Dalam operasi pangkalan data, urus niaga adalah konsep yang sangat penting. Transaksi ialah unit logik yang terdiri daripada urutan operasi pangkalan data yang sama ada dilaksanakan sepenuhnya atau tidak dilaksanakan sama sekali. Dalam aplikasi praktikal, kita selalunya perlu memastikan bahawa satu set operasi pangkalan data yang berkaitan sama ada semuanya berjaya dilaksanakan atau semuanya digulung semula untuk mengekalkan ketekalan dan kebolehpercayaan data. Jadi, bagaimana untuk membangunkan di backend Java

Bagaimana untuk menggunakan fungsi backend PHP untuk membangun dan melaksanakan API Web? Bagaimana untuk menggunakan fungsi backend PHP untuk membangun dan melaksanakan API Web? Aug 04, 2023 pm 03:09 PM

Bagaimana untuk menggunakan fungsi backend PHP untuk membangun dan melaksanakan WebAPI? Dengan perkembangan Internet, kepentingan WebAPI semakin diiktiraf dan dihargai oleh orang ramai. WebAPI ialah antara muka pengaturcaraan aplikasi yang membenarkan pertukaran maklumat dan kebolehoperasian antara aplikasi perisian yang berbeza. PHP, sebagai bahasa back-end yang digunakan secara meluas dalam pembangunan web, juga boleh digunakan dengan baik untuk membangun dan melaksanakan WebAPI. Artikel ini akan memperkenalkan cara menggunakan fungsi backend PHP untuk melaksanakan WebAPI yang mudah, dan memberikan yang berkaitan

Bagaimana untuk melaksanakan kegigihan data dalam pembangunan fungsi back-end Java? Bagaimana untuk melaksanakan kegigihan data dalam pembangunan fungsi back-end Java? Aug 07, 2023 am 10:21 AM

Bagaimana untuk melaksanakan kegigihan data dalam pembangunan fungsi back-end Java? Dengan perkembangan pesat Internet, data telah menjadi aset teras yang tidak boleh diabaikan oleh organisasi dan perusahaan. Dalam pembangunan back-end Java, mencapai ketekunan data adalah tugas penting. Artikel ini akan memperkenalkan beberapa kaedah kegigihan data biasa dan menggunakan contoh kod untuk menunjukkan cara melaksanakan kegigihan data dalam Java. 1. Pangkalan data hubungan Pangkalan data hubungan adalah salah satu kaedah kegigihan data yang paling biasa. Di Jawa kita boleh menggunakan JDBC (JavaDa

Melihat arah aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro Melihat arah aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro Sep 18, 2023 am 10:52 AM

Melihat arah aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro Ringkasan: Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat pengkomputeran awan dan teknologi data besar, seni bina perkhidmatan mikro telah menjadi pilihan pertama untuk kebanyakan pembangunan perisian perusahaan. Artikel ini akan meneroka aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro, dan menganalisis kelebihan dan cabarannya dengan contoh kod khusus. Pengenalan Dengan pengembangan berterusan skala perisian dan perubahan pesat dalam perniagaan, aplikasi monolitik secara beransur-ansur mendedahkan masalah tidak dapat memenuhi keperluan pembangunan moden. Konsep seni bina perkhidmatan mikro dicadangkan untuk menghadapi cabaran ini.

Bagaimana untuk mencapai penyahgandingan modul perniagaan dalam pembangunan fungsi Java: seni bina perkhidmatan mikro Bagaimana untuk mencapai penyahgandingan modul perniagaan dalam pembangunan fungsi Java: seni bina perkhidmatan mikro Sep 18, 2023 pm 12:30 PM

Cara mencapai penyahgandingan modul perniagaan dalam pembangunan fungsi Java: Seni bina perkhidmatan mikro Dalam aplikasi tunggal tradisional, setiap modul perniagaan sering digabungkan dengan ketat Pengubahsuaian satu modul boleh menjejaskan modul lain, menyukarkan penyelenggaraan dan pengembangan. Untuk menyelesaikan masalah ini, seni bina perkhidmatan mikro diperkenalkan, yang merealisasikan penyahgandingan modul perniagaan dengan memisahkan sistem kepada perkhidmatan kecil bebas yang boleh digunakan secara bebas. 1. Apakah seni bina perkhidmatan mikro? Microservices Architecture (MicroservicesArchitecture) ialah a

See all articles