informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Memecahkan masalah internasionalisasi dan lokalisasi di Spring Boot
Halo semuanya, Saya editor Weizhuang Taoke System 3.0, dan saya juga seorang programmer yang tidak memakai celana panjang di musim dingin, tetapi tetap harus anggun dalam cuaca dingin!
Tinjauan Internasionalisasi dan Lokalisasi
Internasionalisasi (disingkat i18n) dan lokalisasi (disingkat l10n) merupakan pertimbangan yang sangat penting ketika mengembangkan aplikasi untuk pengguna global. Internasionalisasi mengacu pada desain dan implementasi produk perangkat lunak sehingga dapat beradaptasi dengan kebutuhan bahasa dan kebiasaan budaya yang berbeda; lokalisasi didasarkan pada internasionalisasi dan adaptasi menurut wilayah atau kebiasaan bahasa tertentu untuk memberikan pengalaman yang lebih ramah pengguna.
Di Spring Boot, internasionalisasi dan lokalisasi terutama dicapai melalui file sumber daya dan dukungan terkait yang disediakan oleh Spring. Pertama-tama mari kita lihat cara mengonfigurasi dan menggunakan fitur-fitur ini.
Dalam proyek Spring Boot, Anda dapat menggunakan file properti (*.properties) atau file YAML untuk menentukan informasi teks dalam berbagai bahasa. Biasanya, kami akan membuat file sumber daya yang sesuai untuk setiap bahasa, seperti messages.properties (file default), messages_en.properties (Bahasa Inggris), messages_zh_CN.properties (Cina Sederhana), dll.
Contoh properti pesan file sumber daya:
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
Di Spring Boot, lulusMessageSource
DanLocaleResolver
Untuk memuat dan mengurai file sumber daya dalam berbagai bahasa, dan beradaptasi sesuai dengan Lokal pengguna.
package cn.juwatech.localization;
import cn.juwatech.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
import java.util.Locale;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver();
resolver.setDefaultLocale(Locale.US); // 设置默认Locale
return resolver;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
Di pengontrol atau layanan, lewatiMessageSource
Untuk mendapatkan informasi teks di bawah Lokal tertentu.
package cn.juwatech.localization;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
@Autowired
private MessageSource messageSource;
@GetMapping("/greeting")
public String greeting() {
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage("greeting.message", null, locale);
}
}
Selain konfigurasi dan penggunaan dasar, efek internasionalisasi dan lokalisasi dapat lebih dioptimalkan dengan cara berikut:
Artikel ini memperkenalkan cara mengatasi masalah internasionalisasi dan lokalisasi dalam proyek Spring Boot, dan mencapai adaptasi multi-bahasa dan regional dengan mengonfigurasi file sumber daya, menggunakan dukungan internasionalisasi yang disediakan oleh Spring, dan praktik terbaik. Teknologi dan metode ini membantu pengembang membangun aplikasi yang ramah dan profesional untuk pengguna global.
Diproduksi oleh editor Micro-earning Taoke System 3.0, produk tersebut harus berkualitas tinggi. Harap sebutkan sumbernya saat mencetak ulang!