Heim > Java > javaLernprogramm > Wie SpringBoot die Internationalisierung mit Front-End- und Back-End-Trennung umsetzt

Wie SpringBoot die Internationalisierung mit Front-End- und Back-End-Trennung umsetzt

王林
Freigeben: 2023-05-14 22:49:04
nach vorne
1709 Leute haben es durchsucht

Vorwort

Die Springboot-Internationalisierung kann Benutzern dabei helfen, Anwendungen in verschiedenen Sprachumgebungen zu erstellen, sodass sich Anwendungen effektiv an Benutzeranforderungen in unterschiedlichen Sprachen und kulturellen Hintergründen anpassen können.

Darüber hinaus kann die Springboot-Internationalisierung auch die Wiederverwendung und Wartung mehrsprachiger Anwendungen erleichtern und so den Zeitaufwand für die Systembereitstellung und die Wartungskosten senken.

Um die internationale Springboot-Anwendung zu implementieren, gibt es drei Hauptschritte.

1. Legen Sie internationale Eigenschaftendateien fest.

Definieren Sie internationale Ressourcendateien, verwenden Sie Eigenschaftenformatdateien, fügen Sie verschiedene mehrsprachige Textressourcen in verschiedene Dateien ein und benennen Sie jede Datei mit den Methoden [locale] + [messages], z. B. zh_CN.properties , en_US.properties usw.

Wie SpringBoot die Internationalisierung mit Front-End- und Back-End-Trennung umsetzt

Der Inhalt der Datei message.properties kann leer sein.

message.en_US.properties Inhaltsbeispiel:

40001=Hallo

message.zh_CN.properties Inhaltsbeispiel:

40001=Hallo

2. Erstellen Sie einen Parser und einen Interceptor

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);
			}
		};
	}
}
Nach dem Login kopieren

3. Fügen Sie Folgendes hinzu Inhalt zu den Einstellungen der Startkonfigurationsdatei

application.properties

#i18n
spring.messages.basename=i18n.messages
spring.messages.cache-duration=3600
spring.messages.encoding=UTF-8
Nach dem Login kopieren

Fügen Sie den folgenden Inhalt zu application.yml hinzu

spring: 
  messages:
    basename: i18n/messages
Nach dem Login kopieren

4. Controller-Beispiel

Die Internationalisierung von Springboot wird durch eine Bean namens „messageSource“ implementiert.

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

}
Nach dem Login kopieren

5. Zusammenfassung

Die Springboot-Internationalisierung kann Benutzern dabei helfen, Anwendungen in verschiedenen Sprachumgebungen zu erstellen, sodass sich Anwendungen effektiv an Benutzeranforderungen in verschiedenen Sprachen und kulturellen Hintergründen anpassen können.

Darüber hinaus kann die Springboot-Internationalisierung auch die Wiederverwendung und Wartung mehrsprachiger Anwendungen erleichtern und so den Zeitaufwand für die Systembereitstellung und die Wartungskosten senken. Um die internationale Springboot-Anwendung zu implementieren, gibt es drei Hauptschritte.

1. Legen Sie internationale Eigenschaftendateien fest: Um die Springboot-Internationalisierung zu implementieren, müssen Sie zunächst eine Reihe internationaler Eigenschaftendateien vorbereiten, einschließlich Sprach- und Regionsinformationen.

2. Registrieren Sie internationalisierte Nachrichtenressourcen: Registrieren Sie die Sprach- und Regionsinformationen in der Eigenschaftendatei in der Springboot-Anwendung und geben Sie Standardwerte an, damit Sie bei der Erweiterung auf mehrere Sprachen schnell und effizient auf verwandte Eigenschaftsressourcen zugreifen können.

3. Definieren Sie mehrsprachige Bundle-Dateien: Kombinieren Sie die definierten Internationalisierungseigenschaftsdateien mit der Anwendung, um eine mehrsprachige Bundle-Datei zu bilden, damit die Sprachversion der Anwendung rechtzeitig angepasst werden kann, wenn der Benutzer eine andere Sprache auswählt.

Das obige ist der detaillierte Inhalt vonWie SpringBoot die Internationalisierung mit Front-End- und Back-End-Trennung umsetzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage