Heim >Java >javaLernprogramm >Wie SpringBoot die Internationalisierung mit Front-End- und Back-End-Trennung umsetzt
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.
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.
Der Inhalt der Datei message.properties kann leer sein.
message.en_US.properties Inhaltsbeispiel:
40001=Hallo
message.zh_CN.properties Inhaltsbeispiel:
40001=Hallo
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); } }; } }
application.properties
#i18n spring.messages.basename=i18n.messages spring.messages.cache-duration=3600 spring.messages.encoding=UTF-8
Fügen Sie den folgenden Inhalt zu application.yml hinzu
spring: messages: basename: i18n/messages
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; } }
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!