


Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot
Dengan perkembangan globalisasi, semakin banyak laman web dan aplikasi perlu menyediakan sokongan berbilang bahasa dan fungsi pengantarabangsaan. Bagi pembangun, melaksanakan fungsi ini bukanlah tugas yang mudah kerana ia memerlukan pertimbangan dari banyak aspek, seperti terjemahan bahasa, tarikh, masa dan format mata wang, dsb. Walau bagaimanapun, menggunakan rangka kerja Spring Boot, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah.
Pertama, marilah kita memahami antara muka LocaleResolver yang disediakan oleh Spring Boot. Antara muka LocaleResolver ialah antara muka yang digunakan untuk menghuraikan dan mengembalikan objek Locale. Objek Tempatan mewakili bahasa, rantau dan maklumat berkaitan yang digunakan oleh pengguna. Dalam Spring Boot, antara muka LocaleResolver mempunyai dua pelaksanaan: CookieLocaleResolver dan AcceptHeaderLocaleResolver.
CookieLocaleResolver menghuraikan objek Locale melalui kuki penyemak imbas. Apabila pengguna memilih bahasa, objek Tempatan akan ditetapkan kepada penyemak imbas dan disimpan dalam kuki. Oleh itu, pada kali berikutnya pengguna melawat tapak web, CookieLocaleResolver dapat membaca objek Tempatan daripada kuki.
AcceptHeaderLocaleResolver menyelesaikan objek Tempatan melalui medan Accept-Language dalam pengepala permintaan HTTP. Apabila pengguna menghantar permintaan dengan pengepala Accept-Language, AcceptHeaderLocaleResolver akan menghuraikan objek Locale dan mengembalikannya.
Selain antara muka LocaleResolver, Spring Boot juga menyediakan antara muka MessageSource. Antara muka MessageSource digunakan untuk menghuraikan dan memproses mesej berbilang bahasa. Dalam Spring Boot, antara muka MessageSource mempunyai dua pelaksanaan: ResourceBundleMessageSource dan ReloadableResourceBundleMessageSource.
ResourceBundleMessageSource ialah pelaksanaan mudah yang menghuraikan mesej berbilang bahasa daripada fail sifat yang disediakan. Fail sifat mengandungi pasangan nilai kunci, dengan kuncinya ialah pengecam mesej dan nilainya ialah mesej itu sendiri. Contohnya, untuk mesej Inggeris dan Cina, fail sifat mungkin kelihatan seperti ini:
# messages_en_US.properties hello=Hello world! # messages_zh_CN.properties hello=你好,世界!
Apabila kami perlu memaparkan mesej kepada pengguna, kami boleh menggunakan antara muka MessageSource untuk mendapatkan mesej yang sepadan, dan kemudian memaparkan ia kepada pengguna.
ReloadableResourceBundleMessageSource sangat serupa dengan ResourceBundleMessageSource, tetapi ia membolehkan kami memuatkan semula fail sifat semasa aplikasi sedang berjalan. Ini berguna untuk aplikasi yang memerlukan mesej yang kerap dikemas kini.
Apabila melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa, kami biasanya perlu mempertimbangkan isu format tarikh, masa dan mata wang. Spring Boot menyediakan kelas FormattingConversionServiceFactoryBean untuk menyelesaikan masalah ini. Kami boleh menggunakannya untuk menentukan tarikh, masa dan format mata wang dan menjadikannya sah dalam aplikasi berbilang bahasa.
Berikut ialah contoh penggunaan kelas FormattingConversionServiceFactoryBean untuk menentukan format tarikh, masa dan mata wang:
@Configuration public class AppConfig { @Bean public FormattingConversionServiceFactoryBean formattingConversionServiceFactoryBean() { FormattingConversionServiceFactoryBean factoryBean = new FormattingConversionServiceFactoryBean(); factoryBean.setRegisterDefaultFormatters(false); factoryBean.setFormatters(Set.of(dateTimeFormatter(), dateFormatter(), numberFormatter())); return factoryBean; } private DateTimeFormatter dateTimeFormatter() { return DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).withLocale(LocaleContextHolder.getLocale()); } private DateTimeFormatter dateFormatter() { return DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(LocaleContextHolder.getLocale()); } private NumberFormatter numberFormatter() { return new NumberFormatter(NumberFormat.getCurrencyInstance(LocaleContextHolder.getLocale())); } }
Dalam kod di atas, kami mencipta FormattingConversionServiceFactoryBean untuk menentukan format tarikh, masa dan mata wang. Kami menggunakan DateTimeFormatter dan NumberFormatter untuk menentukan masa tarikh dan format mata wang, dan menggunakan kaedah LocaleContextHolder.getLocale() untuk mendapatkan objek Locale pengguna semasa.
Akhir sekali, kami perlu menyediakan LocaleResolver dan MessageSource dalam aplikasi kami untuk menyokong berbilang bahasa. Kita boleh mencapai ini menggunakan anotasi @EnableWebMvc dan @Configuration yang disediakan oleh Spring Boot. Berikut ialah contoh kelas konfigurasi:
@Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Bean public LocaleResolver localeResolver() { AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver(); resolver.setDefaultLocale(Locale.US); return resolver; } @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages"); messageSource.setFallbackToSystemLocale(false); return messageSource; } @Override public void addInterceptors(InterceptorRegistry registry) { LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor(); localeChangeInterceptor.setParamName("lang"); registry.addInterceptor(localeChangeInterceptor); } }
Dalam kod di atas, kami telah mencipta kelas konfigurasi WebConfig dan mendayakan ciri Spring MVC menggunakan anotasi @EnableWebMvc. Kami menggunakan localeResolver() Bean dan messageSource() Bean untuk menetapkan LocaleResolver dan MessageSource. Kami juga menambah LocaleChangeInterceptor menggunakan kaedah addInterceptors(), dan dalam pemintas ini kami menggunakan parameter "lang" untuk menukar bahasa pengguna.
Ringkasnya, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah melalui antara muka LocaleResolver, antara muka MessageSource dan kelas FormattingConversionServiceFactoryBean yang disediakan oleh Spring Boot. Menggunakan kaedah di atas, kami boleh membina aplikasi global dengan lebih mudah dan mudah yang memenuhi keperluan bahasa, budaya dan serantau pengguna yang berbeza.
Atas ialah kandungan terperinci Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dengan perkembangan globalisasi dan populariti Internet, semakin banyak laman web dan aplikasi telah mula berusaha untuk mencapai pengantarabangsaan dan fungsi sokongan berbilang bahasa untuk memenuhi keperluan kumpulan orang yang berbeza. Untuk merealisasikan fungsi ini, pembangun perlu menggunakan beberapa teknologi dan rangka kerja termaju. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Gin untuk melaksanakan pengantarabangsaan dan keupayaan sokongan berbilang bahasa. Rangka kerja Gin ialah rangka kerja web ringan yang ditulis dalam bahasa Go. Ia cekap, mudah digunakan dan fleksibel, dan telah menjadi rangka kerja pilihan bagi banyak pembangun. selain itu,

Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Dengan kemajuan globalisasi yang berterusan, keperluan untuk berbilang bahasa menjadi semakin biasa, dan sokongan berbilang bahasa untuk aplikasi web telah menjadi isu yang perlu dipertimbangkan oleh pembangun. Golang, sebagai bahasa pengaturcaraan yang cekap dan mudah digunakan, juga dapat menyelesaikan masalah ini dengan baik. Dalam artikel ini, kita akan membincangkan cara melaksanakan sokongan berbilang bahasa untuk aplikasi web menggunakan Golang. 1. Prinsip asas sokongan berbilang bahasa Kunci kepada sokongan berbilang bahasa untuk aplikasi web terletak pada cara mengenal pasti dan menyimpan teks dalam bahasa yang berbeza. Pendekatan biasa adalah menggunakan

Pensuisan berbilang bahasa ThinkPHP6: merealisasikan aplikasi antarabangsa Dengan perkembangan pesat Internet dan proses globalisasi, semakin banyak laman web dan aplikasi perlu menyokong fungsi berbilang bahasa untuk memenuhi keperluan pengguna di negara dan wilayah yang berbeza. Apabila menggunakan ThinkPHP6 untuk membangunkan aplikasi web, mencapai penukaran berbilang bahasa ialah tugas penting Artikel ini akan memperkenalkan cara melaksanakan aplikasi antarabangsa dalam ThinkPHP6 untuk menyediakan pengguna dengan pengalaman berbilang bahasa yang mudah. Mengapa anda memerlukan penukaran berbilang bahasa? Dalam konteks globalisasi, pengguna menggunakan Internet

Laravel ialah rangka kerja PHP yang sangat popular yang menyediakan sejumlah besar ciri dan perpustakaan yang menjadikan pembangunan aplikasi web lebih mudah dan lebih cekap. Salah satu ciri penting ialah sokongan berbilang bahasa Laravel mencapai sokongan berbilang bahasa melalui mekanisme pakej bahasanya sendiri dan perpustakaan pihak ketiga. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan sokongan berbilang bahasa dan menyediakan contoh kod khusus. Menggunakan fungsi pek bahasa Laravel Laravel dilengkapi dengan mekanisme pek bahasa yang membolehkan kami melaksanakan pelbagai bahasa dengan mudah

Bagaimana untuk mencapai pemisahan baca-tulis, projek Spring Boot, pangkalan data adalah MySQL, dan lapisan kegigihan menggunakan MyBatis.

Kini, dengan perkembangan teknologi Internet yang berterusan, semakin banyak laman web dan aplikasi perlu menyokong pelbagai bahasa dan pengantarabangsaan. Dalam pembangunan web, menggunakan rangka kerja boleh memudahkan proses pembangunan. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Webman untuk mencapai pengantarabangsaan dan sokongan berbilang bahasa, dan menyediakan beberapa contoh kod. 1. Apakah rangka kerja Webman? Webman ialah rangka kerja berasaskan PHP ringan yang menyediakan fungsi yang kaya dan alatan yang mudah digunakan untuk membangunkan aplikasi web. Salah satunya ialah pengantarabangsaan dan pelbagai

Dalam pembangunan aplikasi web moden, WebSocket ialah teknologi biasa untuk komunikasi segera dan pemindahan data masa nyata. Rangka kerja SpringBoot menyediakan sokongan untuk WebSocket bersepadu, menjadikannya sangat mudah untuk pembangun melaksanakan fungsi tolak dan pemberitahuan. Artikel ini akan memperkenalkan cara menggunakan WebSocket untuk melaksanakan fungsi tolak dan pemberitahuan dalam SpringBoot, dan menunjukkan pelaksanaan ruang sembang dalam talian masa nyata yang ringkas. Cipta projek SpringBoot Mula-mula, kita perlu mencipta a
