Я использую Thymeleaf с Spring Boot 2.

Можно ли вместо файлов * .properties предоставить источники (переводы) сообщений в формате YAML / JSON?

0
Sebastian Dusza 25 Июн 2020 в 23:58

1 ответ

Лучший ответ

Да, вы можете сделать это, расширив класс AbstractMessageSource. вот пример, который вы можете использовать в качестве отправной точки:

@Component("messageSource")
public class JsonMessageSource extends AbstractMessageSource {

    private static final String DEFAULT_LOCALE_CODE = "en";
    @Override
    protected MessageFormat resolveCode(String key, Locale locale) {
        String message = resolveUsingJsonOrYaml(key,locale); //you have to implement this this
    if (message == null) {
        message = resolveUsingJsonOrYaml(key,DEFAULT_LOCALE_CODE);
    }
    return new MessageFormat(message, locale);
    }
}
2
stacker 25 Июн 2020 в 21:58