The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

CELL::Message - handle messages the user might see

VERSION

Version 0.065

SYNOPSIS

    use CELL::Message;

    # server messages: pass message code only, message text
    # will be localized to the site default language, if 
    # assertainable, or, failing that, in English
    my $message = CELL::Message->new( code => 'FOOBAR' )
    # and then we pass $message as an argument to 
    # CELL::Status->new

    # client messages: pass message code and session id,
    # message text will be localized according to the user's language
    # preference setting
    my $message = CELL::Message->new( code => 'BARBAZ',
                                          session => $s_obj );
    $msg_to_display = $message->CELL::Message->text;

    # a message may call for one or more arguments. If so,
    # include an 'args' hash element in the call to 'new':
    args => [ 'FOO', 'BAR' ]
    # they will be included in the message text via a call to 
    # sprintf

EXPORTS AND PUBLIC METHODS

This module provides the following public functions and methods:

new - construct a CELL::Message object
text - get text of an existing object
max_size - get maximum size of a given message code

DESCRIPTION

A CELL::Message object is a reference to a hash containing some or all of the following keys (attributes):

code - message code (see below)
text - message text
language - message language (e.g., English)
max_size - maximum number of characters this message is guaranteed not to exceed (and will be truncated to fit into)
truncated - boolean value: text has been truncated or not

The information in the hash is sourced from two places: the $mesg hashref in this module (see "CONSTANTS") and the SQL database. The former is reserved for "system critical" messages, while the latter contains messages that users will come into contact with on a daily basis. System messages are English-only; only user messages are localizable.

CONSTANTS

@min_supp_lang)

The minimal list of supported languages, specified by their respective language tags (currently 'en-US' only).

See the W3C's "Language tags in HTML and XML" white paper for a detailed explanation of language tags:

    http://www.w3.org/International/articles/language-tags/

And see here for list of all language tags:

    http://www.langtag.net/registries/lsr-language.txt

$mesg

The CELL::Message module stores messages in a package variable, $mesg (which is a hashref).

FUNCTIONS AND METHODS

init

Load messages (keys and values) from the relevant configuration file(s). Be re-entrant.

new

Construct a message object. Takes a message code and, optionally, a reference to an array of arguments. Returns the object. See "SYNOPSIS".

code

Accessor method for the 'code' attribute.

args

Accessor method for the 'args' attribute.

text

Accessor method for the 'text' attribute. Returns content of 'text' attribute, or "<NO_TEXT>" if it can't find any content.