Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 9087|Jawab: 0

[Sumber] Spring Boot MessageSource Lubang bahasa internasional

[Salin tautan]
Dipaparkan pada 2022-1-27 14:52:03 | | | |
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)





Mantan:Penggunaan praktis cAdvisor untuk mengumpulkan metrik kontainer Docker
Depan:JS front-end mengonversi blob menjadi string
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com