/** * Create a MessageSource for the given basename, * to be used as MessageSource for the corresponding theme. * <p>Default implementation creates a ResourceBundleMessageSource. * for the given basename. A subclass could create a specifically * configured ReloadableResourceBundleMessageSource, for example. * @param basename the basename to create a MessageSource for * @return the MessageSource * @see org.springframework.context.support.ResourceBundleMessageSource * @see org.springframework.context.support.ReloadableResourceBundleMessageSource */ protected MessageSource createMessageSource(String basename) { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename(basename); if (this.defaultEncoding != null) { messageSource.setDefaultEncoding(this.defaultEncoding); } if (this.fallbackToSystemLocale != null) { messageSource.setFallbackToSystemLocale(this.fallbackToSystemLocale); } if (this.beanClassLoader != null) { messageSource.setBeanClassLoader(this.beanClassLoader); } return messageSource; }
/** * Create a MessageSource for the given basename, * to be used as MessageSource for the corresponding theme. * <p>Default implementation creates a ResourceBundleMessageSource. * for the given basename. A subclass could create a specifically * configured ReloadableResourceBundleMessageSource, for example. * @param basename the basename to create a MessageSource for * @return the MessageSource * @see org.springframework.context.support.ResourceBundleMessageSource * @see org.springframework.context.support.ReloadableResourceBundleMessageSource */ protected MessageSource createMessageSource(String basename) { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename(basename); if (this.defaultEncoding != null) { messageSource.setDefaultEncoding(this.defaultEncoding); } if (this.fallbackToSystemLocale != null) { messageSource.setFallbackToSystemLocale(this.fallbackToSystemLocale); } if (this.beanClassLoader != null) { messageSource.setBeanClassLoader(this.beanClassLoader); } return messageSource; }
@Test public void testResourceBundleMessageSourceWithInappropriateDefaultCharset() { ResourceBundleMessageSource ms = new ResourceBundleMessageSource(); ms.setBasename("org/springframework/context/support/messages"); ms.setDefaultEncoding("argh"); ms.setFallbackToSystemLocale(false); try { ms.getMessage("code1", null, Locale.ENGLISH); fail("Should have thrown NoSuchMessageException"); } catch (NoSuchMessageException ex) { // expected } }
@PostConstruct public void init() throws TemplateModelException { configureFreeMarker(); // default is true, which fallback to system locale, so if // system locale is jp. fallback bundle file will be messages_jp.properties, not // messages.properties. This behavior is not what we want. so disable it. messageSource.setFallbackToSystemLocale(false); }
@Bean public MessageSource messageSource() { ResourceBundleMessageSource ret = new ResourceBundleMessageSource(); ret.setFallbackToSystemLocale(false); ret.setBasename("cards/text"); return ret; }
@Bean public MessageSource messageSource() { ResourceBundleMessageSource ret = new ResourceBundleMessageSource(); ret.setFallbackToSystemLocale(false); ret.setBasename("cards/text"); return ret; }
private ResourceBundleMessageSource buildSource(String basename, ClassLoader classLoader) { ResourceBundleMessageSource source = new CachedResourceBundleMessageSource(); source.setDefaultEncoding(StandardCharsets.UTF_8.name()); source.setFallbackToSystemLocale(false); source.setBasename(basename); if (classLoader == null) { classLoader = LocalizationServiceImpl.class.getClassLoader(); } source.setBundleClassLoader(classLoader); return source; }
/** * */ @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages/messages", "messages/metatron_security_messages"); messageSource.setFallbackToSystemLocale(false); messageSource.setCacheSeconds(100000); messageSource.setDefaultEncoding("UTF-8"); return messageSource; }
@Bean(name = "messageSource") public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("/i18n/messages"); messageSource.setFallbackToSystemLocale(false); messageSource.setCacheSeconds(0); messageSource.setDefaultEncoding("UTF-8"); return messageSource; }
@Before public void mailSetup() { configuration = new Configuration(Configuration.VERSION_2_3_21); configuration.setDefaultEncoding("UTF-8"); configuration.setTemplateLoader(new ClassTemplateLoader(MailComposer.class, "/mail")); //keep config same as application.yml and WebConfiguration.java messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("i18n/messages"); messageSource.setDefaultEncoding("UTF-8"); messageSource.setFallbackToSystemLocale(false); } }
/** * Create a MessageSource for the given basename, * to be used as MessageSource for the corresponding theme. * <p>Default implementation creates a ResourceBundleMessageSource. * for the given basename. A subclass could create a specifically * configured ReloadableResourceBundleMessageSource, for example. * @param basename the basename to create a MessageSource for * @return the MessageSource * @see org.springframework.context.support.ResourceBundleMessageSource * @see org.springframework.context.support.ReloadableResourceBundleMessageSource */ protected MessageSource createMessageSource(String basename) { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename(basename); if (this.defaultEncoding != null) { messageSource.setDefaultEncoding(this.defaultEncoding); } if (this.fallbackToSystemLocale != null) { messageSource.setFallbackToSystemLocale(this.fallbackToSystemLocale); } if (this.beanClassLoader != null) { messageSource.setBeanClassLoader(this.beanClassLoader); } return messageSource; }
@Bean @Primary public MessageSource messageSource( BlossomReloadableResourceBundleMessageSource parentMmessageSource) { MessageSourceProperties properties = messageSourceProperties(); ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (StringUtils.hasText(properties.getBasename())) { messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray( StringUtils.trimAllWhitespace(properties.getBasename()))); } if (properties.getEncoding() != null) { messageSource.setDefaultEncoding(properties.getEncoding().name()); } messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); Duration cacheDuration = properties.getCacheDuration(); messageSource.setCacheSeconds( cacheDuration == null ? -1 : (int) cacheDuration.getSeconds()); messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); messageSource.setParentMessageSource(parentMmessageSource); return messageSource; }
@Bean public MessageSource messageSource() { MessageSourceProperties properties = messageSourceProperties(); ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (StringUtils.hasText(properties.getBasename())) { messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray( StringUtils.trimAllWhitespace(properties.getBasename()))); } if (properties.getEncoding() != null) { messageSource.setDefaultEncoding(properties.getEncoding().name()); } messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); Duration cacheDuration = properties.getCacheDuration(); if (cacheDuration != null) { messageSource.setCacheMillis(cacheDuration.toMillis()); } messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); return messageSource; }
@Bean public MessageSource messageSource(ApplicationContext applicationContext) { MessageSourceProperties properties = messageSourceProperties(applicationContext); ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (StringUtils.hasText(properties.getBasename())) { messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray( StringUtils.trimAllWhitespace(properties.getBasename()))); } if (properties.getEncoding() != null) { messageSource.setDefaultEncoding(properties.getEncoding().name()); } messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); Duration cacheDuration = properties.getCacheDuration(); if (cacheDuration != null) { messageSource.setCacheMillis(cacheDuration.toMillis()); } messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); return messageSource; }