요청헤더의 languages 속성에 따라 서비스의 언어를 다르게 표시해줄 수 있다.
hello=Hello there
logoText=CODELIKE
빈 파일로 작성
hello=안녕하세요
logoText=코드라이크
사이트 이름: <span th:text="#{logoText}"></span>
<hr>
<span th:text="#{hello}"></span>
@Configuration
@RequiredArgsConstructor
public class I18nConfig {
private final CustomResourceBundleMessageSource customResourceBundleMessageSource;
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = customResourceBundleMessageSource;
messageSource.setBasename("messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver acceptHeaderLocaleResolver = new AcceptHeaderLocaleResolver();
acceptHeaderLocaleResolver.setDefaultLocale(Locale.US);
return acceptHeaderLocaleResolver;
}
}
렌더링된 html은 요청헤더의 언어 우선순위에 따라 다르게 표현된다.
logoText=CODELIKE
hello=Welcome to {0}{1}
사이트 이름: <span th:text="#{logoText}"></span>
<hr>
<span th:text="#{hello(#{logoText}, '!!')}"></span>
마치 함수처렁 properties파일의 속성에 접근해서 인자를 넣어준 것이 가능하다.