Rumah  >  Artikel  >  Java  >  Bagaimana SpringBoot melaksanakan pengantarabangsaan dengan pemisahan bahagian hadapan dan belakang

Bagaimana SpringBoot melaksanakan pengantarabangsaan dengan pemisahan bahagian hadapan dan belakang

王林
王林ke hadapan
2023-05-14 22:49:041613semak imbas

Kata Pengantar

Pengantarabangsaan Springboot boleh membantu pengguna membina aplikasi dalam persekitaran bahasa yang berbeza, supaya aplikasi boleh menyesuaikan dengan keperluan pengguna dalam bahasa dan latar belakang budaya yang berbeza.

Selain itu, pengantarabangsaan Springboot juga boleh memudahkan penggunaan semula dan penyelenggaraan aplikasi berbilang bahasa, dengan itu mengurangkan kos masa penggunaan sistem dan kos penyelenggaraan.

Untuk melaksanakan aplikasi antarabangsa Springboot, terdapat tiga langkah utama.

1. Tetapkan fail harta antarabangsa

Tentukan fail sumber antarabangsa, gunakan fail format sifat, letakkan sumber teks berbilang bahasa yang berbeza dalam fail berbeza, namakan setiap fail Gunakan kaedah [locale] + [mesej], seperti zh_CN.properties, en_US.properties, dsb.

Bagaimana SpringBoot melaksanakan pengantarabangsaan dengan pemisahan bahagian hadapan dan belakang

Kandungan fail message.properties boleh kosong.

contoh kandungan message.en_US.properties:

40001=Hello

contoh kandungan message.zh_CN.properties:

40001=Hello

2. Cipta penghurai dan pemintas

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;

import java.util.Locale;

@Configuration
public class LocaleConfig {

	@Bean
	public SessionLocaleResolver localeResolver() {
		SessionLocaleResolver localeResolver = new SessionLocaleResolver();
		localeResolver.setDefaultLocale(Locale.CHINA);
		return localeResolver;
	}
	
	@Bean
	public WebMvcConfigurer localeInterceptor() {
		return new WebMvcConfigurer() {
			@Override
			public void addInterceptors(InterceptorRegistry registry) {
				LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
				localeInterceptor.setParamName("lang");
				registry.addInterceptor(localeInterceptor);
			}
		};
	}
}

3 Mulakan tetapan fail konfigurasi

Tambahkan kandungan berikut pada application.properties

.
#i18n
spring.messages.basename=i18n.messages
spring.messages.cache-duration=3600
spring.messages.encoding=UTF-8

Tambahkan kandungan berikut pada application.yml

spring: 
  messages:
    basename: i18n/messages

4. Contoh Pengawal

Pengantarabangsaan Springboot dilaksanakan melalui kacang yang dipanggil "messageSource".

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/test")
public class TestControler {

	@Autowired
	private MessageSource messageSource;
	
	@GetMapping("/hello")
	public Map<Object, Object> test() {
		Map<Object, Object> result = new HashMap<Object, Object>();
		result.put("code", 40001);
		result.put("msg", messageSource.getMessage("40001", null, LocaleContextHolder.getLocale()));
		return result;
	}

}

5. Ringkasan

Pengantarabangsaan Springboot boleh membantu pengguna membina aplikasi dalam persekitaran bahasa yang berbeza, supaya aplikasi boleh menyesuaikan dengan keperluan pengguna dalam latar belakang bahasa dan budaya yang berbeza.

Selain itu, pengantarabangsaan Springboot juga boleh memudahkan penggunaan semula dan penyelenggaraan aplikasi berbilang bahasa, dengan itu mengurangkan kos masa penggunaan sistem dan kos penyelenggaraan. Untuk melaksanakan aplikasi antarabangsa Springboot, terdapat tiga langkah utama.

1. Tetapkan fail hartanah antarabangsa: Untuk melaksanakan pengantarabangsaan Springboot, anda mesti menyediakan satu siri fail hartanah antarabangsa, termasuk maklumat bahasa dan wilayah.

2. Daftar sumber mesej antarabangsa: Daftarkan maklumat bahasa dan wilayah dalam fail sifat ke dalam aplikasi Springboot, dan tentukan nilai lalai supaya anda boleh mengakses sumber harta berkaitan dengan cepat dan cekap apabila mengembangkan kepada berbilang bahasa .

3. Tentukan fail berkas berbilang bahasa: Gabungkan fail sifat pengantarabangsaan yang ditentukan dengan aplikasi untuk membentuk fail berkas berbilang bahasa supaya versi bahasa aplikasi boleh dilaraskan dalam masa apabila pengguna memilih bahasa yang berbeza .

Atas ialah kandungan terperinci Bagaimana SpringBoot melaksanakan pengantarabangsaan dengan pemisahan bahagian hadapan dan belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam