NAME

CQCC::MsgCat_English - Message catalog for CQCC integration


CLASS DESCRIPTION

This class is subclass of CQCC::MsgCat which provides all the user visible messages needed by the standard CQCC integration in the form of message catalog entries. These will be used by called to the IOPrompt(), IOMessage(), and IOListSelect methods to present user dialogs, messages, and menus.

In order to be used, the configuration file can ask for this class (default) or an alternate translation as shown below:

    &SetConfigParm("MsgCatInterface", "CQCC::MsgCat_English");

Message prefixes indicate the class that uses the message and its type:

    CC (CCase)
    CQ (CQuest), CQP (CQPerlAPI), CQS (CQSchema), CQW (CQWeb)
    IO (IOBase), IOC (IOClearPrompt)
    PM (Parm)
    TBASE (TriggerBase), TCQCC (TriggerCQCC), TTEST (TriggerTest)

Types: E(rror), I(nfo), M(enu), P(rompt)

Translations of this catalog should be done by following these steps:

1) Make a copy of this file, naming it MsgCat_<language>.pm where <language> is the name of the target language.

2) Inside the copy, replace all instances of MsgCat_English with MsgCat_<language>.

3) Translate the yes and no strings in the Initialize function. These strings are embedded into the AddMsg calls later.

4) In the copy, edit each &AddMsg call to change only the third parameter. The %s markers indicate where the arguments (second paramater list) will be placed. Do not change the order of these. Do NOT add double-quotes (``) within the body of the messages.

   Note: Some messages are information about the config.pl parameters
   and are not yet used in the integration. These are less important.
   See the config.pl file for more information.

5) Test the translation printout as follows:

   Look for syntactic errors:
      cqperl -cw -I.. MsgCat_<language>.pm 

   Review the output of the messages with arguments placeholders.
      cqcc_launch CQCC/config.pl -op classtest 
         CQCC::MsgCat_<language>

5) Modify the config file (CQCC/config.pl) to use the new translation:

   &SetConfigParm("MessageCatalogInterface", 
       "CQCC::MsgCat_<language>");
   Use local environment variables if desired to set the message 
   catalog.

SUPPORT POLICY: See TriggerCQCC.pm for the Rational Support Policy.


METHODS

ClassTest(@args)
This function creates a message catalog instance by calling IOClassFactory(), calls the super classes SelfTest() method, then runs additional tests specific to this set of messages to ensure we are able to look up messages and handle error conditions properly.

Initialize()
This method is used to load the message catalog with tagged entries and their arguments. Each message uses AddMsg() to add the msg tag value, arglist and catalog entries to local hashlists that will be stored into the object after the initialization is complete by the new method.

new CQCC::MsgCat_English()
This constructor calls the super classes new function then its own Initialize() method in order to load the message catalog.