Tb updates for en-GB
authorMark Tyndall <moz_en-gb@tyndall.org.uk>
Mon, 22 Jun 2009 14:16:00 +0100
changeset 39 ca89e873a1640c2cfcfed7a4b0e380555e382c97
parent 38 5cbd966ebcc04f09c9de63c97f33991b98076afa
child 40 88dd673c01f1bd6a764c7c4a5d52f19ab2168318
push id25
push usermoz_en-gb@tyndall.org.uk
push dateMon, 22 Jun 2009 13:29:43 +0000
Tb updates for en-GB
mail/chrome/messenger/AccountManager.dtd
mail/chrome/messenger/aboutRights.dtd
mail/chrome/messenger/aboutRights.properties
mail/chrome/messenger/activity.properties
mail/chrome/messenger/addressbook/abCardOverlay.dtd
mail/chrome/messenger/am-addressing.dtd
mail/chrome/messenger/am-dsn.dtd
mail/chrome/messenger/am-dsn.properties
mail/chrome/messenger/am-main.dtd
mail/chrome/messenger/am-offline.dtd
mail/chrome/messenger/defaultClientDialog.dtd
mail/chrome/messenger/folderProps.dtd
mail/chrome/messenger/messenger.dtd
mail/chrome/messenger/messenger.properties
mail/chrome/messenger/messengercompose/composeMsgs.properties
mail/chrome/messenger/msgHdrViewOverlay.dtd
mail/chrome/messenger/multimessageview.dtd
mail/chrome/messenger/multimessageview.properties
mail/chrome/messenger/preferences/advanced.dtd
mail/chrome/messenger/preferences/attachmentReminder.dtd
mail/chrome/messenger/preferences/compose.dtd
mail/chrome/messenger/preferences/preferences.properties
mail/chrome/messenger/search-attributes.properties
mail/chrome/messenger/search/searchIntegrationDialogWin.dtd
mail/chrome/messenger/searchIntegrationDefault.dtd
mail/chrome/messenger/searchIntegrationMac.dtd
mail/chrome/messenger/searchIntegrationWin.dtd
mail/chrome/messenger/systemIntegrationDialog.dtd
mail/chrome/overrides/netError.dtd
toolkit/chrome/global-platform/mac/intl.properties
toolkit/chrome/global-platform/unix/intl.properties
toolkit/chrome/global-platform/win/intl.properties
--- a/mail/chrome/messenger/AccountManager.dtd
+++ b/mail/chrome/messenger/AccountManager.dtd
@@ -8,14 +8,15 @@
 <!ENTITY setDefaultButton.accesskey "f">
 <!ENTITY removeButton.label "Remove Account">
 <!ENTITY removeButton.accesskey "R">
 
 <!-- AccountManager.xul -->
 <!-- LOCALIZATION NOTE : this is part of an inline-style attribute on the account
      setting dialog, which specifies the width and height in em units of the dialog.
      Localizers ONLY can increase these widths if they are having difficulty getting
-     panel content to fit. 1em = the width of the letter 'm' in the selected font.
+     panel content to fit.
+     1ch = The width of the "0" (ZERO, U+0030) glyph for the current font.
+     1em = The height of the font.
      XUL/FE DEVELOPERS: DO NOT MODIFY THIS VALUE. It represents the correct size of
      this window for en-US. -->
-<!ENTITY accountManager.size "width: 55em; height: 50em;"> 
-<!ENTITY macAccountManager.size "width: 60em; height: 50em;">
-<!ENTITY accountTree.width   "width: 17em;">
+<!ENTITY accountManager.size "width: 97ch; height: 49em;">
+<!ENTITY accountTree.width "width: 31ch;">
--- a/mail/chrome/messenger/aboutRights.dtd
+++ b/mail/chrome/messenger/aboutRights.dtd
@@ -1,11 +1,11 @@
 <!-- rights.locale-direction instead of the usual local.dir entity, so RTL can skip translating page. -->
 <!ENTITY rights.locale-direction "ltr">
-<!ENTITY rights.pagetitle       "about:rights">
+<!ENTITY rights.title            "About Your Rights">
 <!ENTITY rights.intro-header    "About Your Rights">
 <!ENTITY rights.intro "&brandFullName; is free and open source software, built by a community of thousands from all over the world. There are a few things you should know:">
 
 <!-- Note on pointa / pointb / pointc form:
      These points each have an embedded link in the HTML, so each point is
      split into chunks for text before the link, the link text, and the text
      after the link. If a localized grammar doesn't need the before or after
      chunk, it can be left blank.
--- a/mail/chrome/messenger/aboutRights.properties
+++ b/mail/chrome/messenger/aboutRights.properties
@@ -1,5 +1,4 @@
-aboutRightsTitle=About Your Rights
 buttonLabel=Know your rights…
 buttonAccessKey=K
 # LOCALIZATION NOTE (notifyText): %S will be replaced by brandFullName from brand.properties
 notifyRightsText=%S is free and open source software from the non-profit Mozilla Foundation.
--- a/mail/chrome/messenger/activity.properties
+++ b/mail/chrome/messenger/activity.properties
@@ -8,26 +8,31 @@ waitingForRetry=Waiting for retry
 completed=Completed
 canceled=Cancelled
 
 # LOCALIZATION NOTE (yesterday): Displayed time for files finished yesterday
 yesterday=Yesterday
 # LOCALIZATION NOTE (monthDate): #1 month name; #2 date number; e.g., January 22
 monthDate=#2 #1
 
-# Send Message
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=Sending Messages
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
 sendingMessage=Sending Message
-# LOCALIZATION NOTE (sendingMessageTo): %S will be replaced by the first name or newsgroup that the message is being sent to.
-sendingMessageTo=Sending Message to %S
+sendingMessageWithSubject=Sending Message: %S
+copyMessage=Copying message to sent folder
 sentMessage=Sent Message
-# LOCALIZATION NOTE (sentMessageTo): %S will be replaced by the first name or newsgroup that the message was sent to.
-sentMessageTo=Sent Message to %S
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=Sent Message: %S
 failedToSendMessage=Failed to send message
-# LOCALIZATION NOTE (failedToSendMessageTo): %S will be replaced by the first name or newsgroup that the message was being sent to.
-failedToSendMessageTo=Failed to send message to %S
+failedToCopyMessage=Failed to copy message
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=Failed to send message: %S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=Failed to copy message: %S
 
 # LOCALIZATION NOTE (autosyncProcessProgress): Do not translate the word "%1$S", "%2$S" and "%3$S" below.
 # Place the word %1$S in your translation where the number of the message being downloaded should appear.
 # Place the word %2$S in your translation where the total number of pending messages should appear.
 # Place the word %3$S in your translation where the name of the folder being processed should appear.
 autosyncProcessProgress=Downloading %1$S of %2$S in %3$S
 # LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
 autosyncProcessDisplayText=Bringing folder %S up to date
@@ -51,8 +56,29 @@ fromServerToServer=from #1 to #2
 # LOCALIZATION NOTE (deletedFolder): #1 folder name
 deletedFolder=Deleted folder #1
 # LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
 movedFolder=Moved folder #1 into folder #2
 # LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
 copiedFolder=Copied folder #1 into folder #2
 # LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
 renamedFolder=Renamed folder #1 to #2
+indexing=Indexing messages
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=Indexing messages in #1
+indexingStatusVague=Determining which messages to index
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=Determining which messages to index in #1
+# LOCALIZATION NOTE (indexingStatusExact):
+#   #1 is the number of the message currently being indexed
+#   #2 is the total number of messages being indexed
+#   #3 is the percentage of indexing that is complete
+indexingStatusExact=Indexing #1 of #2 message;Indexing #1 of #2 messages (#3% complete)
+# LOCALIZATION NOTE (indexingFolderStatusExact):
+#   #1 is the number of the message currently being indexed
+#   #2 is the total number of messages being indexed
+#   #3 is the percentage of indexing that is complete
+#   #4 is a folder name
+indexingFolderStatusExact=Indexing #1 of #2 message in #4;Indexing #1 of #2 messages in #4 (#3% complete)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=Indexed #1 message in #2;Indexed #1 messages in #2
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=#1 second elapsed;#1 seconds elapsed
--- a/mail/chrome/messenger/addressbook/abCardOverlay.dtd
+++ b/mail/chrome/messenger/addressbook/abCardOverlay.dtd
@@ -74,23 +74,23 @@
 <!ENTITY PreferMailFormat.label         "Prefers to receive messages formatted as:">
 <!ENTITY PreferMailFormat.accesskey     "v">
 <!ENTITY PlainText.label                "Plain Text">
 <!ENTITY HTML.label                     "HTML">
 <!ENTITY Unknown.label                  "Unknown">
 <!ENTITY ScreenName.label               "Screen Name:">
 <!ENTITY ScreenName.accesskey           "S">
 
-<!ENTITY allowRemoteContent.label       "Allow remote images.">
-<!ENTITY allowRemoteContent.accesskey   "r">
-<!ENTITY allowRemoteContent.tooltip     "In HTML messages it is possible to
-embed images from remote sources. Opening such a message will open a
+<!ENTITY allowRemoteContent1.label      "Allow remote content.">
+<!ENTITY allowRemoteContent1.accesskey  "r">
+<!ENTITY allowRemoteContent1.tooltip    "In HTML messages it is possible to
+embed content from remote sources. Opening such a message will open a
 connection to this external source. This may allow tracking of the
 message being read. Ticking this box will allow such external embedded
-images in HTML messages from this contact.">
+content in HTML messages from this contact.">
 
 <!ENTITY WorkPhone.label                "Work:">
 <!ENTITY WorkPhone.accesskey            "W">
 <!ENTITY HomePhone.label                "Home:">
 <!ENTITY HomePhone.accesskey            "H">
 <!ENTITY FaxNumber.label                "Fax:">
 <!ENTITY FaxNumber.accesskey            "x">
 <!ENTITY PagerNumber.label              "Pager:">
--- a/mail/chrome/messenger/am-addressing.dtd
+++ b/mail/chrome/messenger/am-addressing.dtd
@@ -26,8 +26,12 @@
 <!ENTITY then.accesskey                       "T">
 <!ENTITY aboveQuote.label                     "start my reply above the quote">
 <!ENTITY belowQuote.label                     "start my reply below the quote">
 <!ENTITY selectAndQuote.label                 "select the quote">
 <!ENTITY place.label                          "and place my signature">
 <!ENTITY place.accesskey                      "s">
 <!ENTITY belowText.label                      "below the quote (recommended)">
 <!ENTITY aboveText.label                      "below my reply (above the quote)">
+<!ENTITY includeSigOnReply.label              "Include signature for replies">
+<!ENTITY includeSigOnReply.accesskey          "s">
+<!ENTITY includeSigOnForward.label            "Include signature for forwards">
+<!ENTITY includeSigOnForward.accesskey        "w">
deleted file mode 100644
--- a/mail/chrome/messenger/am-dsn.dtd
+++ /dev/null
@@ -1,16 +0,0 @@
-<!ENTITY pane.title                 "Delivery Status Notification">
-<!ENTITY useGlobalPrefs.label       "Use my global Delivery Status Notification preferences for this account">
-<!ENTITY useGlobalPrefs.accesskey   "U">
-<!ENTITY useCustomPrefs.label       "Customise Delivery Status Notification for this account">
-<!ENTITY useCustomPrefs.accesskey   "C">
-<!ENTITY requestAlways.label        "When sending messages, always request a Delivery Status Notification">
-<!ENTITY requestAlways.accesskey    "W">
-<!ENTITY optionTitle.label          "Ask notification on :">
-<!ENTITY requestOnSucess.label      "Success in delivering">
-<!ENTITY requestOnSucess.accesskey  "S">
-<!ENTITY requestOnFailure.label     "Failure in delivering">
-<!ENTITY requestOnFailure.accesskey "F">
-<!ENTITY requestOnDelay.label       "Delay in delivering">
-<!ENTITY requestOnDelay.accesskey   "D">
-<!ENTITY requestNever.label         "Never receive Delivery Status Notification">
-<!ENTITY requestNever.accesskey     "N">
deleted file mode 100644
--- a/mail/chrome/messenger/am-dsn.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-## Strings used in prefs.
-prefPanel-dsn=Delivery Status Notification
--- a/mail/chrome/messenger/am-main.dtd
+++ b/mail/chrome/messenger/am-main.dtd
@@ -8,18 +8,22 @@
 <!ENTITY name.label "Your Name:">
 <!ENTITY name.accesskey "Y">
 <!ENTITY email.label "Email Address:">
 <!ENTITY email.accesskey "E">
 <!ENTITY replyTo.label "Reply-to Address:">
 <!ENTITY replyTo.accesskey "s">
 <!ENTITY organization.label "Organisation:">
 <!ENTITY organization.accesskey "O">
-<!ENTITY signature.label "Attach this signature:">
-<!ENTITY signature.accesskey "t">
+<!ENTITY signatureText.label "Signature text:">
+<!ENTITY signatureText.accesskey "x">
+<!ENTITY signatureHtml.label "Use HTML (e.g., &lt;b&gt;bold&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "L">
+<!ENTITY signatureFile.label "Attach the signature from a file instead (text, HTML, or image):">
+<!ENTITY signatureFile.accesskey "t">
 <!ENTITY edit.label "Edit…">
 <!ENTITY choose.label "Choose…">
 <!ENTITY choose.accesskey "C">
 <!ENTITY editVCard.label "Edit Card…">
 <!ENTITY editVCard.accesskey "d">
 <!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
 <!ENTITY attachVCard.label "Attach my vCard to messages">
 <!ENTITY attachVCard.accesskey "v">
--- a/mail/chrome/messenger/am-offline.dtd
+++ b/mail/chrome/messenger/am-offline.dtd
@@ -13,22 +13,22 @@
 <!ENTITY nntpDownloadMsg.accesskey "e">
 <!ENTITY retentionCleanup.label "To recover disc space, old messages can be permanently deleted">
 <!ENTITY retentionCleanupImap.label "To recover disc space, old messages can be permanently deleted, both local copies and originals on the remote server.">
 <!ENTITY retentionCleanupPop.label "To recover disc space, old messages can be permanently deleted, including originals on the remote server.">
 <!ENTITY retentionKeepMsg.label "Delete messages more than">
 <!ENTITY retentionKeepMsg.accesskey "m">
 <!ENTITY retentionKeepAll.label "Don't delete any messages">
 <!ENTITY retentionKeepAll.accesskey "a">
-<!ENTITY retentionKeepNew.label "Delete all but the last">
-<!ENTITY retentionKeepNew.accesskey "b">
-<!ENTITY retentionKeepUnread.label "Always delete read messages">
-<!ENTITY retentionKeepUnread.accesskey "r">
+<!ENTITY retentionKeepRecent.label "Delete all but the most recent">
+<!ENTITY retentionKeepRecent.accesskey "b">
+<!-- LOCALIZATION NOTE: Unhide with .keepUnreadOnly { display: -moz-box; } -->
+<!ENTITY retentionKeepUnreadHidden.label "Always delete read messages (overrides age settings)">
 <!ENTITY retentionApplyToFlagged.label "Always keep starred messages">
 <!ENTITY retentionApplyToFlagged.accesskey "e">
-<!ENTITY nntpRemoveBody.label "Only message bodies less than">
-<!ENTITY nntpRemoveBody.accesskey "O">
+<!ENTITY nntpRemoveMsgBody.label "Remove bodies from messages more than">
+<!ENTITY nntpRemoveMsgBody.accesskey "o">
 <!ENTITY offlineSelectNntp.label "Select newsgroups for offline use…">
 <!ENTITY offlineSelectNntp.accesskey "S">
 <!ENTITY offlineImapAdvancedOffline.label "Advanced…">
 <!ENTITY offlineImapAdvancedOffline.accesskey "A">
 <!ENTITY syncGroupTitle.label "Message Synchronising">
 <!ENTITY diskspaceGroupTitle.label "Disc Space">
deleted file mode 100644
--- a/mail/chrome/messenger/defaultClientDialog.dtd
+++ /dev/null
@@ -1,9 +0,0 @@
-<!ENTITY defaultClient.title  "Default Client">
-<!ENTITY defaultClient.intro  "Use &brandShortName; as the default client for:">
-
-<!ENTITY email.label "Email">
-<!ENTITY newsgroups.label "Newsgroups">
-<!ENTITY feeds.label "Feeds">
-
-<!ENTITY checkOnStartup.label "Always perform this check when starting &brandShortName;">
-<!ENTITY checkOnStartup.accesskey "A">
--- a/mail/chrome/messenger/folderProps.dtd
+++ b/mail/chrome/messenger/folderProps.dtd
@@ -56,20 +56,20 @@
 <!ENTITY message.label "messages">
 <!ENTITY retentionCleanup.label "To recover disc space, old messages can be permanently deleted">
 <!ENTITY retentionCleanupImap.label "To recover disc space, old messages can be permanently deleted, both local copies and originals on the remote server.">
 <!ENTITY retentionCleanupPop.label "To recover disc space, old messages can be permanently deleted, including originals on the remote server.">
 <!ENTITY retentionDeleteMsg.label "Delete messages more than">
 <!ENTITY retentionDeleteMsg.accesskey "m">
 <!ENTITY retentionKeepAll.label "Don't delete any messages">
 <!ENTITY retentionKeepAll.accesskey "A">
-<!ENTITY retentionKeepNew.label "Delete all but the last">
-<!ENTITY retentionKeepNew.accesskey "l">
-<!ENTITY retentionKeepUnread.label "Always delete read messages">
-<!ENTITY retentionKeepUnread.accesskey "r">
+<!ENTITY retentionKeepRecent.label "Delete all but the most recent">
+<!ENTITY retentionKeepRecent.accesskey "l">
+<!-- LOCALIZATION NOTE: Unhide with .keepUnreadOnly { display: -moz-box; } -->
+<!ENTITY retentionKeepUnreadHidden.label "Always delete read messages (overrides age settings)">
 <!ENTITY retentionApplyToFlagged.label "Always keep starred messages">
 <!ENTITY retentionApplyToFlagged.accesskey "e">
 
 <!ENTITY folderSynchronizationTab.label          "Synchronisation">
 <!ENTITY folderCheckForNewMessages.label         "Check this folder for new messages">
 <!ENTITY folderCheckForNewMessages.accesskey     "C">
 
 <!ENTITY offlineFolder.check.label               "Select this folder for offline use">
--- a/mail/chrome/messenger/messenger.dtd
+++ b/mail/chrome/messenger/messenger.dtd
@@ -6,16 +6,18 @@
 <!ENTITY newFolderCmd.label "Folder…">
 <!ENTITY newFolderCmd.accesskey "F">
 <!ENTITY closeTabCmd.label "Close Tab">
 <!ENTITY closeTabCmd.accesskey "e">
 <!ENTITY newVirtualFolderCmd.label "Saved Search…">
 <!ENTITY newVirtualFolderCmd.accesskey "S">
 <!ENTITY newAccountCmd.label "Account…">
 <!ENTITY newAccountCmd.accesskey "A">
+<!ENTITY newMailAccountCmd.label "Mail Account (Quick Setup)…">
+<!ENTITY newMailAccountCmd.accesskey "Q">
 <!ENTITY openMessageFileCmd.label "Open Saved Message…">
 <!ENTITY openMessageFileCmd.accesskey "O">
 <!ENTITY openAttachmentCmd.label "Attachments">
 <!ENTITY openAttachmentCmd.accesskey "A">
 <!ENTITY saveAsMenu.label "Save As">
 <!ENTITY saveAsMenu.accesskey "S">
 <!ENTITY saveAsFileCmd.label "File">
 <!ENTITY saveAsFileCmd.accesskey "F">
@@ -193,30 +195,41 @@
 <!ENTITY unreadMsgsCmd.label "Unread">
 <!ENTITY unreadMsgsCmd.accesskey "U">
 <!ENTITY threadsWithUnreadCmd.label "Threads with Unread">
 <!ENTITY threadsWithUnreadCmd.accesskey "T">
 <!ENTITY watchedThreadsWithUnreadCmd.label "Watched Threads with Unread">
 <!ENTITY watchedThreadsWithUnreadCmd.accesskey "W">
 <!ENTITY ignoredThreadsCmd.label "Ignored Threads">
 <!ENTITY ignoredThreadsCmd.accesskey "i">
+
 <!ENTITY headersMenu.label "Headers">
 <!ENTITY headersMenu.accesskey "H">
 <!ENTITY headersAllCmd.label "All">
 <!ENTITY headersAllCmd.accesskey "A">
 <!ENTITY headersNormalCmd.label "Normal">
 <!ENTITY headersNormalCmd.accesskey "N">
 <!ENTITY bodyMenu.label "Message Body As">
 <!ENTITY bodyMenu.accesskey "B">
 <!ENTITY bodyAllowHTML.label "Original HTML">
 <!ENTITY bodyAllowHTML.accesskey "H">
 <!ENTITY bodySanitized.label "Simple HTML">
 <!ENTITY bodySanitized.accesskey "S">
 <!ENTITY bodyAsPlaintext.label "Plain Text">
 <!ENTITY bodyAsPlaintext.accesskey "P">
+
+<!ENTITY bodyMenuFeed.label "Feed Message Body As">
+<!ENTITY bodyMenuFeed.accesskey "B">
+<!ENTITY viewFeedWebPage.label "Web Page">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "Summary">
+<!ENTITY viewFeedSummary.accesskey "m">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "Default Format">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "D">
+
 <!ENTITY viewAttachmentsInlineCmd.label "Display Attachments Inline">
 <!ENTITY viewAttachmentsInlineCmd.accesskey "A">
 
 <!-- LOCALIZATION NOTE :
 fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
 fullZoomResetCmd.commandkey2 are alternative acceleration keys for zoom.
 If shift key is needed with your locale popular keyboard for them,
 you can use these alternative items. Otherwise, their values should be empty.  -->
@@ -293,16 +306,18 @@ you can use these alternative items. Oth
 <!ENTITY goForwardCmd.commandKey "]">
 <!ENTITY goBackCmd.label "Back">
 <!ENTITY goBackCmd.accesskey "B">
 <!ENTITY goBackCmd.commandKey "[">
 <!ENTITY prevStarredMsgCmd.label "Starred Message">
 <!ENTITY prevStarredMsgCmd.accesskey "S">
 <!ENTITY startPageCmd.label "Mail Start Page">
 <!ENTITY startPageCmd.accesskey "S">
+
+<!-- Message Menu -->
 <!ENTITY msgMenu.label "Message">
 <!ENTITY msgMenu.accesskey "M">
 <!ENTITY newMsgCmd.label "New Message">
 <!ENTITY newMsgCmd.accesskey "N">
 <!ENTITY newNewMsgCmd.label "Message">
 <!ENTITY newNewMsgCmd.accesskey "M">
 <!ENTITY archiveMsgCmd.label "Archive">
 <!ENTITY archiveMsgCmd.accesskey "A">
@@ -312,16 +327,19 @@ you can use these alternative items. Oth
 <!ENTITY replyMsgCmd.key  "r">
 <!ENTITY replySenderCmd.label "Reply to Sender Only">
 <!ENTITY replySenderCmd.accesskey "R">
 <!ENTITY replyNewsgroupCmd.label "Reply to Newsgroup">
 <!ENTITY replyNewsgroupCmd.accesskey  "y">
 <!ENTITY replyToAllMsgCmd.label "Reply to All">
 <!ENTITY replyToAllMsgCmd.accesskey  "p">
 <!ENTITY replyToAllMsgCmd.key  "r">
+<!ENTITY replyToListMsgCmd.label "Reply to List">
+<!ENTITY replyToListMsgCmd.accesskey  "L">
+<!ENTITY replyToListMsgCmd.key  "l">
 <!ENTITY forwardMsgCmd.label "Forward">
 <!ENTITY forwardMsgCmd.accesskey "F">
 <!ENTITY forwardMsgCmd.key  "l">
 <!ENTITY forwardAsMenu.label "Forward As">
 <!ENTITY forwardAsMenu.accesskey "w">
 <!ENTITY forwardAsInline.label "Inline">
 <!ENTITY forwardAsInline.accesskey "I">
 <!ENTITY forwardAsAttachmentCmd.label "Attachment">
@@ -390,16 +408,24 @@ you can use these alternative items. Oth
 <!ENTITY markAsNotJunkCmd.label "As Not Junk">
 <!ENTITY markAsNotJunkCmd.accesskey "N">
 <!ENTITY markAsNotJunkCmd.key "j">
 <!ENTITY recalculateJunkScoreCmd.label "Run Junk Mail Controls">
 <!ENTITY recalculateJunkScoreCmd.accesskey "C">
 <!ENTITY openMessageWindowCmd.label "Open Message">
 <!ENTITY openMessageWindowCmd.accesskey "O">
 <!ENTITY openMessageWindowCmd.key "o">
+<!ENTITY openFeedMessage.label "Open Feed Message">
+<!ENTITY openFeedMessage.accesskey "O">
+<!ENTITY openFeedWebPageInWindow.label "Web Page in New Window">
+<!ENTITY openFeedWebPageInWindow.accesskey "W">
+<!ENTITY openFeedSummaryInWindow.label "Summary in New Window">
+<!ENTITY openFeedSummaryInWindow.accesskey "S">
+<!ENTITY openFeedWebPageInMP.label "Toggle Web Page and Summary in Message Pane">
+<!ENTITY openFeedWebPageInMP.accesskey "T">
 
 <!-- Windows Menu -->
 <!ENTITY windowMenu.label "Window">
 
 <!-- Tools Menu -->
 <!ENTITY tasksMenu.label "Tools">
 <!ENTITY tasksMenu.accesskey "T">
 <!ENTITY messengerCmd.label "Mail &amp; Newsgroups">
@@ -433,16 +459,17 @@ you can use these alternative items. Oth
         which is placed under the Edit menu on Unix systems -->
 <!ENTITY accountManagerCmdUnix.accesskey "A">
 
 <!-- Mail Toolbar -->
 <!ENTITY getMsgButton.label "Get Mail">
 <!ENTITY newMsgButton.label "Write">
 <!ENTITY replyButton.label "Reply">
 <!ENTITY replyAllButton.label "Reply All">
+<!ENTITY replyListButton.label "Reply to List">
 <!ENTITY forwardButton.label "Forward">
 <!ENTITY fileButton.label "File">
 <!ENTITY nextButton.label "Next">
 <!ENTITY previousButton.label "Previous">
 <!ENTITY backButton1.label "Back">
 <!ENTITY goForwardButton1.label "Forwards">
 <!ENTITY deleteButton.label "Delete">
 <!ENTITY undeleteButton.label "Undelete">
@@ -464,16 +491,17 @@ you can use these alternative items. Oth
 <!ENTITY advancedButton.tooltip "Advanced message search">
 <!ENTITY getMsgButton.tooltip "Get new messages">
 <!ENTITY getAllNewMsgCmd.label "Get All New Messages">
 <!ENTITY getAllNewMsgCmd.accesskey "G">
 <!ENTITY getAllNewMsgCmd.key "t">
 <!ENTITY newMsgButton.tooltip "Create a new message">
 <!ENTITY replyButton.tooltip "Reply to the message">
 <!ENTITY replyAllButton.tooltip "Reply to sender and all recipients">
+<!ENTITY replyListButton.tooltip "Reply to mailing list">
 <!ENTITY forwardButton.tooltip "Forward selected message">
 <!ENTITY fileButton.tooltip "File selected message">
 <!ENTITY nextButton.tooltip "Move to the next unread message">
 <!ENTITY previousButton.tooltip "Move to the previous unread message">
 <!ENTITY goForwardButton.tooltip "Go forwards one message">
 <!ENTITY goBackButton.tooltip "Go back one message">
 <!ENTITY deleteButton.tooltip "Delete selected message or folder">
 <!ENTITY undeleteButton.tooltip "Undelete selected message">
@@ -626,16 +654,18 @@ you can use these alternative items. Oth
 <!ENTITY contextEditAsNew.label "Edit As New…">
 <!ENTITY contextEditAsNew.accesskey "E">
 <!ENTITY contextReplySender.label "Reply to Sender Only">
 <!ENTITY contextReplySender.accesskey "R">
 <!ENTITY contextReplyNewsgroup.label "Reply to Newsgroup">
 <!ENTITY contextReplyNewsgroup.accesskey "y">
 <!ENTITY contextReplyAll.label "Reply to All">
 <!ENTITY contextReplyAll.accesskey "A">
+<!ENTITY contextReplyList.label "Reply to List">
+<!ENTITY contextReplyList.accesskey "L">
 <!ENTITY contextForward.label "Forward">
 <!ENTITY contextForward.accesskey "F">
 <!ENTITY contextForwardAsAttachment.label "Forward as Attachments">
 <!ENTITY contextForwardAsAttachment.accesskey "o">
 <!ENTITY contextMoveMsgMenu.label "Move To">
 <!ENTITY contextMoveMsgMenu.accesskey "M">
 <!ENTITY contextMoveCopyMsgRecentMenu.label "Recent">
 <!ENTITY contextMoveCopyMsgRecentMenu.accesskey "R">
@@ -649,18 +679,18 @@ you can use these alternative items. Oth
 <!ENTITY contextPrintPreview.accesskey "v">
 
 <!-- Junk Bar -->
 <!ENTITY junkBarMessage1.label "Junk Mail">
 <!ENTITY junkBarButton1.label "Not Junk">
 <!ENTITY junkInfoButton.label "?">
 
 <!-- Remote Content Bar -->
-<!ENTITY remoteContentMessage1.label "To protect your privacy, remote images have been blocked.">
-<!ENTITY loadRemoteContentButton2.label "Display Images Now">
+<!ENTITY remoteContentMessage2.label "To protect your privacy, &brandShortName; has blocked remote content in this message.">
+<!ENTITY loadRemoteContentButton3.label "Show Remote Content">
 
 <!-- Phishing Bar -->
 <!ENTITY phishingBarMessage2.label "This message may be a scam.">
 <!ENTITY removePhishingBarButton1.label "Ignore Warning">
 <!ENTITY reportPhishingError1.label "This message doesn't appear to be a scam.">
 
 <!-- Message Header Button Box (to show hidden email addresses) -->
 <!ENTITY more.label "more">
--- a/mail/chrome/messenger/messenger.properties
+++ b/mail/chrome/messenger/messenger.properties
@@ -38,16 +38,18 @@
 
 # The following are used by the messenger application
 #
 removeAccount=Delete Account…
 newFolderMenuItem=Folder…
 newSubfolderMenuItem=Subfolder…
 newFolder=New Folder…
 newSubfolder=New Subfolder…
+markFolderRead=Mark Folder Read;Mark Folders Read
+markNewsgroupRead=Mark Newsgroup Read;Mark Newsgroups Read
 folderProperties=Folder Properties
 newTag=New Tag…
 getNextNMessages=Get Next %S News Messages
 advanceNextPrompt=Advance to next unread message in %S?
 titleNewsPreHost=on
 replyToSender=Reply to Sender
 reply=Reply
 EMLFiles=Mail Files
@@ -167,17 +169,16 @@ inboxFolderName=Inbox
 trashFolderName=Deleted
 sentFolderName=Sent
 draftsFolderName=Drafts
 templatesFolderName=Templates
 outboxFolderName=Outbox
 junkFolderName=Junk
 archivesFolderName=Archives
 
-
 # Error message for special folder deletion on imap accounts
 # LOCALIZATION NOTE (specialFolderDeletionErr): Do not translate "IMAP" in the line below
 specialFolderDeletionErr=Deletion of special folder %S is not allowed for IMAP accounts.
 specialFolderDeletionErrTitle=Special Folder Deletion
 
 # "Normal" priority is often blank,
 # depending on the consumers of these strings
 priorityLowest=Lowest
@@ -309,16 +310,19 @@ mailAcctType=Mail
 newsAcctType=News
 
 # LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
 nocachedbodytitle=<TITLE>Go Online to View This Message</TITLE>\n
 
 # mailWindowOverlay.js
 confirmUnsubscribeTitle=Confirm Unsubscribe
 confirmUnsubscribeText=Are you sure you want to unsubscribe from %S?
+confirmUnsubscribeManyText=Are you sure you want to unsubscribe from these newsgroups?
+feedNoSummaryTitle=No Feed Summary
+feedNoSummaryAlert=This is a news feed in an old format, which does not store the Summary of the news item. Therefore it cannot be displayed.
 
 # msgHdrViewOverlay.js
 openLabel=Open
 openLabelAccesskey=O
 saveLabel=Save As…
 saveLabelAccesskey=A
 detachLabel=Detach…
 detachLabelAccesskey=D
@@ -428,32 +432,34 @@ updatesItem_resumeFallback=Resume Downloading Update…
 updatesItem_pending=Apply Downloaded Update Now…
 updatesItem_pendingFallback=Apply Downloaded Update Now…
 
 # Folder Pane Header Title Strings
 folderPaneHeader_all=All Folders
 folderPaneHeader_unread=Unread Folders
 folderPaneHeader_favorite=Favourite Folders
 folderPaneHeader_recent=Recent Folders
+folderPaneHeader_smart=Smart Folders
+smartAccountName=Smart Folders
 
 # Copy / Move to Folder Again
 #LOCALIZATION NOTE %1$S is the name of the folder we will move to. moveToFolderAgainAccessKey
 # should have the same value as copyToFolderAgainAccessKey as they are the same menu item in the UI
 # moveToFolderAgainAccessKey should also be a letter that occurs before %1$S
 moveToFolderAgain=Move to "%1$S" Again
 moveToFolderAgainAccessKey=t
 #LOCALIZATION NOTE %1$S is the name of the folder we will copy to
 # copyToFolderAgainAccessKey
 # should have the same value as moveToFolderAgainAccessKey as they are the same menu item in the UI
 # copyToFolderAgainAccessKey should also be a letter that occurs before %1$S
 copyToFolderAgain=Copy to "%1$S" Again
 copyToFolderAgainAccessKey=t
 
-#LOCALIZATION NOTE %1$S is the e-mail address of the person we will allow remote images for
-alwaysLoadRemoteContentForSender1= Always load remote images from %1$S 
+#LOCALIZATION NOTE %1$S is the e-mail address of the person we will allow remote content for
+alwaysLoadRemoteContentForSender2= Always load remote content from %1$S 
 
 # Strings for growl notifications on Mac OS X
 growlNotification=New Mail
 
 # mailCommands.js
 emptyJunkTitle=Confirm
 emptyJunkMessage=Are you sure you want to permanently delete all messages and subfolders in the Junk folder?
 emptyJunkDontAsk=Don't ask me again.
@@ -469,18 +475,23 @@ processingJunkMessages=Processing Junk M
 fileNotFoundTitle = File Not Found
 #LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
 fileNotFoundMsg = The file %S does not exist.
 
 # second person direct object pronoun; used in the collapsed header view if
 # the user is in the To or Cc field of a message
 headerFieldYou=You
 
-# The what's new tab title, shown on version update
-whatsNew=What's New
+# Shown when content tabs are being loaded.
+loadingTab=Loading…
+
+applyToCollapsedMsgsTitle=Confirm Delete of Messages in Collapsed Thread(s)
+applyToCollapsedMsgs=Warning - this will delete messages in collapsed thread(s)
+applyToCollapsedAlwaysAskCheckbox=Always ask me before deleting messages in collapsed threads
+applyNowButton=Apply
 
 #LOCALIZATION NOTE (glodaSearch_results_why_*):  These strings populate the
 # glodaWhyColumn when performing a gloda-backed search, explaining why a
 # specific result is present in the search.  Because of how the message grouping
 # mechanism works, this value is both the value in the "Why" column as well as
 # the header for the group (when sorting/grouping on the why column.)  Short
 # strings are preferable so the why column can be understood without taking up
 # too much space.
--- a/mail/chrome/messenger/messengercompose/composeMsgs.properties
+++ b/mail/chrome/messenger/messengercompose/composeMsgs.properties
@@ -269,19 +269,21 @@ saveDlogMessage=Message has not been sen
 
 ## generics string
 defaultSubject=(no subject)
 chooseFileToAttach=Attach File(s)
 
 ##
 windowTitlePrefix=Write:
 
-## String used by the dialog that ask the user to enter a subject
-sendMsgTitle=Send Message
-subjectDlogMessage=You did not specify a subject for this message. If you would like to provide one, please type it now.
+## String used by the empty subject dialog
+subjectEmptyTitle=Subject Reminder
+subjectEmptyMessage=Your message doesn't have a subject.
+sendWithEmptySubjectButton=&Send Without Subject
+cancelSendingButton=&Cancel Sending
 
 ## String used by the dialog that informs the user about the newsgroup recipient
 recipientDlogMessage=This account only supports email recipients. Continuing will ignore newsgroups.
 
 #String used by the alert that tells the user an e-mail address is invalid
 addressInvalid=%1$S is not a valid email address because it is not of the form user@host. You must correct it before sending the email.
 ## String used by the dialog that ask the user to attach a web page
 attachPageDlogTitle=Please specify a location to attach
@@ -322,8 +324,18 @@ mailnews.reply_header_ondate=On %s
 
 ## reply header in composeMsg
 ## user specified 
 mailnews.reply_header_originalmessage=-------- Original Message --------
 
 ## Strings used by the rename attachment dialog
 renameAttachmentTitle=Rename Attachment
 renameAttachmentMessage=New attachment name:
+
+## Attachment Reminder
+## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated
+##   words that that should trigger an attachment reminder.
+mail.compose.attachment_reminder_keywords=.doc,.pdf,attachment,attach,attached,attaching,enclosed,CV,cover letter
+attachmentReminderTitle=Attachment Reminder
+attachmentReminderMsg=Did you forget to add an attachment?
+attachmentReminderYesIForgot=Oh, I did!
+attachmentReminderFalseAlarm=No, Send Now
+
--- a/mail/chrome/messenger/msgHdrViewOverlay.dtd
+++ b/mail/chrome/messenger/msgHdrViewOverlay.dtd
@@ -55,29 +55,27 @@
 <!ENTITY inReplyToField2.label "in-reply-to ">
 <!ENTITY originalWebsite2.label "website ">
 
 <!ENTITY editMessageDescription.label "This is a draft message">
 <!ENTITY editMessageButton.label "Edit…">
 <!ENTITY archiveButton.label "archive">
 <!ENTITY hdrReplyButton.label "reply">
 <!ENTITY hdrReplyAllButton.label "reply all">
+<!ENTITY hdrReplyListButton.label "reply list">
 <!ENTITY hdrForwardButton.label "forward">
 <!ENTITY hdrJunkButton.label "junk">
 <!ENTITY trashButton.tooltiptext "delete">
 
 <!ENTITY otherActionsButton.label "other actions">
 <!ENTITY saveAsMenuItem.label "save as…">
 <!ENTITY saveAsMenuItem.accesskey "S">
 <!ENTITY viewSourceMenuItem.label "view source…">
 <!ENTITY viewSourceMenuItem.accesskey "V">
 
-<!ENTITY hideDetailsButton.label "hide details">
-<!ENTITY showDetailsButton.label "show details">
-
 <!ENTITY openAttachmentCmd.label    "Open">
 <!ENTITY openAttachmentCmd.accesskey    "O">
 <!ENTITY saveAsAttachmentCmd.label    "Save As…">
 <!ENTITY saveAsAttachmentCmd.accesskey    "A">
 <!ENTITY detachAttachmentCmd.label    "Detach…">
 <!ENTITY deleteAttachmentCmd.label    "Delete">
 <!ENTITY saveAllAttachmentsCmd.label    "Save All…">
 <!ENTITY saveAllAttachmentsCmd.accesskey    "S">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/multimessageview.dtd
@@ -0,0 +1,3 @@
+<!ENTITY window.title             "Message Summary">
+<!ENTITY selectedmessages.label   "Selected Messages">
+<!ENTITY archive.label            "archive">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/multimessageview.properties
@@ -0,0 +1,16 @@
+# LOCALIZATION NOTE (selectedNMessages, acrossNThreads): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of threads or solitary messages selected
+# example: 4 conversations
+NConversations=#1 conversation; #1 conversations
+
+numMsgs=#1 message;#1 messages
+countUnread=, #1 unread;, #1 unread
+Nmessages=(#1 message);(#1 messages)
+
+noSubject=(no subject)
+
+# thread and multiple message selection summaries
+messagesSize=These messages take up: #1 #2.
+yesterday=yesterday
+noticeText= (Note: #1 messages are selected, the first #2 are shown)
--- a/mail/chrome/messenger/preferences/advanced.dtd
+++ b/mail/chrome/messenger/preferences/advanced.dtd
@@ -2,70 +2,74 @@
 <!ENTITY itemDisplay.label       "Reading &amp; Display">
 <!ENTITY itemUpdate.label        "Update">
 <!ENTITY itemNetworking.label    "Network &amp; Disc Space">
 <!ENTITY itemCertificates.label  "Certificates">
 
 <!-- General Settings -->
 
 <!ENTITY enableGlodaSearch.label       "Enable Global Search and Indexer">
-<!ENTITY enableGlodaSearch.accesskey   "I">
-<!ENTITY systemDefaults.label          "System Defaults">
+<!ENTITY enableGlodaSearch.accesskey   "E">
+<!ENTITY systemIntegration.label       "System Integration">
 <!ENTITY alwaysCheckDefault.label      "Always check to see if &brandShortName; is the default mail client on startup">
-<!ENTITY alwaysCheckDefault.accesskey  "l">
+<!ENTITY alwaysCheckDefault.accesskey  "A">
+<!ENTITY searchIntegration.label       "Allow &searchIntegration.engineName; to search messages">
+<!ENTITY searchIntegration.accesskey   "S">
 <!ENTITY checkNow.label                "Check Now">
 <!ENTITY checkNow.accesskey            "N">
 <!ENTITY configEditDesc.label          "Advanced Configuration">
 <!ENTITY configEdit.label              "Config Editor…">
-<!ENTITY configEdit.accesskey          "g">
+<!ENTITY configEdit.accesskey          "C">
 <!ENTITY returnReceiptsInfo.label      "Determine how &brandShortName; handles return receipts">
 <!ENTITY showReturnReceipts.label      "Return Receipts…">
 <!ENTITY showReturnReceipts.accesskey  "R">
 
 <!-- Display and Reading Settings -->
 <!ENTITY reading.caption               "Reading">
 <!ENTITY display.caption               "Display">
 <!ENTITY showCondensedAddresses.label  "Show only display name for people in my address book">
-<!ENTITY showCondensedAddresses.accesskey "p">
+<!ENTITY showCondensedAddresses.accesskey "S">
 
 <!ENTITY autoMarkAsRead.label          "Automatically mark messages as read">
 <!ENTITY autoMarkAsRead.accesskey      "A">
 <!ENTITY markAsReadNoDelay.label       "Immediately on display">
 <!ENTITY markAsReadNoDelay.accesskey   "d">
 <!-- LOCALIZATION NOTE (markAsReadDelay.label): This will concatenate to
      "After displaying for [___] seconds",
      using (markAsReadDelay.label) and a number (secondsLabel.label). -->
 <!ENTITY markAsReadDelay.label         "After displaying for">
 <!ENTITY markAsReadDelay.accesskey     "e">
 <!ENTITY secondsLabel.label            "seconds">
 <!ENTITY openMsgIn.label               "Open messages in:">
 <!ENTITY reuseExpRadio0.label          "A new message window">
-<!ENTITY reuseExpRadio0.accesskey      "i">
+<!ENTITY reuseExpRadio0.accesskey      "n">
 <!ENTITY reuseExpRadio1.label          "An existing message window">
-<!ENTITY reuseExpRadio1.accesskey      "x">
+<!ENTITY reuseExpRadio1.accesskey      "e">
+<!ENTITY closeMsgWindowOnDelete.label  "Close message window on delete">
+<!ENTITY closeMsgWindowOnDelete.accesskey "C">
 
 <!-- Update -->
 <!ENTITY autoCheck.label                "Automatically check for updates to:">
 <!ENTITY enableAppUpdate.label          "&brandShortName;">
 <!ENTITY enableAppUpdate.accesskey      "h">
 <!ENTITY enableAddonsUpdate.label       "Installed Add-ons">
-<!ENTITY enableAddonsUpdate.accesskey   "t">
+<!ENTITY enableAddonsUpdate.accesskey   "A">
 <!ENTITY whenUpdatesFound.label         "When updates to &brandShortName; are found,">
 <!ENTITY modeAskMe.label                "Ask me what I want to do">
 <!ENTITY modeAskMe.accesskey            "A">
 <!ENTITY modeAutomatic.label            "Automatically download and install the update">
 <!ENTITY modeAutomatic.accesskey        "d">
 <!ENTITY modeAutoAddonWarn.label        "Warn me if this will disable any of my add-ons">
 <!ENTITY modeAutoAddonWarn.accesskey    "W">
 <!ENTITY showUpdates.label              "Show Update History">
 <!ENTITY showUpdates.accesskey          "U">
 
 <!-- Networking and Disk Space -->
 <!ENTITY showSettings.label            "Settings…">
-<!ENTITY showSettings.accesskey        "n">
+<!ENTITY showSettings.accesskey        "S">
 <!ENTITY proxiesConfigure.label        "Configure how &brandShortName; connects to the Internet">
 <!ENTITY connectionsInfo.caption       "Connection">
 <!ENTITY offlineInfo.caption           "Offline">
 <!ENTITY offlineInfo.label             "Configure offline settings">
 <!ENTITY showOffline.label             "Offline…">
 <!ENTITY showOffline.accesskey         "O">
 
 <!ENTITY Diskspace "Disc Space">
@@ -82,15 +86,15 @@
 <!ENTITY useCacheBefore.label            "Use up to">
 <!ENTITY useCacheBefore.accesskey        "U">
 <!ENTITY useCacheAfter.label             "MB of space for the cache">
 <!ENTITY clearCacheNow.label             "Clear Now">
 <!ENTITY clearCacheNow.accesskey         "C">
 
 <!-- Certificates -->
 <!ENTITY viewCertificates.label         "View Certificates">
-<!ENTITY viewCertificates.accesskey     "a">
+<!ENTITY viewCertificates.accesskey     "C">
 <!ENTITY viewCRLs.label                 "Revocation Lists">
-<!ENTITY viewCRLs.accesskey             "e">
+<!ENTITY viewCRLs.accesskey             "R">
 <!ENTITY validation.label               "Validation">
-<!ENTITY validation.accesskey           "d">
+<!ENTITY validation.accesskey           "V">
 <!ENTITY viewSecurityDevices.label      "Security Devices">
-<!ENTITY viewSecurityDevices.accesskey  "u">
+<!ENTITY viewSecurityDevices.accesskey  "S">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/preferences/attachmentReminder.dtd
@@ -0,0 +1,8 @@
+<!ENTITY attachmentReminderDialog.title   "Attachment Reminder Keywords">
+<!ENTITY attachKeywordText.label          "&brandShortName; will warn you about missing attachments if you're about to send an email containing one of these keywords.">
+<!ENTITY addKeywordButton.label           "Add">
+<!ENTITY addKeywordButton.accesskey       "A">
+<!ENTITY editKeywordButton.label          "Edit">
+<!ENTITY editKeywordButton.accesskey      "E">
+<!ENTITY removeKeywordButton.label        "Delete">
+<!ENTITY removeKeywordButton.accesskey    "D">
--- a/mail/chrome/messenger/preferences/compose.dtd
+++ b/mail/chrome/messenger/preferences/compose.dtd
@@ -2,17 +2,17 @@
 <!ENTITY itemAutoComplete.label              "Addressing">
 <!ENTITY itemSpellCheck.label                "Spelling">
 
 <!ENTITY forwardMsg.label                     "Forward messages:">
 <!ENTITY forwardMsg.accesskey                 "F">
 <!ENTITY inline.label                         "Inline">
 <!ENTITY asAttachment.label                   "As Attachment">
 <!ENTITY addExtension.label                   "add extension to file name">
-<!ENTITY addExtension.accesskey               "f">
+<!ENTITY addExtension.accesskey               "e">
 
 <!ENTITY htmlComposeHeader.label              "HTML">
 <!ENTITY font.label                           "Font:">
 <!ENTITY font.accesskey                       "n">
 <!ENTITY size.label                           "Size:">
 <!ENTITY size.accesskey                       "z">
 <!ENTITY fontColor.label                      "Text Colour:">
 <!ENTITY fontColor.accesskey                  "T">
@@ -45,8 +45,13 @@
 <!ENTITY directories.accesskey                 "D">
 <!ENTITY directoriesNone.label                 "None">
 <!ENTITY editDirectories.label                 "Edit Directories…">
 <!ENTITY editDirectories.accesskey             "E">
 
 <!ENTITY sendOptionsDescription.label          "Configure text format behaviour">
 <!ENTITY sendOptions.label                     "Send Options…">
 <!ENTITY sendOptions.accesskey                 "S">
+
+<!ENTITY attachmentReminder.label              "Check for missing attachments">
+<!ENTITY attachmentReminder.accesskey          "m">
+<!ENTITY attachmentReminderOptions.label       "Keywords…">
+<!ENTITY attachmentReminderOptions.accesskey   "K">
--- a/mail/chrome/messenger/preferences/preferences.properties
+++ b/mail/chrome/messenger/preferences/preferences.properties
@@ -37,8 +37,14 @@ fpTitleChooseApp=Select Helper Applicati
 fpTitleChooseDL=Select Download Folder
 
 #### Sound Notifications
 soundFilePickerTitle=Choose Sound
 
 #### Shell Service
 alreadyDefaultClientTitle=Default Client
 alreadyDefault=%S is already set as your default mail client.
+
+#### Attachment Reminder
+attachmentReminderAddDialogTitle=Add Keyword
+attachmentReminderAddText=Keyword:
+attachmentReminderEditDialogTitle=Edit Keyword
+attachmentReminderEditText=Keyword:
--- a/mail/chrome/messenger/search-attributes.properties
+++ b/mail/chrome/messenger/search-attributes.properties
@@ -1,57 +1,40 @@
-#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
-0=Subject
-1=From
-2=Body
-3=Date
-4=Priority
-5=Status
-6=To
-7=Cc
-8=To or Cc
-# 9 not visible
-9=Location
-# 10 not visible
-10=Message Key
-11=Age In Days
-# 12 not visible
-12=Folder Info
-13=Size (kB)
-# 14 not visible
-14=AnyText
-15=Tags
-# for AB and LDAP
-16=Any Name
-17=Display Name
-18=Nickname
-19=Screen Name
-20=Email
-21=Additional Email
-22=Any Number
-23=Work Phone
-24=Home Phone
-25=Fax
-26=Pager
-27=Mobile
-28=City
-29=Street
-30=Title
-31=Organisation
-32=Department
-33=reserved for AB
-34=reserved for AB
-35=reserved for AB
-36=reserved for AB
-37=reserved for AB
-38=reserved for AB
-39=reserved for AB
-40=reserved for AB
-41=reserved for AB
-42=reserved for AB
-43=reserved for AB
-44=Junk Score Origin
-45=Junk Percent
-46=Attachment Status
-47=Junk Status 
-48=Label
-49=Customise…
-# don't use above 49
+#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
+#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp
+Subject=Subject
+From=From
+Body=Body
+Date=Date
+Priority=Priority
+Status=Status
+To=To
+Cc=Cc
+ToOrCc=To or Cc
+AgeInDays=Age In Days
+SizeKB=Size (kB)
+Tags=Tags
+# for AB and LDAP
+AnyName=Any Name
+DisplayName=Display Name
+Nickname=Nickname
+ScreenName=Screen Name
+Email=Email
+AdditionalEmail=Additional Email
+AnyNumber=Any Number
+WorkPhone=Work Phone
+HomePhone=Home Phone
+Fax=Fax
+Pager=Pager
+Mobile=Mobile
+City=City
+Street=Street
+Title=Title
+Organization=Organisation
+Department=Department
+# more mailnews
+FromToCcOrBcc=From, To, Cc or Bcc
+JunkScoreOrigin=Junk Score Origin
+JunkPercent=Junk Percent
+AttachmentStatus=Attachment Status
+JunkStatus=Junk Status
+Label=Label
+Customize=Customise…
deleted file mode 100644
--- a/mail/chrome/messenger/search/searchIntegrationDialogWin.dtd
+++ /dev/null
@@ -1,6 +0,0 @@
-<!ENTITY searchIntegration.engineName "Windows Search">
-<!ENTITY searchIntegration.title "&searchIntegration.engineName; Integration">
-<!ENTITY searchIntegration.description "Would you like to enable &searchIntegration.engineName; to index and search through &brandShortName; mail and news messages?">
-
-<!ENTITY searchIntegration.accept "Enable &searchIntegration.engineName;">
-<!ENTITY searchIntegration.cancel "Don't Enable &searchIntegration.engineName;">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/searchIntegrationDefault.dtd
@@ -0,0 +1,3 @@
+<!-- LOCALIZATION NOTE: This is the search engine name for platforms that don't
+     support it, and should be left blank -->
+<!ENTITY searchIntegration.engineName "">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/searchIntegrationMac.dtd
@@ -0,0 +1,1 @@
+<!ENTITY searchIntegration.engineName "Spotlight">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/searchIntegrationWin.dtd
@@ -0,0 +1,1 @@
+<!ENTITY searchIntegration.engineName "Windows Search">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/systemIntegrationDialog.dtd
@@ -0,0 +1,12 @@
+<!ENTITY systemIntegration.title  "System Integration">
+<!ENTITY defaultClient.intro  "Use &brandShortName; as the default client for:">
+
+<!ENTITY email.label "Email">
+<!ENTITY newsgroups.label "Newsgroups">
+<!ENTITY feeds.label "Feeds">
+
+<!ENTITY checkOnStartup.label "Always perform this check when starting &brandShortName;">
+<!ENTITY checkOnStartup.accesskey "A">
+
+<!ENTITY searchIntegration.label "Allow &searchIntegration.engineName; to search messages">
+<!ENTITY searchIntegration.accesskey "S">
new file mode 100644
--- /dev/null
+++ b/mail/chrome/overrides/netError.dtd
@@ -0,0 +1,180 @@
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "Problem loading page">
+<!ENTITY retry.label "Try Again">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Unable to connect">
+<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
+
+<!ENTITY deniedPortAccess.title "This address is restricted">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "Server not found">
+<!ENTITY dnsNotFound.longDesc "
+<ul>
+  <li>Check the address for typing errors such as
+    <strong>ww</strong>.example.com instead of
+    <strong>www</strong>.example.com</li>
+  <li>If you are unable to load any pages, check your computer's network
+    connection.</li>
+  <li>If your computer or network is protected by a firewall or proxy, make sure
+    that &brandShortName; is permitted to access the Web.</li>
+</ul>
+">
+
+<!ENTITY fileNotFound.title "File not found">
+<!ENTITY fileNotFound.longDesc "
+<ul>
+  <li>Check the file name for capitalisation or other typing errors.</li>
+  <li>Check to see if the file was moved, renamed or deleted.</li>
+</ul>
+">
+
+<!ENTITY generic.title "Oops.">
+<!ENTITY generic.longDesc "
+<p>&brandShortName; can't load this page for some reason.</p>
+">
+
+<!ENTITY malformedURI.title "The address isn't valid">
+<!ENTITY malformedURI.longDesc "
+<ul>
+  <li>Web addresses are usually written like
+    <strong>http://www.example.com/</strong></li>
+  <li>Make sure that you're using forward slashes (i.e.
+    <strong>/</strong>).</li>
+</ul>
+">
+
+<!ENTITY netInterrupt.title "The connection was interrupted">
+<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
+
+<!ENTITY netOffline.title "Offline mode">
+<!ENTITY netOffline.longDesc "
+<ul>
+  <li>Place &brandShortName; in online mode, then try again.</li>
+</ul>
+">
+
+<!ENTITY contentEncodingError.title "Content encoding error">
+<!ENTITY contentEncodingError.longDesc "
+<ul>
+  <li>Please contact the website owners to inform them of this problem.</li>
+</ul>
+">
+
+<!ENTITY unsafeContentType.title "Unsafe file type">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+  <li>Please contact the website owners to inform them of this problem.</li>
+</ul>
+">
+
+<!ENTITY netReset.title "The connection was reset">
+<!ENTITY netReset.longDesc "&sharedLongDesc;">
+
+<!ENTITY netTimeout.title "The connection has timed out">
+<!ENTITY netTimeout.longDesc "&sharedLongDesc;">
+
+<!ENTITY protocolNotFound.title "The address wasn't understood">
+<!ENTITY protocolNotFound.longDesc "
+<ul>
+  <li>You might need to install other software to open this address.</li>
+</ul>
+">
+
+<!ENTITY proxyConnectFailure.title "The proxy server is refusing connections">
+<!ENTITY proxyConnectFailure.longDesc "
+<ul>
+  <li>Check the proxy settings to make sure that they are correct.</li>
+  <li>Contact your network administrator to make sure the proxy server is
+    working.</li>
+</ul>
+">
+
+<!ENTITY proxyResolveFailure.title "Unable to find the proxy server">
+<!ENTITY proxyResolveFailure.longDesc "
+<ul>
+  <li>Check the proxy settings to make sure that they are correct.</li>
+  <li>Check to make sure your computer has a working network connection.</li>
+  <li>If your computer or network is protected by a firewall or proxy, make sure
+    that &brandShortName; is permitted to access the Web.</li>
+</ul>
+">
+
+<!ENTITY redirectLoop.title "The page isn't redirecting properly">
+<!ENTITY redirectLoop.longDesc "
+<ul>
+  <li>This problem can sometimes be caused by disabling or refusing to accept
+    cookies.</li>
+</ul>
+">
+
+<!ENTITY unknownSocketType.title "Unexpected response from server">
+<!ENTITY unknownSocketType.longDesc "
+<ul>
+  <li>Check to make sure your system has the Personal Security Manager
+    installed.</li>
+  <li>This might be due to a non-standard configuration on the server.</li>
+</ul>
+">
+
+<!ENTITY nssFailure2.title "Secure connection failed">
+<!ENTITY nssFailure2.longDesc "
+<ul>
+  <li>The page you are trying to view can not be shown because the authenticity of the received data could not be verified.</li>
+  <li>Please contact the website owners to inform them of this problem.</li>
+</ul>
+">
+
+<!ENTITY nssBadCert.title "Secure connection failed">
+<!ENTITY nssBadCert.longDesc2 "
+<ul>
+  <li>This could be a problem with the server's configuration, or it could be
+someone trying to impersonate the server.</li>
+  <li>If you have connected to this server successfully in the past, the error may
+be temporary, and you can try again later.</li>
+</ul>
+">
+
+<!ENTITY sharedLongDesc "
+<ul>
+  <li>The site could be temporarily unavailable or too busy. Try again in a few
+    moments.</li>
+  <li>If you are unable to load any pages, check your computer's network
+    connection.</li>
+  <li>If your computer or network is protected by a firewall or proxy, make sure
+    that &brandShortName; is permitted to access the Web.</li>
+</ul>
+">
+
+<!ENTITY malwareBlocked.title "Suspected attack site!">
+<!ENTITY malwareBlocked.longDesc "
+<p>Attack sites try to install programs that steal private information, use your computer to attack others, or damage your system.</p>
+<p>Website owners who believe their site has been reported as an attack site in error may <a href='http://www.stopbadware.org/home/reviewinfo'>request a review</a>.</p>
+">
+
+<!ENTITY phishingBlocked.title "Suspected web forgery!">
+<!ENTITY phishingBlocked.longDesc "
+<p>Entering any personal information on this page may result in identity theft or other fraud.</p>
+<p>These types of web forgeries are used in scams known as phishing attacks, in which fraudulent web pages and emails are used to imitate sources you may trust.</p>
+">
+
+<!ENTITY securityOverride.linkText "Or you can add an exception…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Get me out of here!">
+<!ENTITY securityOverride.exceptionButtonLabel "Add Exception…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningText) - Do not translate the
+contents of the <xul:button> tags.  The only language content is the label= field,
+which uses strings already defined above. The button is included here (instead of
+netError.xhtml) because it exposes functionality specific to thunderbird. -->
+
+<!ENTITY securityOverride.warningText "
+<p>You should not add an exception if you are using an internet connection that you do not trust completely or if you are not used to seeing a warning for this server.</p>
+
+<xul:button xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul' id='getMeOutOfHereButton' label='&securityOverride.getMeOutOfHereButton;'/>
+<xul:button xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul' id='exceptionDialogButton' label='&securityOverride.exceptionButtonLabel;'/>
+">
+s
\ No newline at end of file
--- a/toolkit/chrome/global-platform/mac/intl.properties
+++ b/toolkit/chrome/global-platform/mac/intl.properties
@@ -1,5 +1,5 @@
-# moved from navigator/locale/navigator.properties
-intl.charset.default=ISO-8859-1
-# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
-# or use "..." unless \u2026 doesn't suit traditions in your locale.
-intl.ellipsis=…
+# moved from navigator/locale/navigator.properties
+intl.charset.default=ISO-8859-1
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
--- a/toolkit/chrome/global-platform/unix/intl.properties
+++ b/toolkit/chrome/global-platform/unix/intl.properties
@@ -1,5 +1,5 @@
-# moved from navigator/locale/navigator.properties
-intl.charset.default=ISO-8859-1
-# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
-# or use "..." unless \u2026 doesn't suit traditions in your locale.
-intl.ellipsis=…
+# moved from navigator/locale/navigator.properties
+intl.charset.default=ISO-8859-1
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
--- a/toolkit/chrome/global-platform/win/intl.properties
+++ b/toolkit/chrome/global-platform/win/intl.properties
@@ -1,5 +1,5 @@
-# moved from navigator/locale/navigator.properties
-intl.charset.default=ISO-8859-1
-# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
-# or use "..." unless \u2026 doesn't suit traditions in your locale.
-intl.ellipsis=…
+# moved from navigator/locale/navigator.properties
+intl.charset.default=ISO-8859-1
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…