Здравствуйте, мне нужно реализовать интернационализацию и локализацию, используя springBoot в бэкэнде и ExtJs во внешнем интерфейсе (в настоящее время я пытаюсь реализовать с использованием базовой html-страницы, но позже приходится реализовывать то же самое в ExtJ.
Потратил часы на поиск в Google, но всеПримеры, которые я получил, используя тимилеф в forntend, даже не используя обычный jsp / Html без тимелина.
Я реализовал необходимую конфигурацию в SpringBoot
package com.corex.i18npoc;
import java.util.Locale;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
@SpringBootApplication
public class I18nPocApplication extends WebMvcConfigurerAdapter{
public static void main(String[] args) {
SpringApplication.run(I18nPocApplication.class, args);
}
@Bean
public LocaleResolver localeResolver(){
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(Locale.US);
return localeResolver;
}
@Bean
public ResourceBundleMessageSource messageSource() {
ResourceBundleMessageSource rs = new ResourceBundleMessageSource();
rs.setBasename("messages");
rs.setUseCodeAsDefaultMessage(true);
return rs ;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("lang");
return localeChangeInterceptor;
}
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(localeChangeInterceptor());
}
}
Файл My View
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
<h2>
< code="lang.de" />
</h2>
<div>
<span><fmt:message key="lang.de" /></span>
</div>
<div>
<fmt:message key="lang.de" />
</div>
<ul>
<li><a href="?lang=en"><fmt:message key="lang.de" /></a></li>
<li><a href="?lang=de"><fmt:message key="lang.de" /></a></li>
<li><a href="?lang=fr"><fmt:message key="lang.de" /></a></li>
<li><a href="?lang=zh"><fmt:message key="lang.de" /></a></li>
</ul>
</body>
</html>
Структура моего проекта
Мои ПРОБЛЕМЫ: -
1.) Где я ошибаюсь в этой конфигурации, так как не могу просмотреть результат.
2.) Является ли это лучшим подходом для интернационализации и локализации, когда backend в springBoot и frontend это Extjs