next up previous contents index
Next: 8 Release Information Up: #tex2html_wrap2538# User's Guide Previous: 6 Composing Messages

7 International Use

With proper configuration, ML will support full 8-bit character sets such as ISO-8859-1, as used by most European and Latin American countries. Multi-byte character sets are currently unsupported, as are right-to-left languages.

There may be several steps involved in configuration, and the exact requirements may vary across different machine architectures. This can get complicated, and the privileges and knowledge of a system administrator may be required to make certain that the system configuration is adequate.

Compose "Input Methods" aren't defined by ML, except for a method of inputting hexadecimal character equivalents, described further below. If your system supports extended international keyboards or compose key sequences appropriate to your language, ML will use them.

7.1 Configuration for Language Support

Step 1

Ensure that the program fonts are appropriate for your language. The X window system defaults fonts typically support ISO-8859-1 directly, so if your language is supported in this character set, no changes will need to be made. All the font resources used in the program are listed in the "On Resources" help file, however the exact method of setting X defaults may vary. See your 'X' documentation. Typically the font specifications would go into either a system wide application defaults file, or a personal application defaults file - OR placed in a a local ".Xdefaults" file which is then used to over-ride the system settings.

Step 2

The ML Preferences setup screen has an entry for Default Character Set. This is initially set by default to "US-ASCII". Changing this setting only affects how the program handles international addresses and character set "encodings", which are used to ensure that so-called "8-bit" characters are passed through the program and remote mail systems (which may not support the character set involved). An example of a value for this field is "ISO-8859-1", which covers most west European languages and may be used even by U.S. folks without harm. It allows them full use of the international character set which is a superset of US-ASCII. Other nationalities may wish to choose another of the ISO character sets which match their language. The exact syntax of this value is that used in international MIME mail transport, and agreed upon my cooperating mail systems. Note that in other settings, as for your local operating system, the same character set uses underscore characters instead of "dashes" in its name.

Step 3

Configure the operating system "locale" information for your native language. This is necessary for the Motif libraries to use "8-bit" methods in the clipboard, and so that the library functions ML uses to determine character classifications (i.e. "is this a legal capital letter?") work correctly. Many international features of the program may be used without the locale being set, but not everything will work exactly as described; and occasionally, accented characters will be "stripped" unintentionally in a few program windows.

This part can get tricky; as different manufacturers don't always agree on the names used. Some systems also have been known to crash when supplied with values they don't recognize. For this reason, the program doesn't attempt to set the locale unless an environment variable "ML_SETLANG" is set on startup. You may set it to anything; I suggest 'setenv ML_SETLANG ml_setlang'. If the program has difficulties and crashes before the first window opens, it is usually a result of an unsupported locale on the machine in question. This variable may be "unset" to allow you to work on systems which would otherwise crash. It is also possible to use conditionals in your login file(s) to set the values appropriately if you have reason to use the program from more than one system.

You need to supply the specific locale information for your system by way of environment variables. The system reference for doing this is the "setlocale" manual page. A complication arises when you have an operating system which uses one form of setting locale information, and an 'X' library which supports other conventions (or hasn't been configured for the language in question). Both of these subsystems must agree on the exact syntax of the locale information provided to work correctly. If they don't, the program may crash. See above about disabling "ML_SETLANG" if this happens.

To configure a system such as Sun's Solaris for the German language, the settings would be:

	LANG = de
	LC_CTYPE = iso_8859_1

For Hewlett-Packard systems:

	LANG = german
(Leave LC_CTYPE unset).

Sun's SunOS releases may be tricky, because the builtin window system pre-dates many of the international features. Many sites run the MIT version of X11R5 on these systems, which doesn't have an "iso_8859_1" LC_CTYPE, although it may be added by a system administrator by copying the lt_LN.bit8 definition. The U.S. version of this operating system supports "iso_8859_1" as LC_CTYPE, but has no real national language support.

U.S. users who only wish to take advantage of ML's international features should just set (on MOST architectures):

	LC_CTYPE = iso_8859_1

if their operating system supports it. Hopefully, the various manufacturers will soon support alternate languages and character sets in a portable way. Until that time, we're stuck with this hodge-podge arrangement.

7.2 Debugging the locale

 

An environment variable "MLDEBUG", if set, will report the current setting of the locale after the locale has been set by the operating system and X library. You may use this to determine if your language setup was successful. If the result is "C", it generally means that the operation failed. Even without this setting, you might see a message from the 'X' toolkit reporting:

Warning: locale not supported by C library, locale unchanged

If the program crashes immediately after this message appears, the locale variables need to be corrected, or the locale setup disabled.

7.3 Reading International text

Encoded header fields under RFC1342 and RFC1522 should be correctly displayed in the normal "short header" mode of reading messages; and also in the mailbox (View Window).

In order to be decoded properly, the encodings must specify either the same charset as your preferences value, OR be encoded US-ASCII.

A preference is available for those who would like ALL such encodings decoded, but with no guarantees what the result will look like with an alternate character set. It is called "Decode All Charsets" under the Option Settings Preference table. Setting this to TRUE only affects the Read Window. Other windows are not affected.

7.4 Composing International Text

You have the ability to tweak the outgoing "CHARSET=" value on the fly, as well as to set other mail "parameters" values from an item in the Compose "Option" menu ("Set Parameters"). This does NOT affect the current font. By default, the CHARSET=" parameter will be set automatically to that character set defined by your preferences, or left unset if that is "US-ASCII".

International 8-bit text from the compose "text" window is encoded properly for transport; as is the Subject line and all address fields, using your default charset as the encoding tag.

Text attachments are also encoded automatically if they contain 8-bit characters or long lines, or otherwise aren't suitable for SMTP transport without encoding. The "Set Parameters" option mentioned above may also be used to set the parameter list for attachments; separately from the list used for the main message body. This allows you to compose text via external editors in any known language, and by setting the "CHARSET=" field appropriately, have the attachment rendered correctly at the receiving end.

7.5 Filters and International Text

Currently, the SUBJECT filter rule will work directly with international text. All other filter rules use data which has not yet been decoded. For addresses, you should specify the "user@host" part of the address, which is guaranteed to be 7-bit US-ASCII. For other text fields, it is best to provide a search string which contains no accented characters, if such a string can adequately describe the search. Finally, it is possible to search for the ENCODED values of the information, but requires knowledge of the encoding techniques used.

7.6 The ML universal "hex input method"

There is a "hex Input Method" defined in most of the text input fields in the program. This may sometimes be used even if you cannot get your operating system and 'X' to agree on a language specific setup. BUT - please make certain that your Character Set preference is set to something besides US-ASCII, or any text won't be encoded properly for transport, and may crash the receiver's system, or be rendered un-intelligible by the delivery software.

The mode is enitiated by the sequence "CTRL-/" and followed by two hexadecimal characters, corresponding to the desired input character. Any input not recognized as hex reverts to normal input mode. It filters NUL (hex 00) in all windows, and LF (hex 0A) in text "fields" (one-line text windows). Consult a character set table to ascertain the hexadecimal mapping for your chosen character set. Below is the mapping for the characters from hex A1 to FF, using the current font. (Please note that some characters may be missing from your font. This is the case if any of the columns don't line up correctly).

 


A1 ¡ A2 ¢ A3 £
A4 ¤ A5 ¥ A6 ¦ A7 §
A8 ¨ A9 © AA ª AB «
AC ¬ AD ­ AE ® AF ¯
B0 ° B1 ± B2 ² B3 ³
B4 ´ B5 µ B6 B7 ·
B8 ¸ B9 ¹ BA º BB »
BC ¼ BD ½ BE ¾ BF ¿
C0 À C1 Á C2 Â C3 Ã
C4 Ä C5 Å C6 Æ C7 Ç
C8 È C9 É CA Ê CB Ë
CC Ì CD Í CE Î CF Ï
D0 Ð D1 Ñ D2 Ò D3 Ó
D4 Ô D5 Õ D6 Ö D7 ×
D8 Ø D9 Ù DA Ú DB Û
DC Ü DD Ý DE Þ DF ß
E0 à E1 á E2 â E3 ã
E4 ä E5 å E6 æ E7 ç
E8 è E9 é EA ê EB ë
EC ì ED í EE î EF ï
F0 ð F1 ñ F2 ò F3 ó
F4 ô F5 õ F6 ö F7 ÷
F8 ø F9 ù FA ú FB û
FC ü FD ý FE þ FF ÿ
Table 7.1: Hexadecimal characters value

7.7 Using alternate message catalogs

ML is capable of rendering messages in alternate languages. Most of ML's error messages are included. Messages from the IMAP toolkit or X window system are not. This feature, combined with appropriate translations of the system 'X' app-defaults file will make the system useable in a variety of alternate languages. No recompilation is necessary for this to happen.

ML's help files are first checked to see if they exist with $LANG or $ML_LANG appended to them. If these exist, they are used instead of the English versions.

The system messages are defined via X resources in the source file preferences.h. Included below are the default settings. The resource specifier is provided by the string defined by the XtN resource. the default (English) value is provided by that XtN resource with an uppercase first character. In the cases where the default English translation isn't provided, these were compiled into the program. The XtN resource should provide a clue as to the string it represents, which in this case is usually a flag or action or filter criteria.

This section only covers the internal message and structure names. For button and window names, see the existing application defaults file.

Example: To change the message for Reply to Sender (displayed in the Compose Window title) into "Repondes", we see below that it is defined as XtNmsgReplySender, and the corresponding resource name is "msgReplySender". You may specify this in your resource file as

ML*msgReplySender:		Repondes

To change the Filter specifier "Saturday" to "Sabado", use

ML*filterSaturday:		Sabado

7.8 Language string resources

/* Language string resources. Class supplied automatically. */

	/* system messages */

#define XtNmsgUnsupportedConfig "msgUnsupportedConfig"
#define MsgUnsupportedConfig    "Configuration does not support copy/move."
#define XtNmsgReplySender       "msgReplySender"
#define MsgReplySender          "Reply"
#define XtNmsgReplyAll          "msgReplyAll"
#define MsgReplyAll             "Reply To ALL"
#define XtNmsgForward           "msgForward"
#define MsgForward              "Forward Message(s)"
#define XtNmsgRemail            "msgRemail"
#define MsgRemail               "Remail"
#define XtNmsgComposeNew        "msgComposeNew"
#define MsgComposeNew           "New Message"
#define XtNmsgMailboxOpFailed   "msgMailboxOpFailed"
#define MsgMailboxOpFailed  "A mailbox operation failed. See transcript above."
#define XtNmsgMailboxOpSuccess  "msgMailboxOpSuccess"
#define MsgMailboxOpSuccess     "Mailbox manage operation successful."
#define XtNmsgYouConnected      "msgYouConnected"
#define MsgYouConnected         "Is your network connection running? "
#define XtNmsgCannotQualify     "msgCannotQualify"
#define MsgCannotQualify  "Cannot lookup '%s'. Ignore if fully qualified."
#define XtNmsgDestroyMailbox    "msgDestroyMailbox"
#define MsgDestroyMailbox       "Destroy Mailbox Contents? "
#define XtNmsgDestroyEdit       "msgDestroyEdit"
#define MsgDestroyEdit          "Destroy This Message? "
#define XtNmsgDestroyAddress    "msgDestroyAddress"
#define MsgDestroyAddress       "Destroy This Address? "
#define XtNmsgDestroyConfig     "msgDestroyConfig"
#define MsgDestroyConfig        "Destroy This Configuration? "
#define XtNmsgFilterParseError  "msgFilterParseError"
#define MsgFilterParseError     "Filter Parse: ??? "
#define XtNmsgNoFilterName      "msgNoFilterName"
#define MsgNoFilterName         "No filter name supplied."
#define XtNmsgNoFilterDef       "msgNoFilterDef"
#define MsgNoFilterDef          "No filter definition supplied."
#define XtNmsgDestroyFilter     "msgDestroyFilter"
#define MsgDestroyFilter        "Destroy this filter? "
#define XtNmsgNoDefaults        "msgNoDefaults"
#define MsgNoDefaults           "No application defaults found."
#define XtNmsgWrongDefaults     "msgWrongDefaults"
#define MsgWrongDefaults        "Application defaults file version incorrect."
#define XtNmsgUnknownConfig     "msgUnknownConfig"
#define MsgUnknownConfig        "Unknown Configuration name '%s'."
#define XtNmsgOpeningMailbox    "msgOpeningMailbox"
#define MsgOpeningMailbox       "Opening mailbox '%s'."
#define XtNmsgOpenFailed        "msgOpenFailed"
#define MsgOpenFailed           "Mailbox open failed."
#define XtNmsgEmptyMailbox      "msgEmptyMailbox"
#define MsgEmptyMailbox         "Mailbox is empty."
#define XtNmsgClosingMailbox    "msgClosingMailbox"
#define MsgClosingMailbox       "Closing mailbox '%s'."
#define XtNmsgClosingAll        "msgClosingAll"
#define MsgClosingAll           "Closing all mailboxes."
#define XtNmsgLostConnection    "msgLostConnection"
#define MsgLostConnection       "Lost connection to server '%s'."
#define XtNmsgUpdatingNewsrc    "XtNmsgUpdatingNewsrc"
#define MsgUpdatingNewsrc       "Updating NEWSRC File."
#define XtNmsgBackgroundStop    "msgBackgroundStop"
#define MsgBackgroundStop       "Background fetch paused."
#define XtNmsgBackgroundResume  "msgBackgroundResume"
#define MsgBackgroundResume     "Background fetching resumed."
#define XtNmsgBackgrounding     "msgBackgrounding"
#define MsgBackgrounding        "Background fecthing %lu messages."
#define XtNmsgBackgroundDone    "msgBackgroundDone"
#define MsgBackgroundDone       "Background fetch complete."
#define XtNmsgPruning           "msgPruning"
#define MsgPruning              "Pruning mailbox to remove old messages."
#define XtNmsgNotYetLoaded      "msgNotYetLoaded"
#define MsgNotYetLoaded         "[Message Not Yet Loaded]"
#define XtNmsgOpenNNTPFailed    "msgOpenNNTPFailed"
#define MsgOpenNNTPFailed       "Failed to connect to NNTP delivery service."
#define XtNmsgSendNNTPFailed    "msgSendNNTPFailed"
#define MsgSendNNTPFailed       "News delivery failed."
#define XtNmsgNewsSent          "msgNewsSent"
#define MsgNewsSent             "News sent."
#define XtNmsgOpenSMTPFailed    "msgOpenSMTPFailed"
#define MsgOpenSMTPFailed       "Failed to connect to SMTP delivery service."
#define XtNmsgSendEightFailure  "msgSendEightFailure"
#define MsgSendEightFailure     "8-bit transport unavailable. Message encoded."
#define XtNmsgSendSMTPFailed    "msgSendSMTPFailed"
#define MsgSendSMTPFailed       "Mail delivery failed."
#define XtNmsgMailSent          "msgMailSent"
#define MsgMailSent             "Mail sent."
#define XtNmsgLoadingFilters    "msgLoadingFilters"
#define MsgLoadingFilters       "Loading Default Filters."
#define XtNmsgEmptyMultipart    "msgEmptyMultipart"
#define MsgEmptyMultipart       "Empty multipart attachment fixed."
#define XtNmsgCannotWriteFile   "msgCannotWriteFile"
#define MsgCannotWriteFile      "Unable to write to file '%s'."
#define XtNmsgCannotReadFile    "msgCannotReadFile"
#define MsgCannotReadFile       "Unable to read from file '%s'."
#define XtNmsgAppendFailed      "msgAppendFailed"
#define MsgAppendFailed         "Message log (append) failed."
#define XtNmsgInvalidParams     "msgInvalidParams"
#define MsgInvalidParams        "Invalid parameter setting."
#define XtNmsgNonEmptyMulti     "msgNonEmptyMulti"
#define MsgNonEmptyMulti        "Multipart not empty. Unable to remove."
#define XtNmsgForwardExpunged   "msgForwardExpunged"
#define MsgForwardExpunged      "Message unavailable. (Expunged)?"
#define XtNmsgUnknownAction     "msgUnknownAction"
#define MsgUnknownAction        "Action not recognized: '%s'"
#define XtNmsgActionRequiresArg "msgActionRequiresArg"
#define MsgActionRequiresArg    "Argument required for action '%s'."
#define XtNmsgMissingQuote      "msgMissingQuote"
#define MsgMissingQuote         "Missing quotation mark."
#define XtNmsgNewMailboxName    "msgNewMailboxName"
#define MsgNewMailboxName       "New Mailbox Name"
#define XtNmsgNoMailboxSelected "msgNoMailboxSelected"
#define MsgNoMailboxSelected    "No mailbox selected."
#define XtNmsgInputCommand      "msgInputCommand"
#define MsgInputCommand         "Command to Execute"
#define XtNmsgFilterDefinition  "msgFilterDefinition"
#define MsgFilterDefinition     "Filter Definition"
#define XtNmsgAddressName       "msgAddressName"
#define MsgAddressName          "Name for Address Book"
#define XtNmsgSpellNoRead       "msgSpellNoRead"
#define MsgSpellNoRead          "Unknown spell sub-process error."
#define XtNmsgNCorrections      "msgNCorrections"
#define MsgNCorrections         "%d corrections found."
#define XtNmsgPromptParams      "msgPromptParams"
#define MsgPromptParams         "Parameters"
#define XtNmsgExecuting         "msgExecuting"
#define MsgExecuting            "Executing '%s'."
#define XtNmsgSubProcessFailure "msgSubProcessFailure"
#define MsgSubProcessFailure    "External command failed."
#define XtNmsgNoteSaveFail      "msgNoteSaveFail"
#define MsgNoteSaveFail         "Notebook save failed."
#define XtNmsgNoteSaved         "msgNoteSaved"
#define MsgNoteSaved            "Notebook saved."
#define XtNmsgPrefSaveFail      "msgPrefSaveFail"
#define MsgPrefSaveFail         "Failed to save preferences."
#define XtNmsgPrefSaved         "msgPrefSaved"
#define MsgPrefSaved            "Preferences saved."
#define XtNmsgUndetermined      "msgUndetermined"
#define MsgUndetermined         "Undetermined Message Information"
#define XtNmsgNotRegularFile    "msgNotRegularFile"
#define MsgNotRegularFile       "Not a regular file."
#define XtNmsgFileGoUp          "msgFileGoUp"
#define MsgFileGoUp             "[ Up one level ]"
#define XtNmsgFileGoHome        "msgFileGoHome"
#define MsgFileGoHome           "[Home directory]"
#define XtNmsgChdirFailed       "msgChdirFailed"
#define MsgChdirFailed          "Directory not accessible."
#define XtNmsgChdirHomeFailed   "msgChdirHomeFailed"
#define MsgChdirHomeFailed      "Home directory not accessible."
#define XtNmsgTCPPort           "msgTCPPort"
#define MsgTCPPort              "TCP Port Number"
#define XtNmsgDuplicateFilter   "msgDuplicateFilter"
#define MsgDuplicateFilter      "Duplicate filter name not allowed."
#define XtNmsgDuplicate         "msgDuplicate"
#define MsgDuplicate            "Duplicate name not allowed."
#define XtNmsgFilterNotSaved    "msgFilterNotSaved"
#define MsgFilterNotSaved       "Filter hasn't been saved."
#define XtNmsgNoWebBrowser      "msgNoWebBrowser"
#define MsgNoWebBrowser         "No web browser application has been defined."
#define XtNmsgWebCommand        "msgWebCommand"
#define MsgWebCommand           "Web browser command syntax unsupported."
#define XtNmsgShowURL           "msgShowURL"
#define MsgShowURL              "Show URL"
#define XtNmsgBinaryMessage     "msgBinaryMessage"
#define MsgBinaryMessage    "[Potential non-text message contents suppressed.]"
#define XtNmsgNoDataDir         "msgNoDataDir"
#define MsgNoDataDir            "\007Unable to create/access  '%s'.\n"
#define XtNmsgNoParentView      "msgNoParentView"
#define MsgNoParentView         "(Internal error). No parent view found."
#define XtNmsgAuthenticateTo    "msgAuthenticateTo"
#define MsgAuthenticateTo       "Authenticate to: %s"
#define XtNmsgUpdatingStopFile  "msgUpdatingStopFile"
#define MsgUpdatingStopFile     "Updating spell checker word list."
#define XtNmsgAttachingFilters  "msgAttachingFilters"
#define MsgAttachingFilters     "Attaching session filters."
#define XtNmsgDetachSessionFilter "msgDetachSessionFilter"
#define MsgDetachSessionFilter  "Detach filter from session?"
#define XtNmsgNewMessageFrom    "msgNewMessageFrom"
#define MsgNewMessageFrom       "'%s':\nFrom:    %s\nSubject: %s"
#define XtNmsgFetchFTP          "msgFetchFTP"
#define MsgFetchFTP             "Fetching message via FTP."
#define XtNmsgFTPFail           "msgFTPFail"
#define MsgFTPFail              "FTP transfer failed."
#define XtNmsgFTPSaved          "msgFTPSaved"
#define MsgFTPSaved             "FTP: %lu bytes written to '%s'."
#define XtNmsgFetchMail         "msgFetchMail"
#define MsgFetchMail            "Fetching message from mail server '%s'"
#define XtNmsgFetchMailFail     "msgFetchMailFail"
#define MsgFetchMailFail        "External mail fetch failed."
#define XtNmsgNotDraft          "msgNotDraft"
#define MsgNotDraft             "File does not appear to be a message draft."
#define XtNmsgCopySuccess       "msgCopySuccess"
#define MsgCopySuccess          "Copy successful."
#define XtNmsgCopyFail          "msgCopyFail"
#define MsgCopyFail             "Copy failed."
#define XtNmsgMoveSuccess       "msgMoveSuccess"
#define MsgMoveSuccess          "Move successful."
#define XtNmsgMoveFail          "msgMoveFail"
#define MsgMoveFail             "Move failed."
#define XtNmsgSaveSuccess       "msgSaveSuccess"
#define MsgSaveSuccess          "Save successful."
#define XtNmsgSaveFail          "msgSaveFail"
#define MsgSaveFail             "Save failed."
#define XtNmsgPipeFail          "msgPipeFail"
#define MsgPipeFail             "External command failed."
#define XtNmsgPrintSuccess      "msgPrintSuccess"
#define MsgPrintSuccess         "Print successful."
#define XtNmsgPrintFail         "msgPrintFail"
#define MsgPrintFail            "Print failed."
#define XtNmsgNoPrintCommand    "msgNoPrintCommand"
#define MsgNoPrintCommand       "No print command configured."
#define XtNmsgNewMessage        "msgNewMessage"
#define MsgNewMessage           "%u New message%s"
#define XtNmsgMessageSingular   "msgMessageSingular"
#define MsgMessageSingular      ""
#define XtNmsgMessagePlural     "msgMessagePlural"
#define MsgMessagePlural        "s"
#define XtNmsgFoundMessage      "msgFoundMessage"
#define MsgFoundMessage         "%lu Message%s found."
#define XtNmsgInvalidWrap       "msgInvalidWrap"
#define MsgInvalidWrap          "Invalid text wrap length."
#define XtNmsgEntireUniverse    "msgEntireUniverse"
#define MsgEntireUniverse       "Show all files in the known universe?"

   /* internal strings which are used in windows and message structures */

#define XtNstrDraft             "strDraft"
#define StrDraft                "Draft"
#define XtNstrDefault           "strDefault"
#define StrDefault              "default"
#define XtNstrNA                "strNA"
#define StrNA                   "N/A"
#define XtNstrWarn              "strWarn"
#define StrWarn                 "Warning: "
#define XtNstrError             "strError"
#define StrError                "ERROR: "
#define XtNstrAll               "strAll"
#define StrAll                  "ALL"
#define XtNstrBucket            "strBucket"
#define StrBucket               "UNFILTERED"
#define XtNstrTrue              "strTrue"
#define StrTrue                 "true"
#define XtNstrFalse             "strFalse"
#define StrFalse                "false"
#define XtNstrUnknown           "strUnknown"
#define StrUnknown              "Unknown"
#define XtNstrSubscribed        "strSubscribed"
#define StrSubscribed           "Subscribed"
#define XtNstrUnSubscribed      "strUnSubscribed"
#define StrUnSubscribed         "Unsubscribed"
#define XtNstrMailboxes         "strMailboxes"
#define StrMailboxes            "Mailboxes"
#define XtNstrNewsgroups        "strNewsgroups"
#define StrNewsgroups           "Newsgroups"
#define XtNstrInternalViewer    "strInternalViewer"
#define StrInternalViewer       "MLVIEWER"
#define XtNstrForwardSubject    "strForwardSubject"
#define StrForwardSubject       "Forwarded: [%s]"
#define XtNstrMultiForwardSubject "strMultiForwardSubject"
#define StrMultiForwardSubject  "[Multiple Messages Forwarded]"
#define XtNstrMultiForwardHeader "strMultiForwardHeader"
#define StrMultiForwardHeader   "------- Forwarded Messages:\n\n"
#define XtNstrBeginForward      "strBeginForward"
#define StrBeginForward         "\n------- Begin Forwarded Message -------\n"
#define XtNstrEndForward        "strEndForward"
#define StrEndForward           "\n-------  End Forwarded Message  -------\n"
#define XtNmsgNoReplySubject    "msgNoReplySubject"
#define MsgNoReplySubject       "Re: (No Subject)"
#define XtNstrRFC822            "strRFC822"
#define StrRFC822               " [RFC822]"
#define XtNstrFakePart          "strFakePart"
#define StrFakePart             "EMPTY ATTACHMENT"
#define XtNstrLogicalViews      "strLogicalViews"
#define StrLogicalViews         "Virtual Mailboxes"

	/* sort order */

#define XtNpresentNormal         "presentNormal"
#define XtNpresentReverse        "presentReverse"
#define XtNpresentSender         "presentSender"
#define XtNpresentSubject        "presentSubject"
#define XtNpresentThread         "presentThread"

	/* system flags */

#define XtNflagDeleted           "flagDeleted"
#define XtNflagSeen              "flagSeen"
#define XtNflagFlagged           "flagFlagged"
#define XtNflagAnswered          "flagAnswered"
#define XtNflagDraft             "flagDraft"
#define XtNflagRecent            "flagRecent"

	/* actions */

#define XtNactionNoHeader       "actionNoHeader"
#define XtNactionPartHeader     "actionPartHeader"
#define XtNactionFullHeader     "actionFullHeader"
#define XtNactionDelete         "actionDelete"
#define XtNactionExpunge        "actionExpunge"
#define XtNactionCopy           "actionCopy"
#define XtNactionMove           "actionMove"
#define XtNactionSave           "actionSave"
#define XtNactionShell          "actionShell"
#define XtNactionFlag           "actionFlag"
#define XtNactionSet            "actionSet"
#define XtNactionUnset          "actionUnset"
#define XtNactionReply          "actionReply"
#define XtNactionPrint          "actionPrint"
#define XtNactionSelect         "actionSelect"
#define XtNactionNew            "actionNew"
#define XtNactionUnseen         "actionUnseen"
#define XtNactionUnselect       "actionUnselect"
#define XtNactionRead           "actionRead"

	/* filter verbs */

#define XtNfilterAnd            "filterAnd"
#define XtNfilterOr             "filterOr"
#define XtNfilterNot            "filterNot"
#define XtNfilterCorrespondent  "filterCorrespondent"
#define XtNfilterConversant     "filterConversant"
#define XtNfilterRecipient      "filterRecipient"
#define XtNfilterFrom           "filterFrom"
#define XtNfilterTo             "filterTo"
#define XtNfilterCc             "filterCc"
#define XtNfilterSubject        "filterSubject"
#define XtNfilterNewsgroups     "filterNewsgroups"
#define XtNfilterMessageId      "filterMessageId"
#define XtNfilterSender         "filterSender"
#define XtNfilterReplyTo        "filterReplyTo"
#define XtNfilterInReplyTo      "filterInReplyTo"
#define XtNfilterText           "filterText"
#define XtNfilterHeader         "filterHeader"
#define XtNfilterBody           "filterBody"
#define XtNfilterBefore         "filterBefore"
#define XtNfilterSince          "filterSince"
#define XtNfilterOn             "filterOn"
#define XtNfilterLarger         "filterLarger"
#define XtNfilterSmaller        "filterSmaller"
#define XtNfilterNew            "filterNew"
#define XtNfilterOld            "filterOld"
#define XtNfilterDeleted        "filterDeleted"
#define XtNfilterUndeleted      "filterUndeleted"
#define XtNfilterSeen           "filterSeen"
#define XtNfilterUnseen         "filterUnseen"
#define XtNfilterRecent         "filterRecent"
#define XtNfilterAnswered       "filterAnswered"
#define XtNfilterUnanswered     "filterUnanswered"
#define XtNfilterFlagged        "filterFlagged"
#define XtNfilterUnflagged      "filterUnflagged"
#define XtNfilterToday          "filterToday"
#define XtNfilterYesterday      "filterYesterday"
#define XtNfilterLastMonth      "filterLastMonth"
#define XtNfilterThisMonth      "filterThisMonth"
#define XtNfilterJanuary        "filterJanuary"
#define XtNfilterFebruary       "filterFebruary"
#define XtNfilterMarch          "filterMarch"
#define XtNfilterApril          "filterApril"
#define XtNfilterMay            "filterMay"
#define XtNfilterJune           "filterJune"
#define XtNfilterJuly           "filterJuly"               
#define XtNfilterAugust         "filterAugust"
#define XtNfilterSeptember      "filterSeptember"
#define XtNfilterOctober        "filterOctober"
#define XtNfilterNovember       "filterNovember"
#define XtNfilterDecember       "filterDecember"
#define XtNfilterSunday         "filterSunday"
#define XtNfilterMonday         "filterMonday"
#define XtNfilterTuesday        "filterTuesday"
#define XtNfilterWednesday      "filterWednesday"
#define XtNfilterThursday       "filterThursday"
#define XtNfilterFriday         "filterFriday"
#define XtNfilterSaturday       "filterSaturday"
#define XtNfilterLastSunday     "filterLastSunday"
#define XtNfilterLastMonday     "filterLastMonday"
#define XtNfilterLastTuesday    "filterLastTuesday"
#define XtNfilterLastWednesday  "filterLastWednesday"
#define XtNfilterLastThursday   "filterLastThursday"
#define XtNfilterLastFriday     "filterLastFriday"
#define XtNfilterLastSaturday   "filterLastSaturday"

	/* Currently unused. A future release may provide 
	 * language neutral message header display
	 */

#define XtNheaderFrom            "headerFrom"
#define HeaderFrom               HEADER_FROM
#define XtNheaderSender          "headerSender"
#define HeaderSender             HEADER_SENDER
#define XtNheaderReplyTo         "headerReplyTo"
#define HeaderReplyTo            HEADER_REPLY_TO
#define XtNheaderTo              "headerTo"
#define HeaderTo                 HEADER_TO
#define XtNheaderNewsgroups      "headerNewsgroups"
#define HeaderNewsgroups         HEADER_NEWSGROUPS
#define XtNheaderSubject         "headerSubject"
#define HeaderSubject            HEADER_SUBJECT
#define XtNheaderCc              "headerCc"
#define HeaderCc                 HEADER_CC
#define XtNheaderBcc             "headerBcc"
#define HeaderBcc                HEADER_BCC
#define XtNheaderInReplyTo       "headerInReplyTo"
#define HeaderInReplyTo          HEADER_IN_REPLY_TO
#define XtNheaderMessageId       "headerMessagesId"
#define HeaderMessageId          HEADER_MESSAGE_ID
#define XtNheaderDate            "headerDate"
#define HeaderDate               HEADER_DATE
#define XtNheaderReferences      "headerReferences"
#define HeaderReferences         HEADER_REFERENCES


next up previous contents index
Next: 8 Release Information Up: #tex2html_wrap2538# User's Guide Previous: 6 Composing Messages

SIMOND Gilles
Wed Jan 24 13:31:26 MET 1996