-- Copyright (C) Xerox Corporation 1985, 1986. All rights reserved.
-- PSExecMessagesImpl.mesa
-- Last edited by Jacks 29-Jul-86 17:20:31

DIRECTORY
  PSExecMessages USING [Key, totalKeys],
  PSKMessages USING [Name],
  XMessage USING [
    AllocateMessages, Handle, Messages, MsgEntry, MsgID, RegisterMessages],
  XString USING [FromSTRING];
  
PSExecMessagesImpl: PROGRAM
  IMPORTS PSKMessages, XMessage, XString
  EXPORTS PSExecMessages =
  BEGIN
  <<IF a message file is not found, there are too many messages in 
  PSExecMessages to be defined in one array and registered at one time.
  Therefore, I am breaking PSExecMessages into segments to be 
  registered separately.>>
  
  segmentOneFirstKey: CARDINAL = ORD[FIRST[PSExecMessages.Key]];
  segmentOneLastKey: CARDINAL = ORD[PSExecMessages.Key[mUnreadableName]];
  segmentOneSize: CARDINAL = segmentOneLastKey - segmentOneFirstKey + 1;
  
  segmentTwoFirstKey: CARDINAL = ORD[PSExecMessages.Key[mInstallFromFloppy]];
  segmentTwoLastKey: CARDINAL = ORD[PSExecMessages.Key[mFull]];
  segmentTwoSize: CARDINAL = segmentTwoLastKey - segmentTwoFirstKey + 1;
  
  segmentThreeFirstKey: CARDINAL = ORD[PSExecMessages.Key[mSelect]];
  segmentThreeLastKey: CARDINAL = ORD[LAST[PSExecMessages.Key]];
  segmentThreeSize: CARDINAL = segmentThreeLastKey - segmentThreeFirstKey + 1;
  
  ExecMsgEntry: TYPE = RECORD [
    key: PSExecMessages.Key,
    msg: LONG STRING,
    id: XMessage.MsgID,
    translatable: BOOLEAN ← TRUE];
  
  InitMessages: PUBLIC PROCEDURE RETURNS [execMsgs: XMessage.Handle] =
    BEGIN
    execMsgs ← XMessage.AllocateMessages[
      applicationName: PSKMessages.Name[exec], 
      maxMessages: PSExecMessages.totalKeys,
      clientData: NIL, proc: NIL];
    RegisterSegmentOne[execMsgs];
    RegisterSegmentTwo[execMsgs];
    RegisterSegmentThree[execMsgs];
    END; -- of InitMessages
    
  RegisterSegmentOne: PROCEDURE [execMsgs: XMessage.Handle] =
    BEGIN
    entries: ARRAY [0..segmentOneSize) OF ExecMsgEntry = [
      -- PRINT SERVICE NAME STRING
      -- Used by the PrintSDF file.
      -- This key must be the first key in the domain because it's value (0)
      -- is hardcoded in PrintSDFImpl.mesa.
      [mPrintService, "Print Service"L, 5],
      
      -- INITIALIZATION MESSAGES
      [mPrompt, "PS"L, 7],
      [mSpecifyOption, "Specify printing option"L, 10],
      [mSpecifyNonNormalOption, "Specify non-normal startup options"L, 11],
      [mConfigure, "Change configuration"L, 12],
      [mDeleteBackingFiles, "Delete backing files"L, 13],
      [mConfirmDeleteBackingFiles, "Ready to delete all Print Service backing files, including print queue data"L, 14],
      [mSpecifyRavenBuild, "Specify printer version"L, 15],
      [mConfirmOption, 
        "Please confirm that printing option be changed to <1>"L, 20],
      [mNotSupported, "The <1> is not currently supported."L, 25],
      [mAnotherSelection, "Please make another selection."L, 30],
      [mDeletingFiles, "Deleting files..."L, 31],
      [mStopAll, "Stop queuing and printing"L, 32],
      [mCannotRunPS, "Cannot run Print Service."L, 34],
      [mPSNotProductFactored, 
        "No Print Service software options enabled."L, 35],
      [mNoPrintingOptionSoftware, 
        "No Print Service printing option software installed."L, 36],
      [mOptionsNotProductFactored, 
        "No Print Service printing option software installed for the currently enabled software options."L, 37],
      [mDeleteOldFonts, 
        "Any fonts installed for <1> will be deleted."L, 40],
      [mCheckFonts, "CHECK THAT FONTS HAVE BEEN INSTALLED"L, 45],
      [mSetTarget, "PLEASE SET TARGET PRINT SERVICE"L, 50],
      [mSetTargetAndCheckFonts, 
        "SET TARGET PRINT SERVICE AND CHECK FONTS"L, 55],
      [mAbnormalStartup, "User specified non-normal PS startup"L, 60],
      [mUnableToCatalogFonts, "  ** Unable to catalog fonts because of test pattern in progress.  Use the Start Printing command after test pattern completes."L, 62],
      [mSystemControl, "System Control"L, 65], --duplicated in ControlMessages
      [mMemoryNotAvailable, "Required memory is not available."L, 66],
      [mMemoryInUse, "Required memory already allocated to another incompatible function."L, 67],
      [mActivate, "Please activate Print Service and reboot server."L, 68],
      [mContinueToRun, "Continue to run <1>?"L, 71],
      [mNotRun, "<1> not run."L, 72],
      [mRetainParameters, "Retain current system parameters?"L, 75],
      [mBandBuffersPrompt, "Number of band buffers (normal value is <1>; each band buffer is <2> pages)"L, 76],
      [mDecomposeWhileMarkingPrompt, "Decompose while marking?"L, 77],
      [mSpoolWhileMarkingPrompt, "Allow spooling while marking?"L, 78],
      [mRMLimitPrompt, "RM page limit observed by decomposer"L, 79],
      [mVMLimitPrompt, "VM pages reserved by decomposer"L, 80],
      [mDeleteObsoleteFonts, "Delete fonts and test patterns incompatible with current printing option?"L, 81],
      [mUnlimitedPrintingPrompt, "Enable image gap reprinting?"L, 82],
      
      -- EXECUTIVE COMMAND MESSAGES
      -- Miscellaneous messages
      [mOneCommaTwo, "<1>, <2>"L, 115],
      [mQuestion, "??"L, 120],
      [mDone, "Done."L, 125],
      [mDoneExpanded, "Done<1>."L, 130],
      [mNull, ""L, 135],
      [mAsterisk, "*"L, 140],
      [mConfirm, "Please confirm"L, 145],
      [mConfirmExpanded, "Please confirm <1>"L, 150],
      [mCanceled, "Canceled."L, 155],
      [mNone, "None"L, 160],
      [mInvalidChoice, "Invalid Choice"L, 165],
      [mRetry, "Retrying..."L, 170],
      
      -- Command name strings
      [mListDocs, "List Documents"L, 215],
      [mCancelDoc, "Cancel Document"L, 220],
      [mStart, "Start"L, 225],
      [mStop, "Stop"L, 230],
      [mStartSpooling, "Start Queuing"L, 235],
      [mStopSpooling, "Stop Queuing"L, 240],
      [mStartPrinting, "Start Printing"L, 245],
      [mStopPrinting, "Stop Printing"L, 250],
      [mStartDiagnostic, "Start Diagnostic"L, 255],
      [mStartPrintService, "Start Print Service"L, 260],
      [mWakeupRaven, "Wakeup Printer"L, 265],
      [mShutdownRaven, "Shutdown Printer"L, 270],
      [mGetDisplay, "Get Printer Display"L, 275],
      [mPutDisplay, "Put Printer Display"L, 280],
      [mSetTargetPS, "Set Target Print Service"L, 285],
      [mSetParameters, "Set Parameters"L, 290],
      [mSetBanner, "Set Banner"L, 295],
      [mResetStats, "Reset Statistics"L, 300],
      [mRenamePrintService, "Rename Print Service"L, 305],
      [mShowStatus, "Show Status"L, 310],
      [mQueryTargetPS, "Query Target Print Service"L, 315],
      [mInstallFonts, "Install From Floppy"L, 320],
      [mListFonts, "List Fonts"L, 325],
      [mListTPs, "List Test Patterns"L, 330],
      [mDeleteFonts, "Delete Font"L, 335],
      [mDeleteTPs, "Delete Test Pattern"L, 340],
      [mPrintTP, "Print Test Pattern"L, 345],
      [mSetTrace, "Set Trace"L, 358],
      
      -- Document-related command messages
      [mDocList, 
        "Sent By                Document Status         Document Name              Pages"L, 395],
      [mDocListTerse, "  <1> (<2>)"L, 400],
      [mFaxDocList, 
        "  Transmit Status                 Destination            Date Time   Phone Time"L, 405],
      [mDocsListed, "<1> document(s) listed."L, 410],
      [mDocsCanceled, "  <1> document(s) canceled."L, 415],
      [mAllDocs, "All documents"L, 420],
      [mMarkingDoc, "Printing document"L, 425],
      [mForwardingDoc, "Forwarding document"L, 430],
      [mFormatDoc, "Formatting document"L, 435],
      [mInProgDocs, "Documents being processed"L, 440],
      [mQdDocs, "Queued documents"L, 445],
      [mCompDocs, "Completed documents"L, 450],
      [mUnCompDocs, "All uncompleted documents"L, 455],
      [mSpooling, "Being received"L, 460],
      [mSpooled, "Queued"L, 465],
      [mRequeued, "Requeued"L, 470],
      [mBeingFormatted, "Being formatted"L, 475],
      [mDecomposed, "Formatted"L, 480],
      [mBeingPrinted, "Being printed"L, 485],
      [mPrinted, "Printed"L, 490], --duplicated in ControlMessages
      [mBeingForwarded, "Being forwarded"L, 495],
      [mForwarded, "Forwarded"L, 500],
      [mSpoolFailure, "Queue failure"L, 505],
      [mDecomposeFailure, "Format failure"L, 510],
      [mMarkFailure, "Print failure"L, 515],
      [mForwardFailure, "Forwarding failure"L, 520],
      [mCanceledInQueue, "Canceled in queue"L, 525],
      [mCanceledInDecomposer, "Canceled in formatter"L, 530],
      [mCanceledInMarker, "Canceled at printer"L, 535],
      [mCanceledInForwarder, "Canceled in forwarder"L, 540],
      [mSysRestartInQueue, "Purged from queue"L, 545],
      [mSysRestartInSpooler, "Purged from receiving queue"L, 550],
      [mSysRestartInDecomposer, "Purged from formatter"L, 555],
      [mSysRestartInMarker, "Purged from printer"L, 560],
      [mSysRestartInForwarder, "Canceled in forwarder"L, 565],
      [mLocal, "Local"L, 570],
      [mPending, "Pending"L, 575],
      [mInProgress, "In progress"L, 580],
      [mCompleted, "Completed"L, 585],
      [mBeingTransmitted, "Being transmitted"L, 590],
      [mTransmitted, "Transmitted"L, 595], --duplicated in ControlMessages
      [mNoAnswer, "No answer"L, 600], --duplicated in ControlMessages
      [mTransmitError, "Transmit error (<1>)"L, 605], --almost duplicated in ControlMessages
      [mShortXmitError, "Transmit error(<1>)"L, 606],
      [mWillRetry, "<1>-will retry"L, 610],
      [mBadPhoneNo, "Invalid phone number"L, 615],
      [mFaxFailure, "Local fax failure (<1>)"L, 620], --almost duplicated in ControlMessages
      [mShortFaxFailure, "Fax failure(<1>)"L, 621],
      [mAborted, "Aborted"L, 625], --duplicated in ControlMessages
      [mAnonymous, "<Anonymous>"L, 630],
      [mPhoneTime, "<1>:<2>"L, 635],
      [mUnreadableName, "?? (Unreadable name)"L, 640] --Update segmentOneLastKey above
      ];
      
    messages: ARRAY [0..segmentOneSize) OF XMessage.MsgEntry;  
    FOR i: CARDINAL IN [0..segmentOneSize) DO
      messages[i] ← [
        msgKey: ORD[entries[i].key], msg: XString.FromSTRING[entries[i].msg],
        translationNote: NIL, translatable: entries[i].translatable, 
	type: userMsg, id: entries[i].id];
      ENDLOOP;
    XMessage.RegisterMessages[
      h: execMsgs, messages: DESCRIPTOR[messages], stringBodiesAreReal: FALSE];
    END;  -- of RegisterSegmentOne
    
  RegisterSegmentTwo: PROCEDURE [execMsgs: XMessage.Handle] =
    BEGIN
    entries: ARRAY [0..segmentTwoSize) OF ExecMsgEntry = [
      
      -- EXECUTIVE COMMAND MESSAGES, cont.
      -- Font/file/test pattern/floppy-related messages
      [mInstallFromFloppy, "Install from Floppy: "L, 735], --Update segmentTwoFirstKey above
      [mFilesInstalled, " file(s) installed from <1>."L, 740],
      [mInstallFile, "Install <1> <2>"L, 745],
      [mFloppyNew, "(New)"L, 750],
      [mFloppyNewer, "(Newer)"L, 755],
      [mFloppySame, "(Same Version)"L, 760],
      [mFloppyOlder, "(Older)"L, 765],
      [mInstalling, "Installing <1>..."L, 770],
      [mFloppyFileCreated, "File version on floppy: <1>"L, 775],
      [mRDFileCreated, "File version on Print Server: <1>"L, 780],
      [mFloppyPleaseRemoveAndInsert, 
        "  Please remove floppy disk and insert <1> into reader."L, 785],
      [mInsertFloppy, "Please insert floppy, type Y when ready."L, 790],
      [mFloppyError, "  ** Floppy error: <1>"L, 795],
      [mFloppyErrBadDisk, "Bad disk."L, 800],
      [mFloppyErrBadSectors, "Bad sectors."L, 805],
      [mFloppyErrHardware, "Hardware."L, 810],
      [mFloppyErrInvalidVolumeHandle, "Invalid volume handle."L, 815],
      [mFloppyErrNeedsScavenging, "Needs scavenging."L, 820],
      [mFloppyErrNoSuchDrive, "No such drive."L, 825],
      [mFloppyErrNotReady, "Not ready."L, 830],
      [mFloppyErrStringTooShort, "String too short."L, 835],
      [mFloppyErrVolumeNotOpen, "Volume not open."L, 840],
      [mFloppyErrInsufficientVolSpace, "Insufficient volume space."L, 845],
      [mFloppyErrUnknown, "Unknown."L, 850],
      [mFloppyReadError, "  ** Floppy read error."L, 855],
      [mFloppyScriptError, "*** Font script error."L, 860],
      [mFloppyCreateFileError, "Create font file error."L, 865],
      [mFloppyFileError, "File error."L, 870],
      [mFloppyDone, " done."L, 875],
      [mFloppyIncompleteScript, "*** Incomplete font script."L, 880],
      [mFloppyNotFilePiece, "*** <1> is not a file piece."L, 885],
      [mFloppyCanceled, "*** Canceled."L, 890],
      [mBadFontFileType, 
        "Font file ""<1>"" is incompatible with current printing option."L, 895],
      [mPleaseStopPrinting, 
        "Please Stop Printing to <1> and Start Printing when done."L, 900],
      [mDocInProgress, "    ** Document in progress!"L, 901],
      [mFontList, "  <1> (<2> pages, created <3>)"L, 905],
      [mFontsListed, "  <1> font(s) listed."L, 910],
      [mTPsListed, "  <1> test pattern(s) listed."L, 915],
      [mDeletePrompt, "Delete <1>"L, 920],
      [mDeleting, "Deleting <1> ..."L, 925],
      [mFontsDeleted, "  <1> font(s) deleted."L, 930],
      [mFilesDeleted, "  <1> file(s) deleted."L, 935],
      [mTPsDeleted, "  <1> test pattern(s) deleted."L, 940],
      [mEnterCopyC, "Enter copy count"L, 945],
      [mSelPaperSizeForTestPat, "Specify paper size"L, 950],
      [mLocalPrint, "Local print?"L, 955],
      [mRemotePrint, "Remote print?"L, 960],
      [mEnterPhoneNo, "Enter telephone number"L, 965],
      [mTPQueued, "  Test Pattern queued for printing."L, 970],
      [mTPNotavailable, "**Test Pattern not available."L, 975],
      [mCantQueueTP, "**Can't queue Test Pattern."L, 980],
      [mNoTPs, "**No test patterns found."L, 985],
      [mInvalidPhoneNo, "Telephone number is not valid; "L, 990],
      
      -- Print Service status command messages
      [mStatusHerald, "  Print Service ""<1>"" <2>"L, 1090],
      [mStarted, "started"L, 1095],
      [mStopped, "stopped"L, 1100],
      [mRepairMode, "is in repair mode"L, 1105],
      [mDiagMode, "is in diagnostic mode"L, 1110],
      [mInstalled, "  Installed <1>"L, 1115],
      [mServerBooted, "  Last booted <1>"L, 1120],
      [mQueuingStartedBy, "  Queuing started by: <1>"L, 1125],
      [mPrintingStartedBy, "  Printing started by: <1>"L, 1130],
      [mQueuingStoppedBy, "  Queuing stopped by: <1>  <2>"L, 1135],
      [mPrintingStoppedBy, "  Printing stopped by: <1>  <2>"L, 1140],
      [mQueuingPreempted, "  Queuing preempted"L, 1145],
      [mPrintingPreempted, "  Printing preempted"L, 1150],
      [mTimesRebooted, "<1>; Times rebooted = <2>"L, 1155],
      [mLastActivity, "  Last activity <1>"L, 1160],
      [mStatsReset, "  Statistics reset <1>"L, 1165],
      [mTotalVolumePages, 
        "  Total <1>volume pages = <2>; Free pages = <3>"L, 1170],
      [mUserVol, "user "L, 1175],
      [mSystemVol, "system "L, 1180],
      [mPagesAllocated, 
        "  Queue pages allocated = <1>; Font pages allocated = <2>"L, 1185],
      [mDocsPrinted, "  Documents printed: <1>"L, 1190],
      [mDocsTransmitted, "  Documents transmitted: <1>"L, 1200],
      [mDocsForwarded, "  Documents forwarded: <1>"L, 1205],
      [mDocsCanceledStat, 
        "  Documents aborted: <1>;  Total since reset: <2>"L, 1210],
      [mCommErrorsStat, 
        "  Queue failures: <1>;  Total since reset: <2>"L, 1215],
      [mTPRequests, 
        "  Test pattern requests: <1>;  Total since reset: <2>"L, 1220],
      [mRecoveryRetryRequests, 
        "  Recovery retry requests: <1>;  Total since reset: <2>"L, 1225],
      [mDocsPurgedAtRecovery, 
        "  Docs purged at recovery: <1>;  Total since reset: <2>"L, 1230],
      [mTotalSinceInstalled, "<1>;  Total since reset: <2>"L, 1235],
      -- Printing option specific status messages:
      [mPrintingOption, "  Printing option: <1>"L, 1240],
      [mRaven, "8040 Series Electronic Printer"L, 1245],
      [mFX3500, "Model-35 Electronic Printer"L, 1250],
      [mTC495, "Telecopier 495-1"L, 1255],
      [mBanshee, "NS 8000 Laser CP Electronic Printer"L, 1260], --duplicated in ControlMessages
      [mShortBanshee, "NS 8000 Laser CP"L, 1261],
      [mTC295, "Telecopier 295"L, 1265],
      [mFEPS, "Formatting Print Service"L, 1270],
      [mD1, "XP-9 Electronic Printer"L, 1275],
      [mRavenB1, "B1"L, 1280],
      [mRavenB2, "B2"L, 1285],
      [mPrinterStatus, "  Printer <1>; Status: <2>"L, 1290],
      [mBusy, "Busy"L, 1295], --duplicated in ControlMessages
      [mIdle, "Idle"L, 1300],
      [mUnlimitedPrinting, "  Image gap reprinting: <1>"L, 1392],
      [mTargetPS, "Target Print Service: <1>"L, 1305],
      [mForwardingActivity, "  Forwarding activity: <1>"L, 1310],
      [mRetrying, "In progress; Status = <1>"L, 1315],
      [mOperationalParms, "  Operational parameters: "L, 1320],
      [mUnknown, "UNKNOWN [<1>]"L, 1325],
      [mTargetNotSet, "Target Print Service not set."L, 1330],
      [mUnknownProblem, "Unknown problem."L, 1335], --duplicated in PrinterStatusMessages
      [mQueryError, "  ** Query unsuccessful: <1>."L, 1340],
      [mCHName, "Clearinghouse name: <1>"L, 1345],
      [mNetAddress, "Network address: <1>"L, 1350],
      [mSpooler, "Spooler: <1>"L, 1355],
      [mFormatter, "Formatter: <1>"L, 1360],
      [mPrinter, "Printer: <1>"L, 1365],
      [mPaper, "Paper size = <1>"L, 1370],
      [mTwoSidedCopy, "Two-sided copy = <1>"L, 1375],
      [mStapling, "Stapling = <1>"L, 1380],
      [mEnabled, "Enabled"L, 1389],
      [mDisabled, "Disabled"L, 1390],
      [mAvailable, "Available"L, 1395],
      [mUnavailable, "Unavailable"L, 1400],
      [mNeedsAttention, "Needs attention"L, 1405],
      [mNeedsKeyOperator, "Needs key operator"L, 1410],
      [mFull, "Full"L, 1415] --Update segmentTwoLastKey above
      ];
      
    messages: ARRAY [0..segmentTwoSize) OF XMessage.MsgEntry;  
    FOR i: CARDINAL IN [0..segmentTwoSize) DO
      messages[i] ← [
        msgKey: ORD[entries[i].key], msg: XString.FromSTRING[entries[i].msg],
        translationNote: NIL, translatable: entries[i].translatable, 
	type: userMsg, id: entries[i].id];
      ENDLOOP;
    XMessage.RegisterMessages[
      h: execMsgs, messages: DESCRIPTOR[messages], stringBodiesAreReal: FALSE];
    END;  -- of RegisterSegmentTwo
    
  RegisterSegmentThree: PROCEDURE [execMsgs: XMessage.Handle] =
    BEGIN
    entries: ARRAY [0..segmentThreeSize) OF ExecMsgEntry = [
      
      -- EXECUTIVE COMMAND MESSAGES, cont.
      -- Various parameter setting command messages
      [mSelect, "Select from"L, 1515], --Update segmentThreeFirstKey above
      [mExit, "Exit"L, 1520],
      [mPaperSize, "Paper size"L, 1525],
      [mSelTopPaper, "Specify top tray paper size"L, 1530],
      [mSelBottomPaper, "Specify bottom tray paper size"L, 1535],
      [mBottomTray, "bottom tray"L, 1540],
      [mTopTray, "top tray"L, 1545],
      [mBothTrays, "both trays"L, 1550],
      [mEnvelope, "Envelope"L, 1553],
      [mPostalCard, "Postal card"L, 1554],
      [mA4, "A4"L, 1555],
      [mA5, "A5"L, 1560],
      [mB4, "B4"L, 1565],
      [mB5, "B5"L, 1570],
      [mLegal, "8.5"" X 14"""L, 1575],
      [mLetter, "8.5"" X 11"""L, 1580],
      [mPaperSize2, "Paper size in <1> = <2>"L, 1585],
      [mFeed, "Feed"L, 1590],
      [mSpecifyFeedTray, "Specify feed tray"L, 1595],
      [mFromBottom, "From bottom"L, 1600],
      [mFromBottomBannerfromTop, "From bottom, banner from top"L, 1605],
      [mFromBottomorTop, "From bottom or top"L, 1610],
      [mFromTop, "From top"L, 1615],
      [mAlternateBottomAndTop, "Alternate bottom and top"L, 1620],
      [mAsAppropriate, "As appropriate"L, 1625],
      [mPaperFeed, "Paper feed = <1>"L, 1630],
      [mFromBottomBannerfromTopTray, 
        "From bottom, banner from top tray"L, 1635],
      [mFromBottomorTopTray, "From bottom or top tray"L, 1640],
      [mStacking, "Stacking"L, 1645],
      [mSpecifyOutputStackingMode, "Specify output stacking mode"L, 1650],
      [mAligned, "Aligned"L, 1655],
      [mCopyOffset, "Each copy offset"L, 1660],
      [mSetOfCopiesOffset, "Each set of copies offset"L, 1665],
      [mOutputStacking, "Output stacking = <1>"L, 1670],
      [mPrintOrder, "Print order"L, 1675],
      [mSpecifyOutputPrintOrder, "Specify output printing order"L, 1680],
      [mFirstPagePrintedFirst, "First page printed first"L, 1685],
      [mLastPagePrintedFirst, "Last page printed first"L, 1690],
      [mPrintOrder2, "Print order = <1>"L, 1695],
      [mBanner, "Banner"L, 1700],
      [mSelBanner, "Select banner sheet option"L, 1705],
      [mSelLocalBanner, "Select local banner sheet option"L, 1710],
      [mSelRemoteBanner, "Select remote banner sheet option"L, 1715],
      [mPerCopy, "Per copy"L, 1720],
      [mPerSetOfCopies, "Per set of copies"L, 1725],
      [mSuppressed, "Suppressed"L, 1730],
      [mBanner2, "Banner = <1>"L, 1735],
      [mLocalBanner, "Local banner = <1>"L, 1740],
      [mRemoteBanner, "Remote banner = <1>"L, 1745],
      [mRegistration, "Registration"L, 1750],
      [mSetLongAxisRegistration, 
        "Enter registration value for the long axis"L, 1755],
      [mSetShortAxisRegistration, 
        "Enter registration value for the short axis"L, 1760],
      [mLongAxisRegistration, "Long (X) axis registration = <1>"L, 1765],
      [mShortAxisRegistration, "Short (Y) axis registration = <1>"L, 1770],
      [mRetries, "Transmission retries"L, 1775],
      [mTransmissionRetries, "Transmission retries (<1>) = <2>"L, 1780],
      [mRetryDelay, "<1>, retry delay (minutes) = <2>"L, 1785],
      [mRetries2, "Retries in case of <1>"L, 1790],
      [mRetryInterval, "Retry interval in minutes"L, 1795],
      [mNoConnection, "no connection"L, 1800],
      [mTransmitFailure, "transmit failure"L, 1805],
      [mCopies, "Multiple copies"L, 1810],
      [mSelLocalDuplicate, "Select local duplicate copy option"L, 1815],
      [mSelRemoteDuplicate, "Select remote duplicate copy option"L, 1820],
      [mAllowed, "Allowed"L, 1825],
      [mLocalCopies, "Local duplicate copies = <1>"L, 1830],
      [mRemoteCopies, "Remote duplicate copies = <1>"L, 1835],
      [mSpecifyFaxPaperWidth, 
        "Specify 495-1 paper width supported"L, 1840],
      [mLetterLegalWidth, "8.5 inches (216 mm)"L, 1845],
      [mA4Width, "210 mm (8.3 inches)"L, 1850],
      [mSpecifyFaxResolution, 
        "Specify 495-1 transmission resolution supported"L, 1855],
      [mStandard, "Standard"L, 1860],
      [mFine, "Fine"L, 1865],
      -- Set Target Print Service command
      -- NOTE: May be able to remove CH error messages.
      [mEnterNameOrAddr, 
        "Enter clearinghouse name or network address"L, 1870],
      [mSetTargetWarning, 
        " ** Warning: Target Print Service did not respond to status request."L, 1875], -- duplicated in ControlMessages
      [mTargetAttrDefaulted, 
        " Paper size, two-sided copy and stapling attributes have been defaulted."L, 1880],
      [mUseCommand, 
        " Use the <1> command to get the correct attributes."L, 1885],
      [mCantReadData, "Problem reading data entered."L, 1890],
      [mCHLookupProblem, "Unexpected clearinghouse problem."L, 1895],
      [mCHAuthProblem, "Authentication problem."L, 1900],
      -- Put/Get Printer Display commands
      [mPrinterDisplay, "        Printer Display shows ""<1>"""L, 1905],
      [mDisplayChars, "Type two characters to display"L, 1910],
      
      -- Miscellaneous command messages
      [mPrintServerinRepairMode, 
        "Print Service in Repair Mode, do you still want to Stop?"L, 2040],
      [mEnterReason, "  Please enter reason"L, 2045],
      [mReason, "Reason: <1>"L, 2050],
      [mStartingPrinting, "  Starting Printing..."L, 2055],
      [mStoppingPrinting, "  Stopping Printing..."L, 2060],
      [mQueuingStarted, "  Queuing Started<1>."L, 2065],
      [mStoppingQueuing, "  Stopping Queuing..."L, 2070],
      [mCurrentlyPreempted, " (currently preempted)"L, 2075],
      [mDeleteOldName, "Delete old name..."L, 2080],
      [mAddNewName, "Add new name..."L, 2085],
      [mCheckClearinghouse, 
        "You may need to perform this operation manually at the Clearinghouse."L, 2090],
      [mProblems, "Problems encountered..."L, 2095],
      [mTryAgainLater, "Please try again later."L, 2100],
      [mBootForNameOnBanner, 
        "The new service name will not appear on the banner sheet until the server is rebooted."L, 2105],
      [mConflictingMode, 
        "    ** Cannot <1> because a conflicting operation is in progress."L, 2110],
      [mExpungeWarning, "Ready to delete all Print Service data, INCLUDING font files"L, 2115]
      ];
      
    messages: ARRAY [0..segmentThreeSize) OF XMessage.MsgEntry;  
    FOR i: CARDINAL IN [0..segmentThreeSize) DO
      messages[i] ← [
        msgKey: ORD[entries[i].key], msg: XString.FromSTRING[entries[i].msg],
        translationNote: NIL, translatable: entries[i].translatable, 
	type: userMsg, id: entries[i].id];
      ENDLOOP;
    XMessage.RegisterMessages[
      h: execMsgs, messages: DESCRIPTOR[messages], stringBodiesAreReal: FALSE];
    END;  -- of RegisterSegmentThree

  END.  -- of PSExecMessagesImpl
  
 LOG [when - who - what]
23-Jul-85 15:31:53 - Jacks - Created.
 7-Aug-85 12:47:15 - Jacks - Fixed MsgOps.DomainsFromFile catch phrase and InitMessages; hardcoded message IDs; got rid of obsolete CHS error msgs; added mUnreadableName.
14-Aug-85 16:08:43 - Jacks - Changed mPSNotProductFactored slightly.
28-Aug-85 15:47:58 - Jacks - Changed mPagesAllocated and mBanshee slightly. 
10-Sep-85 16:35:51 - Jacks - Added mCannotRun mRetainParameters mNoPrintingOptionSoftware mOptionsNotProductFactored mContinueToRun mNotRun mBandBuffersPrompt mDecomposeWhileMarkingPrompt mSpoolWhileMarkingPrompt mRMLimitPrompt mVMLimitPrompt mDeleteObsoleteFonts mShortBanshee mSetTrace mDocInProgress.
26-Sep-85  9:31:36 - Jacks - Added mPostalCard mEnabled mUnlimitedPrinting; took hyphen out of mBanshee and mShortBanshee.
27-Sep-85 12:02:13 - Jacks - Added two spaces to mUnlimitedPrinting.
 8-Oct-85 11:31:52 - Jacks - Changed string for mUnlimitedPrinting and added mUnlimitedPrintingPrompt.
15-Oct-85  9:59:32 - Jacks - Added mShortXmitError mShortFaxFailure mEnvelope; removed mbusy; capitalized mEnabled mDisabled mAvailable mUnavailable mNeedsAttention mNeedsKeyOperator mFull; changed mTransmitError mFaxFailure mFaxDocList slightly.
 6-Nov-85 14:20:23 - Jacks - Removed RegisterMsgs and GetHandle; made InitMessages public; added mFontsNotCataloged mUnableToCatalogFonts mExpungeWarning.
 7-Nov-85 11:25:17 - Jacks - Removed mFontsNotCataloged; changed mQueryError slightly.
12-Nov-85 12:03:10 - Jacks - Changed mPrintServerinRepairMode slightly.
13-Dec-85 16:13:13 - Jacks - Rewrote mPSNotProductFactored mNoPrintingOptionSoftware mOptionsNotProductFactored; added mCannotRunPS; renamed mCannotRun to mCannotRunNow; renamed module from ExecMessagesImpl to PSExecMessagesImpl.
29-Apr-86 13:55:33 - Jacks - Replaced mCannotRunNow with: mMemoryNotAvailable mMeans mDeactivated mActivate mMemoryTaken mRunBeforeOtherServices.
 9-May-86 12:29:52 - Jacks - Changed mCommErrorsStat.
19-May-86 10:28:50 - Jacks - Changed mExpungeWarning; added mSpecifyNonNormalOption mConfigure mDeleteBackingFiles mConfirmDeleteBackingFiles mDeletingFiles.
20-May-86 11:39:43 - Jacks - Added mStopAll, mMemoryInUse; removed mMeans mDeactivated mMemoryTaken; changed mActivate, mRunBeforeOtherServices.
29-Jul-86 17:10:16 - Jacks - Removed mRunBeforeOtherServices (msg #69); reworded mMemoryInUse (#67).