Rumah > Java > javaTutorial > teks badan

Bagaimana SpringBoot melaksanakan pengantarabangsaan dengan pemisahan bahagian hadapan dan belakang

王林
Lepaskan: 2023-05-14 22:49:04
ke hadapan
1667 orang telah melayarinya

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);
			}
		};
	}
}
Salin selepas log masuk

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
Salin selepas log masuk

Tambahkan kandungan berikut pada application.yml

spring: 
  messages:
    basename: i18n/messages
Salin selepas log masuk

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;
	}

}
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan