Rose::HTML::Object::Message::Localized - Localized message object.
use Rose::HTML::Form::Field::Integer;
Rose::HTML::Form::Field::Integer->load_all_messages;
use Rose::HTML::Object::Messages qw(NUM_INVALID_INTEGER);
$localizer = Rose::HTML::Object->default_localizer;
$msg =
Rose::HTML::Object::Message::Localized->new(
localizer => $localizer,
id => NUM_INVALID_INTEGER,
args => { label => 'XYZ' });
print $msg->localized_text; # XYZ must be an integer.
$msg->locale('fr');
print $msg->localized_text; # XYZ doit être un entier.
Rose::HTML::Object::Message::Localized objects encapsulate a localized text
message with an integer id and an optional set of name/value pairs to be used
to fill in any placeholders in the message text.
This class inherits from Rose::HTML::Object::Message. See the
Rose::HTML::Object::Message documentation for more information.
Stringification is overloaded to call the localized_text method. In numeric and
boolean contexts, Rose::HTML::Object::Message::Localized objects always
evaluate to true.
- default_locale [LOCALE]
- Get or set the default locale. Defaults to
"en".
- default_localizer [LOCALIZER]
- Get or set the default Rose::HTML::Object::Message::Localizer-derived
localizer object. Defaults to the default_localizer of the generic object
class for this HTML object class hierarchy (Rose::HTML::Object, by
default).
- new [ PARAMS | TEXT ]
- Constructs a new Rose::HTML::Object::Message::Localized object. If a
single argument is passed, it is taken as the value for the text
parameter. Otherwise, PARAMS name/value pairs are expected. Any object
method is a valid parameter name.
- args [ PARAMS | HASHREF ]
- Get or set the name/value pairs to be used to fill in any placeholders in
the localized message text. To set, pass a list of name/value pairs or a
reference to a hash of name/value pairs. Values must be strings, code
references, or references to arrays of strings or code references. Code
references are evaluated each time a message with placeholders is
constructed.
See the LOCALIZED TEXT section of the
Rose::HTML::Object::Message::Localizer documentation for more
information on message text placeholders.
- id [INT]
- Get or set the message's integer identifier.
- locale [LOCALE]
- Get or set the locale string for this message. If no locale is set but a
parent is defined and has a locale, then the parent's
"locale()" is returned. If the parent
doesn't exist or has no locale set, the default_locale is returned.
- localizer [LOCALIZER]
- Get or set the Rose::HTML::Object::Message::Localizer-derived object used
to localize message text. If no localizer is set but a parent is defined,
then the parent's "localizer()" is
returned. Otherwise, the default_localizer is returned.
- localized_text
- Asks the localizer to produce the localized version of the message text
for the current locale and args. The localized text is returned.
- parent [OBJECT]
- Get or set a weakened reference to a parent object. This parent must have
a "localizer()" method that returns a
Rose::HTML::Object::Message::Localizer-derived object and a
"locale()" method that returns a locale
string.
John C. Siracusa (siracusa@gmail.com)
Copyright (c) 2010 by John C. Siracusa. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same terms
as Perl itself.