не находит messages_XX.properties - PullRequest
0 голосов
/ 04 января 2019

У меня есть приложение, остающееся в Springboot, и мне нужны несколько языков. Приложение находит messages.properties, но не messages_es.properties.

Мой код: В приложении. Свойства

spring.messages.basename=i18n/messages

В контроллере

messageSource.getMessage("message.forgotSubject", null, new Locale(lang))

если lang is es, то же самое. Если я удаляю messages.properties, ошибка не найдена под кодом

'message.forgotSubject' для локали 'es'. ",

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Я нашел решение. Это не в приложении. Свойства. Я сделал

@Configuration
public class CustomLocaleResolver {
   @Bean
   public ResourceBundleMessageSource messageSource() {
    ResourceBundleMessageSource rs = new ResourceBundleMessageSource();
    rs.setBasename("i18n/messages");
    rs.setDefaultEncoding("UTF-8");
    rs.setUseCodeAsDefaultMessage(true);
    return rs;
  }
}

А я пользуюсь

@Autowired   
private MessageSource messageSource;

messageSource.getMessage("message.salutation", null, new Locale(lang)

Спасибо

0 голосов
/ 04 января 2019

Вы устанавливаете spring.messages.basename = i18n / messages, поэтому ваш многоязычный файл свойств должен основывать messages.properties. Если вы удалите этот файл, базовое имя должно быть i18n / messages_es. Но если вы сделаете это, суффикс файла es будет не языком, а отдельным именем файла.

...