I18n в весенний ботинок + Thymeleaf

Я пытаюсь сделать мультиязычное приложение, используя Spring boot и Thymeleaf.

Я сделал несколько файлов свойств, чтобы сохранить разные сообщения, но я могу отображать их только на языке браузера (я пробовал расширения для изменения локали браузера, но они, похоже, не работают), в любом случае я хотел добавить кнопку на свой веб-сайт выполнять эту обязанность (смена языка), но я не знаю, как и где найти, как это сделать.

Собираюсь показать мой конфиг:

Структура проекта

Класс конфигурации I18n
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
@EnableWebMvc
public class I18nConfiguration extends WebMvcConfigurerAdapter {

    @Bean
    public MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("i18n/messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }

}
HTML-страница Thymleaf
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
    th:with="lang=${#locale.language}" th:lang="${lang}">

<head>
<title>Spring Boot and Thymeleaf example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <h3>Spring Boot and Thymeleaf</h3>
    <p>Hello World!</p>
    <p th:text="${nombre}"></p>
    <h1 th:text="#{hello.world}">FooBar</h1>
</body>
</html>
Сообщения (файлы свойств)

messages_en_US.properties

hello.world = Hello people

messages_es.properties

hello.world = Hola gente

На самом деле сообщение отображается на испанском языке, не знаю, как бы я изменил это, так что если вы могли бы помочь мне большое спасибо.

Есть еще один вопрос, который приходит мне в голову ... Как бы я получить сообщения из базы данных, а не из файла свойств?

Ответы на вопрос(1)

Ваш ответ на вопрос