getMessage method
Retrieve a message for the given code.
Parameters:
code
: The message code to look upargs
: Optional arguments for placeholder substitutionlocale
: Optional locale for message resolution
Returns the resolved message string, or the code itself if not found.
Example:
// Simple message
final msg1 = getMessage('hello'); // "Hello"
// Message with parameters
final msg2 = getMessage('welcome', args: ['Alice']); // "Welcome Alice!"
// Message for specific locale
final msg3 = getMessage('hello', locale: Locale('es')); // "Hola"
Implementation
@override
String getMessage(String code, {List<Object>? args, Locale? locale, String? defaultMessage}) {
final targetLocale = locale ?? _defaultLocale;
// Try to resolve message with fallback chain
String? message = _resolveMessageWithFallback(code, targetLocale);
// If not found, use defaultMessage if provided, else fall back to code
message ??= defaultMessage ?? code;
// Apply placeholder substitution if args provided
if (args != null && args.isNotEmpty) {
message = formatMessage(message, args);
}
return message;
}