setMessageSource abstract method
Sets the MessageSource used for resolving internationalized messages.
The message source provides internationalization (i18n) capabilities for applications that need to support multiple languages and locales.
Message Source Features:
- Parameterized Messages: Support for placeholders and arguments
- Locale Resolution: Automatic locale detection and fallback
- Hierarchical Sources: Parent-child message source relationships
- Reloadable Bundles: Hot-reload of message bundles in development
Example:
// Set up a resource bundle message source
final messageSource = ResourceBundleMessageSource();
messageSource.setBasename('messages');
messageSource.setDefaultEncoding('UTF-8');
messageSource.setCacheSeconds(300); // Cache for 5 minutes
context.setMessageSource(messageSource);
// Usage in application components
class InternationalizedService {
final MessageSource messageSource;
InternationalizedService(this.messageSource);
String getWelcomeMessage(String username, Locale locale) {
return messageSource.getMessage(
'welcome.message',
args: [username],
locale: locale,
defaultMessage: 'Welcome, $username!'
);
}
}
Implementation
void setMessageSource(MessageSource messageSource);