Я хочу создать весеннее загрузочное веб-приложение с шаблонами усов, которое использует интернационализацию.
Следуя этому руководству https://www.baeldung.com/spring-boot-internationalization Я попробовал мини-пример с gradle и kotlin, который работает с шаблонами из тимьяна, но не работает для усов
Чтобы адаптировать руководство для усов, я сделал следующие изменения:
- переключатель
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
с
implementation 'org.springframework.boot:spring-boot-starter-mustache'
- переименовать international.html в international.mustache
поменять интернациональную усадьбу вот так
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>{{#i18n}}greeting{{/i18n}} test</h1>
</body>
</html>
Файл messages.properties содержит строку
greeting=Hello! Welcome to our website!
Просто чтобы предоставить весь необходимый код, вот мой класс конфигурации
@Configuration
@ComponentScan(basePackages = ["com.example.translationtest.config"])
class AppConfig: WebMvcConfigurer {
@Bean
fun localeResolver(): LocaleResolver {
val slr = SessionLocaleResolver()
slr.setDefaultLocale(Locale.US)
return slr
}
@Bean
fun localeChangeInterceptor(): LocaleChangeInterceptor {
val lci = LocaleChangeInterceptor()
lci.paramName = "lang"
return lci
}
override fun addInterceptors(registry: InterceptorRegistry) {
registry.addInterceptor(localeChangeInterceptor())
}
}
Когда я захожу на страницу в браузере, я вижу только строку test
Хотя я бы ожидал увидеть
Hello! Welcome to our website! test