-
[SpringBoot] Internationalization. 다국어 설정.프로그래밍/Java 2023. 6. 21. 00:08반응형
1. 상위 폴더(Controller, domain, repository 등등)와 같은 레벨로 config 폴더 생성.
2. config/MvcConfig 파일 생성package com.example.demo.config; import java.util.Locale; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.LocaleResolver; 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; @Configuration @ComponentScan(basePackages = "com.example.demo.config") public class MvcConfig implements WebMvcConfigurer { @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(Locale.KOREA); return slr; } @Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor lci = new LocaleChangeInterceptor(); lci.setParamName("lang"); return lci; } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeChangeInterceptor()); } }
3. resources아래에 messages_나라코드 두자리.properties 생성
greeting=안녕하다 lang.change=언어를 바꾸다 lang.eng=영어 lang.es=스빠니시 lang.kr=한국어
이런식으로
messages_eng.properties
messages_es.properties
messages_kr.properties
messages.properties생성.
나라 코드 안 붙은 건. 오류가 발생했을 경우 사용할 Locale이다.
그리고 thymeleaf에 값을 이렇게 내려준다.
<a href = "#" th:text="#{greeting}">FAIL</a>
성공시 greeting에 해당하는 값이 나온다. $이 아니고 #이라는 것에 주의.
페이지 전역에 설정하는 건 아직 모른다.
반응형'프로그래밍 > Java' 카테고리의 다른 글