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.
Get or set the default locale. Defaults to en.
en
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).
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.
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.
Get or set the message's integer identifier.
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.
locale()
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.
localizer()
Asks the localizer to produce the localized version of the message text for the current locale and args. The localized text is returned.
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.
To install Rose::HTML::Objects, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Rose::HTML::Objects
CPAN shell
perl -MCPAN -e shell install Rose::HTML::Objects
For more information on module installation, please visit the detailed CPAN module installation guide.