This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@SpringBootApplication | |
public class I18NWebMVCApplication { | |
public static void main(String[] args) { | |
SpringApplication.run(I18NWebMVCApplication.class, args); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>I18N Spring Boot</title> | |
</head> | |
<body> | |
<h2 data-th-text="#{home.welcome}"></h2> | |
<p data-th-text="#{home.info}"></p> | |
<p data-th-text="#{home.changelanguage}"></p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Controller | |
public class HomeController { | |
@RequestMapping("/") | |
public String welcome(Map<String, Object> model) { | |
return "index"; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Component("messageSource") | |
public class DBMessageSource extends AbstractMessageSource { | |
@Autowired | |
private LanguageRepository languageRepository; | |
private static final String DEFAULT_LOCALE_CODE = "en"; | |
@Override | |
protected MessageFormat resolveCode(String key, Locale locale) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Service | |
public class LanguageService implements LanguageServiceInf { | |
@Autowired | |
private LanguageRepository languageRepository; | |
@Override | |
public Map<String, String> getAllMessageByLocale(String locale) { | |
List<LanguageEntity> langList = languageRepository.findAllByLocale(locale); | |
return langList |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Repository | |
public interface LanguageRepository extends JpaRepository<LanguageEntity, Integer> { | |
LanguageEntity findByKeyAndLocale(String key, String locale); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Entity | |
@Table(name = "languages") | |
public class LanguageEntity { | |
@GeneratedValue(strategy = GenerationType.AUTO) | |
@Id | |
@Column | |
private Integer id; | |
@Column |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Configuration | |
public class WebConfig implements WebMvcConfigurer { | |
@Bean | |
public LocaleResolver localeResolver() { | |
return new CookieLocaleResolver(); | |
} | |
@Override | |
public void addInterceptors(InterceptorRegistry registry) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE | |
spring.datasource.username=sa | |
spring.datasource.password= | |
spring.datasource.driverClassName=org.h2.Driver | |
spring.jpa.hibernate.ddl-auto=update | |
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect | |
spring.h2.console.path=/myconsole | |
spring.h2.console.enabled=true | |
spring.datasource.initialize=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
INSERT INTO languages (locale, messagekey,messagecontent) VALUES | |
('en', 'home.welcome','Welcome'), | |
('en', 'home.info','This page is displayed in English.'), | |
('en', 'home.changelanguage','Supported languages : '), | |
('en', 'home.lang.en','English'), | |
('en', 'home.lang.de','German'), | |
('en', 'home.lang.zh','Chinese'), | |
('de', 'home.welcome','Welcome'), | |
('de', 'home.info','Diese Seite wird in deutscher Sprache angezeigt.'), |
NewerOlder