Internasionalisasi, juga disebut i18n, mengapa nama ini? Karena internasionalisasi bahasa Inggris adalah internasionalisasi, ada 18 huruf antara i dan n, sehingga disebut i18n. Jika aplikasi kami diinternasionalisasi, aplikasi ini dapat dengan mudah dialihkan dalam lingkungan bahasa yang berbeda, yang paling umum adalah peralihan antara bahasa Cina dan Inggris, dan fungsi internasionalisasi juga cukup umum.
Misalnya, saat mengirim permintaan tertentu, atur pasangan nilai kunci di header: "Accept-Language":"zh", melalui nilai yang sesuai dengan Accept-Language, server dapat memutuskan bahasa wilayah mana yang akan digunakan, menemukan file sumber daya yang sesuai, memformatnya, dan mengembalikannya ke klien.
Buat proyek Spring Boot baru, buat file i18n di bawah folder sumber daya, dan buat file konfigurasi baru di bawah folder ini sesuai dengan format "Tabel Singkatan Bahasa", seperti yang ditunjukkan pada gambar di bawah ini:
message.properties
message_en.properti
Ingatlah untuk menambahkan parameter konfigurasi untuk mengedit application.properties agar konfigurasi kita efektif:
Musim semi mendefinisikanSumber Pesanantarmuka untuk mengakses informasi internasional.
getMessage(Kode string, argumen Object[], String defaultMessage, Lokal lokal) getMessage(Kode string, Object[] args, Lokal lokal) getMessage(MessageSourceResolvable resolveable, Locale locale)
Buat pengontrol baru dan coba panggil file sumber daya yang berbeda untuk mengembalikan perintah dengan kode berikut:
Proyek ini digunakan di bawah server Windows dalam bahasa Cina, dan tidak ada masalah dengan pengguna Cina yang mengakses bahasa Cina. Saat men-deploy ke Linux versi bahasa Inggris, pengguna Tiongkok akan meminta perintah bahasa Inggris (baca konfigurasi file sumber daya bahasa Inggris).
Alasannya adalah karena kitaTidak ada file .properties Cina baru sama sekali, saat ini program akan membaca file sumber daya yang cocok dengan bahasa sistem saat ini, dan jika tidak dapat dibaca lagi, program tidak akan dapat membaca konfigurasi file properti yang teridentifikasi。 Ketika kami menerbitkan proyek ke sistem bahasa Inggris Linux, meskipun program tidak dapat membaca konfigurasi Cina, program akan membaca file konfigurasi _en.properties, sehingga antarmuka mengembalikan prompt Cina.
Solusi, pengaturanFallbackToSystemLocalefalse, kodenya adalah sebagai berikut:
(Akhir)
|