
# HG changeset patch
# User Ian Neal <iann_cvs@blueyonder.co.uk>
# Date 1492041170 -3600
# Node ID b16eecf01fd9a037fdf09daa8f6a2501a5c4d592
# Parent  d4063234479d7700954a1f58e2c057fb945750f2
Bug 1343053 - Update en-GB for Gecko 52 - Thunderbird part r=me

diff --git a/calendar/chrome/calendar/calendar-event-dialog.dtd b/calendar/chrome/calendar/calendar-event-dialog.dtd
--- a/calendar/chrome/calendar/calendar-event-dialog.dtd
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -24,24 +24,28 @@
 <!ENTITY newevent.status.confirmed.accesskey      "C" >
 <!ENTITY newevent.status.needsaction.label        "Needs Action" >
 <!ENTITY newevent.status.inprogress.label         "In Process" >
 <!ENTITY newevent.status.completed.label          "Completed on" >
 
 <!-- The following entity is for New Task dialog only -->
 <!ENTITY newtodo.percentcomplete.label      "&#37; complete">
 
-<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label)
-   - These two labels are displayed side by side in the event dialog, make sure
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+     event.attendees.disallowcounter.label)
+   - These three labels are displayed side by side in the event dialog, make sure
    - they still fit in. -->
 <!ENTITY event.attendees.notify.label               "Notify attendees">
 <!ENTITY event.attendees.notify.accesskey           "f">
 <!ENTITY event.attendees.notifyundisclosed.label    "Separate invitation per attendee">
 <!ENTITY event.attendees.notifyundisclosed.accesskey  "x">
 <!ENTITY event.attendees.notifyundisclosed.tooltip  "This option sends one invitation email per attendee. Each invitation only contains the recipient attendee so that other attendee identities are not disclosed.">
+<!ENTITY event.attendees.disallowcounter.label       "Disallow counter">
+<!ENTITY event.attendees.disallowcounter.accesskey   "a">
+<!ENTITY event.attendees.disallowcounter.tooltip     "Indicates that you will not accept counterproposals">
 
 <!-- Keyboard Shortcuts -->
 <!ENTITY event.dialog.new.event.key2              "I">
 <!ENTITY event.dialog.new.task.key2               "D">
 <!ENTITY event.dialog.new.message.key2            "N">
 <!ENTITY event.dialog.close.key                   "W">
 <!ENTITY event.dialog.save.key                    "S">
 <!ENTITY event.dialog.saveandclose.key            "L">
@@ -61,20 +65,35 @@
 <!ENTITY  event.menu.item.new.task.label                  "Task">
 <!ENTITY  event.menu.item.new.task.accesskey              "T">
 <!ENTITY  event.menu.item.new.message.label               "Message">
 <!ENTITY  event.menu.item.new.message.accesskey           "M">
 <!ENTITY  event.menu.item.new.contact.label               "Address Book Contact">
 <!ENTITY  event.menu.item.new.contact.accesskey           "C">
 <!ENTITY  event.menu.item.close.label                     "Close">
 <!ENTITY  event.menu.item.close.accesskey                 "C">
+
+<!-- LOCALIZATION NOTE
+   - event.menu.item.save.accesskey is used for the "Save" menu item
+   - when editing events/tasks in a dialog window.
+   - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+   - when editing events/tasks in a tab. -->
 <!ENTITY  event.menu.item.save.label                      "Save">
 <!ENTITY  event.menu.item.save.accesskey                  "S">
+<!ENTITY  event.menu.item.save.tab.accesskey              "a">
+
+<!-- LOCALIZATION NOTE
+    - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+    - menu item when editing events/tasks in a dialog window.
+    - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+    - when editing events/tasks in a tab. -->
 <!ENTITY  event.menu.item.saveandclose.label              "Save and Close">
 <!ENTITY  event.menu.item.saveandclose.accesskey          "l">
+<!ENTITY  event.menu.item.saveandclose.tab.accesskey      "z">
+
 <!ENTITY  event.menu.item.delete.label                    "Delete…">
 <!ENTITY  event.menu.item.delete.accesskey                "D">
 <!ENTITY  event.menu.item.page.setup.label                "Page Setup">
 <!ENTITY  event.menu.item.page.setup.accesskey            "u">
 <!ENTITY  event.menu.item.print.label                     "Print">
 <!ENTITY  event.menu.item.print.accesskey                 "P">
 
 <!ENTITY  event.menu.edit.label                           "Edit">
@@ -141,58 +160,74 @@
 <!ENTITY event.email.tentative.attendees.label            "Compose Email to Undecided Attendees…">
 <!ENTITY event.email.tentative.attendees.accesskey        "U">
 <!ENTITY event.remove.attendees.label2                    "Remove all attendees">
 <!ENTITY event.remove.attendees.accesskey                 "R">
 <!ENTITY event.remove.attendee.label                      "Remove attendee">
 <!ENTITY event.remove.attendee.accesskey                  "e">
 
 <!-- Toolbar -->
-<!ENTITY  event.toolbar.save.label                        "Save and Close">
+<!ENTITY  event.toolbar.save.label2                       "Save">
+<!ENTITY  event.toolbar.saveandclose.label                "Save and Close">
 <!ENTITY  event.toolbar.delete.label                      "Delete">
 <!ENTITY  event.toolbar.attendees.label                   "Invite Attendees">
 <!ENTITY  event.toolbar.privacy.label                     "Privacy">
 
-<!ENTITY  event.toolbar.save.tooltip                      "Save and Close">
+<!ENTITY  event.toolbar.save.tooltip2                     "Save">
+<!ENTITY  event.toolbar.saveandclose.tooltip              "Save and Close">
 <!ENTITY  event.toolbar.delete.tooltip                    "Delete">
 <!ENTITY  event.toolbar.attendees.tooltip                 "Invite Attendees">
 <!ENTITY  event.toolbar.attachments.tooltip               "Add Attachments">
 <!ENTITY  event.toolbar.privacy.tooltip                   "Change Privacy">
 <!ENTITY  event.toolbar.priority.tooltip                  "Change Priority">
 <!ENTITY  event.toolbar.status.tooltip                    "Change Status">
 <!ENTITY  event.toolbar.freebusy.tooltip                  "Change Free/Busy time">
 
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+   - This is only visible in the UI if you have received a counterproposal before and are going to
+   - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+   - populate the form fields in the dialog, there's no other immediate action on clicking like with
+   - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+   - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+<!ENTITY counter.button.proposal.label                    "Apply proposal">
+<!ENTITY counter.button.proposal.accesskey                "p">
+<!ENTITY counter.button.proposal.tooltip2                 "Event fields will be filled in using the values from the counterproposal, only saving with or without additional changes will notify all attendees accordingly">
+<!ENTITY counter.button.original.label                    "Apply original data">
+<!ENTITY counter.button.original.accesskey                "r">
+<!ENTITY counter.button.original.tooltip2                 "The fields will be set to the values from the original event, before the counterproposal was made">
+
 <!-- Main page -->
 <!ENTITY event.title.textbox.label                        "Title:" >
-<!ENTITY event.title.textbox.accesskey                    "T">
+<!ENTITY event.title.textbox.accesskey                    "i">
 <!ENTITY event.location.label                             "Location:" >
 <!ENTITY event.location.accesskey                         "L">
 <!ENTITY event.categories.label                           "Category:">
 <!ENTITY event.categories.accesskey                       "y">
 <!ENTITY event.categories.textbox.label                   "Add a new category" >
 <!ENTITY event.calendar.label                             "Calendar:" >
 <!ENTITY event.calendar.accesskey                         "C">
 <!ENTITY event.attendees.label                            "Attendees:" >
-<!ENTITY event.attendees.accesskey                        "I" >
+<!ENTITY event.attendees.accesskey                        "n" >
 <!ENTITY event.alldayevent.label                          "All day Event" >
 <!ENTITY event.alldayevent.accesskey                      "d">
 <!ENTITY event.from.label                                 "Start:" >
 <!ENTITY event.from.accesskey                             "S">
 <!ENTITY task.from.label                                  "Start:" >
-<!ENTITY task.from.accesskey                              "B">
+<!ENTITY task.from.accesskey                              "S">
 <!ENTITY event.to.label                                   "End:" >
-<!ENTITY event.to.accesskey                               "n">
+<!ENTITY event.to.accesskey                               "u">
 <!ENTITY task.to.label                                    "Due Date:" >
 <!ENTITY task.to.accesskey                                "u">
 <!ENTITY task.status.label                                "Status:" >
 <!ENTITY task.status.accesskey                            "a">
 <!ENTITY event.repeat.label                               "Repeat:" >
 <!ENTITY event.repeat.accesskey                           "R">
 <!ENTITY event.until.label                                "Until:">
-<!ENTITY event.until.accesskey                            "i">
+<!ENTITY event.until.accesskey                            "B">
 <!ENTITY event.reminder.label                             "Reminder:" >
 <!ENTITY event.reminder.accesskey                         "m">
 <!ENTITY event.description.label                          "Description:" >
 <!ENTITY event.description.accesskey                      "p">
 <!ENTITY event.attachments.label                          "Attachments:" >
 <!ENTITY event.attachments.accesskey                      "h" >
 <!ENTITY event.attachments.menubutton.label               "Attach">
 <!ENTITY event.attachments.menubutton.accesskey           "A">
@@ -200,17 +235,17 @@
 <!ENTITY event.attachments.url.accesskey                  "W">
 <!ENTITY event.attachments.popup.remove.label             "Remove" >
 <!ENTITY event.attachments.popup.remove.accesskey         "R" >
 <!ENTITY event.attachments.popup.open.label               "Open" >
 <!ENTITY event.attachments.popup.open.accesskey           "O" >
 <!ENTITY event.attachments.popup.removeAll.label          "Remove All" >
 <!ENTITY event.attachments.popup.removeAll.accesskey      "A" >
 <!ENTITY event.attachments.popup.attachPage.label         "Attach Web Page…" >
-<!ENTITY event.attachments.popup.attachPage.accesskey     "W" >
+<!ENTITY event.attachments.popup.attachPage.accesskey     "g" >
 <!ENTITY event.url.label                                  "Related Link:" >
 <!ENTITY event.priority2.label                            "Priority:">
 
 <!ENTITY event.reminder.none.label                        "No reminder " >
 <!ENTITY event.reminder.0minutes.before.label             "0 minutes before" >
 <!ENTITY event.reminder.5minutes.before.label             "5 minutes before" >
 <!ENTITY event.reminder.15minutes.before.label            "15 minutes before" >
 <!ENTITY event.reminder.30minutes.before.label            "30 minutes before" >
@@ -372,11 +407,12 @@
 <!ENTITY read.only.category.label        "Category:">
 <!ENTITY read.only.organizer.label       "Organiser:">
 <!ENTITY read.only.reply.label           "Reply:">
 <!ENTITY read.only.accept.label          "I will attend">
 <!ENTITY read.only.decline.label         "I will not attend">
 <!ENTITY read.only.tentative.label       "I might attend">
 <!ENTITY read.only.needs.action.label    "I will confirm later">
 <!ENTITY read.only.reminder.label        "Reminder:">
+<!ENTITY read.only.attachments.label     "Attachments:">
 <!ENTITY read.only.attendees.label       "Attendees">
 <!ENTITY read.only.description.label     "Description">
 <!ENTITY read.only.link.label            "Related Link">
diff --git a/calendar/chrome/calendar/calendar-event-dialog.properties b/calendar/chrome/calendar/calendar-event-dialog.properties
--- a/calendar/chrome/calendar/calendar-event-dialog.properties
+++ b/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -409,8 +409,41 @@ repeatDetailsDay7Plural=Saturday
 # datepicker, below the minimonth, as an option for the until date.
 eventRecurrenceForeverLabel=Forever
 
 # LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
 # Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
 # The label on the monthly daypicker's last button that allows to select
 # the last day of the month inside a BYMONTHDAY rule.
 eventRecurrenceMonthlyLastDayLabel=Last day
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S has accepted the invitation, but made a counter proposal:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S has declined the invitation, but made a counter proposal:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S has delegated the invitation, but made a counter proposal:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S hasn't decided whether to participate and made a counter proposal:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S has accepted the invitation only tentatively and made a counter proposal:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=This is a counter proposal for a previous version of this event.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=You disallowed countering when sending out the invitation.
diff --git a/calendar/chrome/calendar/preferences/categories.dtd b/calendar/chrome/calendar/preferences/categories.dtd
--- a/calendar/chrome/calendar/preferences/categories.dtd
+++ b/calendar/chrome/calendar/preferences/categories.dtd
@@ -2,19 +2,19 @@
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!-- WARNING! This file contains UTF-8 encoded characters!
    - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
    - your editor isn't using UTF-8 encoding and may munge up the document!
   -->
 
-<!ENTITY pref.categories.add.title "Add Category">
-<!ENTITY pref.categories.addButton.label "Add…">
-<!ENTITY pref.categories.addButton.accesskey "A">
+<!ENTITY pref.categories.new.title "New Category">
+<!ENTITY pref.categories.newButton.label "New…">
+<!ENTITY pref.categories.newButton.accesskey "N">
 <!ENTITY pref.categories.edit.title "Edit Category">
 <!ENTITY pref.categories.editButton.label "Edit…">
 <!ENTITY pref.categories.editButton.accesskey "E">
 <!ENTITY pref.categories.removeButton.label "Remove">
 <!ENTITY pref.categories.removeButton.accesskey "R">
 <!ENTITY pref.categories.name.label "Name">
 <!ENTITY pref.categories.color.label "Colour">
 <!ENTITY pref.categories.usecolor.label "Use Colour">
diff --git a/calendar/chrome/calendar/preferences/general.dtd b/calendar/chrome/calendar/preferences/general.dtd
--- a/calendar/chrome/calendar/preferences/general.dtd
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -35,8 +35,12 @@
 
 <!ENTITY pref.calendar.todaypane.agenda.caption "Today Pane">
 <!ENTITY pref.soondays.label "The upcoming section shows:">
 <!ENTITY pref.soondays.accesskey "u">
 
 <!ENTITY pref.accessibility.label "Accessibility" >
 <!ENTITY pref.systemcolors.label "Optimise colours for accessibility" >
 <!ENTITY pref.systemcolors.accesskey "c">
+
+<!ENTITY pref.eventsandtasks.label "Events and Tasks" >
+<!ENTITY pref.editInTab.label "Edit events and tasks in a tab instead of in a dialog window." >
+<!ENTITY pref.editInTab.accesskey "t">
diff --git a/calendar/chrome/calendar/timezones.properties b/calendar/chrome/calendar/timezones.properties
--- a/calendar/chrome/calendar/timezones.properties
+++ b/calendar/chrome/calendar/timezones.properties
@@ -462,8 +462,18 @@ pref.timezone.Pacific.Bougainville=Pacif
 
 #added with 2.2015g
 pref.timezone.America.Fort_Nelson=America/Fort Nelson
 
 #added with 2.2016b
 pref.timezone.Europe.Ulyanovsk=Europe/Ulyanovsk
 pref.timezone.Europe.Astrakhan=Europe/Astrakhan
 pref.timezone.Asia.Barnaul=Asia/Barnaul
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asia/Yangon
+pref.timezone.Asia.Tomsk=Asia/Tomsk
+pref.timezone.Asia.Famagusta=Asia/Famagusta
+pref.timezone.Europe.Kirov=Europe/Kirov
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Europe/Saratov
+pref.timezone.Asia.Atyrau=Asia/Atyrau
diff --git a/calendar/chrome/lightning/lightning.dtd b/calendar/chrome/lightning/lightning.dtd
--- a/calendar/chrome/lightning/lightning.dtd
+++ b/calendar/chrome/lightning/lightning.dtd
@@ -45,24 +45,28 @@
 <!ENTITY lightning.imipbar.btnAcceptRecurrences.label                       "Accept all">
 <!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext                "Accept event invitation for all occurrences of the event">
 <!ENTITY lightning.imipbar.btnAdd.label                                     "Add">
 <!ENTITY lightning.imipbar.btnAdd.tooltiptext                               "Add the event to the calendar">
 <!ENTITY lightning.imipbar.btnDecline.label                                 "Decline">
 <!ENTITY lightning.imipbar.btnDecline2.tooltiptext                          "Decline event invitation">
 <!ENTITY lightning.imipbar.btnDeclineRecurrences.label                      "Decline all">
 <!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext               "Decline event invitation for all occurrences of the event">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label                          "Decline">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext                    "Decline the counter proposal">
 <!ENTITY lightning.imipbar.btnDelete.label                                  "Delete">
 <!ENTITY lightning.imipbar.btnDelete.tooltiptext                            "Delete from calendar">
 <!ENTITY lightning.imipbar.btnDetails.label                                 "Details…">
 <!ENTITY lightning.imipbar.btnDetails.tooltiptext                           "Show event details">
 <!ENTITY lightning.imipbar.btnMore.label                                    "More">
 <!ENTITY lightning.imipbar.btnMore.tooltiptext                              "Click to show more options">
 <!ENTITY lightning.imipbar.btnReconfirm2.label                              "Reconfirm">
 <!ENTITY lightning.imipbar.btnReconfirm.tooltiptext                         "Sends a reconfirmation to the organiser">
+<!ENTITY lightning.imipbar.btnReschedule.label                              "Reschedule">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext                        "Reschedule the event">
 <!ENTITY lightning.imipbar.btnSaveCopy.label                                "Save a copy">
 <!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext                          "Save a copy of the event to the calendar independently of replying to the organiser. The list of attendees will be cleared.">
 <!ENTITY lightning.imipbar.btnTentative.label                               "Tentative">
 <!ENTITY lightning.imipbar.btnTentative2.tooltiptext                        "Accept event invitation tentatively">
 <!ENTITY lightning.imipbar.btnTentativeRecurrences.label                    "Tentative all">
 <!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext             "Accept event invitation tentatively for all occurrences of the event">
 <!ENTITY lightning.imipbar.btnUpdate.label                                  "Update">
 <!ENTITY lightning.imipbar.btnUpdate.tooltiptext                            "Update event in calendar">
diff --git a/calendar/chrome/lightning/lightning.properties b/calendar/chrome/lightning/lightning.properties
--- a/calendar/chrome/lightning/lightning.properties
+++ b/calendar/chrome/lightning/lightning.properties
@@ -109,21 +109,25 @@ imipHtml.attendeeUserType2.RESOURCE=%1$S
 # imipHtml.attendeeRole2.*
 # %1$S - email address or common name <email address> representing a room
 imipHtml.attendeeUserType2.ROOM=%1$S (room)
 # LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
 # imipHtml.attendeeRole2.*
 # %1$S - email address or common name <email address> representing an attendee of unknown type
 imipHtml.attendeeUserType2.UNKNOWN=%1$S
 
-imipAddToCalendar.label=Add To Calendar
-imipAddedItemToCal=Event Added to Calendar
-imipCanceledItem=Event has been deleted
-imipUpdatedItem=Event has been updated
+imipAddedItemToCal2=The event has been added to your calendar.
+imipCanceledItem2=The event has been deleted from your calendar.
+imipUpdatedItem2=The event has been updated.
 imipBarCancelText=This message contains an event cancellation.
+imipBarCounterErrorText=This message contains a counterproposal to an invitation that cannot be processed.
+imipBarCounterPreviousVersionText=This message contains a counterproposal to a previous version of an invitation.
+imipBarCounterText=This message contains a counterproposal to an invitation.
+imipBarDisallowedCounterText=This message contains a counterproposal although you disallowed countering for this event.
+imipBarDeclineCounterText=This message contains a reply to your counterproposal.
 imipBarRefreshText=This message asks for an event update.
 imipBarPublishText=This message contains an event.
 imipBarRequestText=This message contains an invitation to an event.
 imipBarSentText=This message contains a sent event.
 imipBarSentButRemovedText=This message contains a sent out event that is not in your calendar anymore.
 imipBarUpdateText=This message contains an update to an existing event.
 imipBarAlreadyProcessedText=This message contains an event that has already been processed.
 imipBarProcessedNeedsAction=This message contains an event that you have not yet responded to.
@@ -147,16 +151,19 @@ itipReplyBodyDecline=%1$S has declined y
 itipReplySubjectAccept=Event Invitation Reply (Accepted): %1$S
 itipReplySubjectDecline=Event Invitation Reply (Declined): %1$S
 itipReplySubjectTentative=Event Invitation Reply (Tentative): %1$S
 itipRequestSubject=Event Invitation: %1$S
 itipRequestUpdatedSubject=Updated Event Invitation: %1$S
 itipRequestBody=%1$S has invited you to %2$S
 itipCancelSubject=Event Cancelled: %1$S
 itipCancelBody=%1$S has cancelled this event: « %2$S »
+itipCounterBody=%1$S has made a counterproposal for "%2$S":
+itipDeclineCounterBody=%1$S has declined your counterproposal for "%2$S".
+itipDeclineCounterSubject=Counterproposal Declined: %1$S
 
 confirmProcessInvitation=You have recently deleted this item, are you sure you want to process this invitation?
 confirmProcessInvitationTitle=Process Invitation?
 
 invitationsLink.label=Invitations: %1$S
 
 # LOCALIZATION_NOTE(binaryComponentKnown): This is shown when Lightning is
 # missing the binary component and knows how to calculate the expected version
diff --git a/chat/facebook.properties b/chat/facebook.properties
--- a/chat/facebook.properties
+++ b/chat/facebook.properties
@@ -1,7 +1,6 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-connection.error.useUsernameNotEmailAddress=Please use your Facebook username, not an email address
-
 facebook.chat.name=Facebook Chat
+facebook.disabled=Facebook Chat is no longer supported due to Facebook disabling their XMPP gateway.
diff --git a/chat/twitter.properties b/chat/twitter.properties
--- a/chat/twitter.properties
+++ b/chat/twitter.properties
@@ -12,16 +12,18 @@ error.tooLong=Status is over 140 charact
 # LOCALIZATION NOTE (error.general, error.retweet, error.delete):
 #   %1$S will be either the error string returned by the twitter server,
 #   in English, inside parenthesis, or the empty string if we have no specific
 #   message for the error.
 #   %2$S is the message that caused the error.
 error.general=An error %1$S occurred while sending: %2$S
 error.retweet=An error %1$S occurred while retweeting: %2$S
 error.delete=An error %1$S occurred while deleting: %2$S
+error.like=An error %1$S occured while liking: %2$S
+error.unlike=An error %1$S occured while unliking: %2$S
 # LOCALIZATION NOTE (error.descriptionTooLong)
 #   %S is the truncated string that was sent to the server.
 error.descriptionTooLong=Description is over the maximum length (160 characters), it was automatically truncated to: %S.
 
 # LOCALIZATION NOTE (timeline):
 #   This is the title of the conversation tab, %S will be replaced by
 #   @<username>.
 timeline=%S timeline
@@ -31,16 +33,18 @@ timeline=%S timeline
 action.copyLink=Copy Link to Tweet
 action.retweet=Retweet
 action.reply=Reply
 action.delete=Delete
 # LOCALIZATION NOTE (action.follow, action.stopFollowing):
 #  %S will be replaced by the screen name of a twitter user.
 action.follow=Follow %S
 action.stopFollowing=Stop following %S
+action.like=Like
+action.unlike=Remove Like
 
 # LOCALIZATION NOTE (event.follow, event.unfollow, event.followed):
 #  This will be displayed in system messages inside the timeline conversation.
 #  %S will be replaced by the screen name of a twitter user.
 event.follow=You are now following %S.
 event.unfollow=You are no longer following %S.
 event.followed=%S is now following you.
 # LOCALIZATION NOTE (event.deleted):
diff --git a/chat/yahoo.properties b/chat/yahoo.properties
--- a/chat/yahoo.properties
+++ b/chat/yahoo.properties
@@ -1,37 +1,5 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-login.error.badCredentials=Username or password is incorrect.
-login.error.accountLockedFailed=Account locked due to too many failed login attempts.
-login.error.accountLockedGeneral=Account locked due to too many login attempts.
-login.error.accountDeactivated=Account has been deactivated.
-login.error.usernameNotExist=The username does not exist.
-# The %S will be an error code returned by the server.
-login.error.unknown=Unknown error: %S
-network.error.http=HTTP connection error.
-
-conference.invite.message=Join my conference.
-
-# Some options are commented out because they aren't used. We do the same thing
-# to their description strings.
-options.pagerPort=Port
-options.transferHost=File transfer server
-options.transferPort=File transfer port
-options.chatEncoding=Encoding
-options.ignoreInvites=Ignore conference invitations
-
-# In this message, %S is replaced with the username of the user who left.
-system.message.conferenceLogoff=%S has left the conference.
-system.message.conferenceLogon=%S has joined the conference.
-
-# LOCALZIATION NOTE (command.*):
-#   These are the help messages for each command, the %S is the command name
-#   Each command first gives the parameter it accepts and then a description of
-#   the command.
-command.help.invite2=%S &lt;user1&gt;[,&lt;user2&gt;,...] [&lt;invite message&gt;]: invite one or more users into this conference chat.
-command.help.conference=%S: Create a new conference room in which you can later invite other users.
-
-# LOCALIZATION NOTE (command.feedback.invite):
-#   %S is the user, or comma separated list of users, invited to the conference.
-command.feedback.invite=You have invited %S to the conference.
+yahoo.disabled=Yahoo Messenger is no longer supported due to Yahoo disabling their legacy protocol.
diff --git a/editor/ui/chrome/dialogs/EditorImageProperties.dtd b/editor/ui/chrome/dialogs/EditorImageProperties.dtd
--- a/editor/ui/chrome/dialogs/EditorImageProperties.dtd
+++ b/editor/ui/chrome/dialogs/EditorImageProperties.dtd
@@ -8,16 +8,17 @@
 <!ENTITY windowTitle.label "Image Properties">
 
 <!ENTITY pixelsPopup.value "pixels">
 
 <!-- These are in the Location tab panel -->
 <!ENTITY locationEditField.label "Image Location:">
 <!ENTITY locationEditField.accessKey "L">
 <!ENTITY locationEditField.tooltip "Type the image's filename or location">
+<!ENTITY locationEditField.shortenedDataURI "Shortened data URI (copy will place the full URI onto the clipboard)">
 <!ENTITY title.label "Tooltip:">
 <!ENTITY title.accessKey "T">
 <!ENTITY title.tooltip "The html 'title' attribute that displays as a tooltip">
 <!ENTITY altText.label "Alternate text:">
 <!ENTITY altText.accessKey "A">
 <!ENTITY altTextEditField.tooltip "Type text to display in place of the image">
 <!ENTITY noAltText.label "Don't use alternate text">
 <!ENTITY noAltText.accessKey "D">
diff --git a/mail/chrome/messenger-newsblog/newsblog.properties b/mail/chrome/messenger-newsblog/newsblog.properties
--- a/mail/chrome/messenger-newsblog/newsblog.properties
+++ b/mail/chrome/messenger-newsblog/newsblog.properties
@@ -8,17 +8,19 @@ subscribe-cancelSubscriptionTitle=Subscribing to a Feed…
 subscribe-feedAlreadySubscribed=You already have a subscription for this feed.
 subscribe-errorOpeningFile=Could not open the file.
 subscribe-feedAdded=Feed added.
 subscribe-feedUpdated=Feed updated.
 subscribe-feedMoved=Feed subscription moved.
 subscribe-feedCopied=Feed subscription copied.
 subscribe-feedRemoved=Feed unsubscribed.
 subscribe-feedNotValid=The Feed URL is not a valid feed.
+subscribe-feedVerified=The Feed URL has been verified.
 subscribe-networkError=The Feed URL could not be found. Please check the name and try again.
+subscribe-noAuthError=The Feed URL is not authorised.
 subscribe-loading=Loading, please wait…
 
 subscribe-OPMLImportTitle=Select OPML file to import
 ## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
 ## %S is the name of the feed account folder name.
 subscribe-OPMLExportTitleList=Export %S as an OPML file - Feeds list
 ## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
 ## %S is the name of the feed account folder name.
@@ -61,16 +63,20 @@ subscribe-confirmFeedDeletion=Are you su
 ##  - The second %S is the total number of items
 subscribe-gettingFeedItems=Downloading feed articles (%S of %S)…
 
 newsblog-noNewArticlesForFeed=There are no new articles for this feed.
 ## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
 newsblog-networkError=%S could not be found. Please check the name and try again.
 ## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
 newsblog-feedNotValid=%S is not a valid feed.
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S uses an invalid security certificate.
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S is not authorised.
 newsblog-getNewMsgsCheck=Checking feeds for new items…
 
 ## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
 feeds-accountname=Blogs & News Feeds
 
 ## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
 externalAttachmentMsg=This MIME attachment is stored separately from the message.
 
diff --git a/mail/chrome/messenger/FilterListDialog.dtd b/mail/chrome/messenger/FilterListDialog.dtd
--- a/mail/chrome/messenger/FilterListDialog.dtd
+++ b/mail/chrome/messenger/FilterListDialog.dtd
@@ -2,16 +2,18 @@
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!ENTITY window.title "Message Filters">
 <!ENTITY nameColumn.label "Filter Name">
 <!ENTITY activeColumn.label "Enabled">
 <!ENTITY newButton.label "New…">
 <!ENTITY newButton.accesskey "N">
+<!ENTITY newButton.popupCopy.label "Copy…">
+<!ENTITY newButton.popupCopy.accesskey "C">
 <!ENTITY editButton.label "Edit…">
 <!ENTITY editButton.accesskey "E">
 <!ENTITY deleteButton.label "Delete">
 <!ENTITY deleteButton.accesskey "t">
 <!ENTITY reorderTopButton "Move to Top">
 <!ENTITY reorderTopButton.accessKey "o">
 <!ENTITY reorderTopButton.toolTip "Rearrange filter so it executes before all others">
 <!ENTITY reorderUpButton.label "Move Up">
diff --git a/mail/chrome/messenger/addressbook/abContactsPanel.dtd b/mail/chrome/messenger/addressbook/abContactsPanel.dtd
--- a/mail/chrome/messenger/addressbook/abContactsPanel.dtd
+++ b/mail/chrome/messenger/addressbook/abContactsPanel.dtd
@@ -1,27 +1,43 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
+<!ENTITY propertiesMenu.label               "Properties">
+<!ENTITY propertiesMenu.accesskey           "i">
+<!ENTITY propertiesCmd.key                  "i">
+<!ENTITY abPropertiesMenu.label             "Address Book Properties">
+<!ENTITY abPropertiesMenu.accesskey         "i">
+<!ENTITY contactPropertiesMenu.label        "Contact Properties">
+<!ENTITY contactPropertiesMenu.accesskey    "i">
+<!ENTITY mailingListPropertiesMenu.label    "Mailing List Properties">
+<!ENTITY mailingListPropertiesMenu.accesskey "i">
+
 <!ENTITY addressbookPicker.label            "Address Book:">
 <!ENTITY addressbookPicker.accesskey        "k">
-<!ENTITY searchInput.label                  "Search For:">
-<!ENTITY searchInput.accesskey              "o">
+<!ENTITY searchContacts.label               "Search Contacts:">
+<!ENTITY searchContacts.accesskey           "n">
 <!ENTITY SearchNameOrEmail.label            "Name or Email">
 
-<!ENTITY deleteAddrBookCard.label           "Delete">
-<!ENTITY deleteAddrBookCard.accesskey       "D">
-<!ENTITY addrBookCardProperties.label       "Properties">
-<!ENTITY addrBookCardProperties.accesskey   "P">
 <!ENTITY addtoToFieldMenu.label             "Add to To field">
 <!ENTITY addtoToFieldMenu.accesskey         "A">
 <!ENTITY addtoCcFieldMenu.label             "Add to Cc field">
 <!ENTITY addtoCcFieldMenu.accesskey         "C">
 <!ENTITY addtoBccFieldMenu.label            "Add to Bcc field">
 <!ENTITY addtoBccFieldMenu.accesskey        "B">
+<!ENTITY deleteAddrBookCard.label           "Delete">
+<!ENTITY deleteAddrBookCard.accesskey       "D">
+<!ENTITY propertiesContext.label            "Properties">
+<!ENTITY propertiesContext.accesskey        "i">
+<!ENTITY abPropertiesContext.label          "Properties">
+<!ENTITY abPropertiesContext.accesskey      "i">
+<!ENTITY editContactContext.label           "Edit Contact">
+<!ENTITY editContactContext.accesskey       "E">
+<!ENTITY editMailingListContext.label       "Edit List">
+<!ENTITY editMailingListContext.accesskey   "E">
 
 <!ENTITY toButton.label                     "Add to To:">
 <!ENTITY toButton.accesskey                 "A">
 <!ENTITY ccButton.label                     "Add to Cc:">
 <!ENTITY ccButton.accesskey                 "d">
 <!ENTITY bccButton.label                    "Add to Bcc:">
 <!ENTITY bccButton.accesskey                "B">
diff --git a/mail/chrome/messenger/addressbook/abMailListDialog.dtd b/mail/chrome/messenger/addressbook/abMailListDialog.dtd
--- a/mail/chrome/messenger/addressbook/abMailListDialog.dtd
+++ b/mail/chrome/messenger/addressbook/abMailListDialog.dtd
@@ -1,14 +1,14 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!-- Title -->
-<!ENTITY mailListWindow.title           "Mailing List">
+<!ENTITY mailListWindowAdd.title        "New Mailing List">
 <!-- Labels -->
 <!ENTITY addToAddressBook.label         "Add to: ">
 
 <!ENTITY ListName.label                 "List Name: ">
 <!ENTITY ListNickName.label             "List Nickname: ">
 <!ENTITY ListDescription.label          "Description: ">
 <!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
 <!ENTITY AddressTitle.label             "Type email addresses to add them to the mailing list:">
diff --git a/mail/chrome/messenger/addressbook/abMainWindow.dtd b/mail/chrome/messenger/addressbook/abMainWindow.dtd
--- a/mail/chrome/messenger/addressbook/abMainWindow.dtd
+++ b/mail/chrome/messenger/addressbook/abMainWindow.dtd
@@ -1,15 +1,16 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!ENTITY addressbookWindow.title                        "Address Book">
 <!ENTITY blankResultsPaneMessage.label                  "This address book shows contacts only after a search">
 <!ENTITY localResultsOnlyMessage.label                  "Contacts from remote address books are not shown until you search">
+
 <!-- File Menu -->
 <!ENTITY fileMenu.label                                 "File">
 <!ENTITY fileMenu.accesskey                             "F">
 <!ENTITY newMenu.label                                  "New">
 <!ENTITY newMenu.accesskey                              "N">
 <!ENTITY newContact.label                               "Address Book Contact…">
 <!ENTITY newContact.accesskey                           "C">
 <!ENTITY newContact.key                                 "N">
@@ -70,19 +71,25 @@
 <!ENTITY selectAllCmd.key                               "A">
 <!ENTITY searchAddressesCmd.key                         "f">
 <!ENTITY selectAllCmd.accesskey                         "A">
 <!ENTITY swapFirstNameLastNameCmd.label                 "Swap First/Last Name">
 <!ENTITY swapFirstNameLastNameCmd.accesskey             "w">
 <!-- LOCALIZATION NOTE (hideSwapFnLnUI) : DONT_TRANSLATE -->
 <!-- Swap FN/LN UI  Set to "false" to show swap fn/ln UI -->
 <!ENTITY hideSwapFnLnUI "true">
-<!ENTITY propertiesCmd2.label                           "Properties…">
-<!ENTITY propertiesCmd2.accesskey                       "i">
+<!ENTITY propertiesMenu.label                           "Properties">
+<!ENTITY propertiesMenu.accesskey                       "i">
 <!ENTITY propertiesCmd.key                              "i">
+<!ENTITY abPropertiesMenu.label                         "Address Book Properties">
+<!ENTITY abPropertiesMenu.accesskey                     "i">
+<!ENTITY contactPropertiesMenu.label                    "Contact Properties">
+<!ENTITY contactPropertiesMenu.accesskey                "i">
+<!ENTITY mailingListPropertiesMenu.label                "Mailing List Properties">
+<!ENTITY mailingListPropertiesMenu.accesskey            "i">
 
 <!-- View Menu -->
 <!ENTITY viewMenu.label                                 "View">
 <!ENTITY viewMenu.accesskey                             "V">
 <!ENTITY viewToolbarsMenu.label                         "Toolbars">
 <!ENTITY viewToolbarsMenu.accesskey                     "T"> 
 <!ENTITY menubarCmd.label                               "Menu Bar">
 <!ENTITY menubarCmd.accesskey                           "M">
@@ -128,31 +135,41 @@ because displayed names don't have the c
 <!ENTITY preferencesCmdUnix.label                       "Preferences">
 <!ENTITY preferencesCmdUnix.accesskey                   "n">
 
 <!-- Address Book Toolbar and Context Menus -->  
 <!ENTITY newContactButton.label                         "New Contact">
 <!ENTITY newContactButton.accesskey                     "C">
 <!ENTITY newlistButton.label                            "New List">
 <!ENTITY newlistButton.accesskey                        "L">
-<!ENTITY editButton2.label                              "Properties">
-<!ENTITY editButton2.accesskey                          "P">
+<!ENTITY editPropertiesButton.label                     "Edit">
+<!ENTITY propertiesContext.label                        "Properties">
+<!ENTITY propertiesContext.accesskey                    "i">
+<!ENTITY abPropertiesContext.label                      "Properties">
+<!ENTITY abPropertiesContext.accesskey                  "i">
+<!ENTITY editContactContext.label                       "Edit Contact">
+<!ENTITY editContactContext.accesskey                   "E">
+<!ENTITY editMailingListContext.label                   "Edit List">
+<!ENTITY editMailingListContext.accesskey               "E">
 <!ENTITY newmsgButton.label                             "Write">
 <!ENTITY newmsgButton.accesskey                         "W">
 <!ENTITY newIM.label                                    "Instant Message">
 <!ENTITY newIM.accesskey                                "I">
 <!ENTITY printButton.label                              "Print…">
 <!ENTITY printButton.accesskey                          "r">
 <!ENTITY deleteButton2.label                            "Delete">
 <!ENTITY deleteButton2.accesskey                        "D">
 
 <!-- Address Book Toolbar Tooltips -->
 <!ENTITY newContactButton.tooltip                       "Create a new address book contact">
 <!ENTITY newlistButton.tooltip                          "Create a new list">
-<!ENTITY editButton2.tooltip                            "Edit the selected item">
+<!ENTITY editPropertiesButton.tooltip                   "Edit the selected item">
+<!ENTITY editAbPropertiesButton.tooltip                 "Edit the properties of the selected address book">
+<!ENTITY editContactPropertiesButton.tooltip            "Edit the selected contact">
+<!ENTITY editMailingListPropertiesButton.tooltip        "Edit the selected mailing list">
 <!ENTITY newmsgButton.tooltip                           "Send a mail message">
 <!ENTITY newIM.tooltip                                  "Send an instant message or chat">
 <!ENTITY deleteButton2.tooltip                          "Delete selected item">
 
 <!-- Dir Tree header -->
 <!ENTITY dirTreeHeader.label                            "Address Books">
 
 <!-- Search Bar -->
diff --git a/mail/chrome/messenger/addressbook/addressBook.properties b/mail/chrome/messenger/addressbook/addressBook.properties
--- a/mail/chrome/messenger/addressbook/addressBook.properties
+++ b/mail/chrome/messenger/addressbook/addressBook.properties
@@ -1,15 +1,18 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 #
 # The following are used by the Mailing list dialog
 #
+
+## LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name
+mailingListTitleEdit=Edit %S
 emptyListName=You must enter a list name.
 lastFirstFormat=%S, %S
 firstLastFormat=%S %S  
 
 allAddressBooks=All Address Books
 
 newContactTitle=New Contact
 # %S will be the contact's display name
@@ -101,20 +104,22 @@ ldap_2.servers.pab.description=Personal 
 ldap_2.servers.history.description=Collected Addresses
 ## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
 ldap_2.servers.osx.description=Mac OS X Address Book
 
 # status bar stuff
 ## LOCALIZATION NOTE (totalContactStatus):
 ## %1$S is address book name, %2$S is contact count
 totalContactStatus=Total contacts in %1$S: %2$S
-## LOCALIZATION NOTE (matchesFound):  do not localize %S
 noMatchFound=No matches found
-matchFound=1 match found
-matchesFound=%S matches found
+## LOCALIZATION NOTE (matchesFound1):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals
+## #1 is the number of matching contacts found
+matchesFound1=#1 match found;#1 matches found
 
 ## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms
 ## %1$S is the number of contacts that were copied. This should be used multiple
 ## times wherever you need it. Do not replace by %S.
 contactsCopied=%1$S contact copied;%1$S contacts copied
 
 ## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms
 ## %1$S is the number of contacts that were moved. This should be used multiple
@@ -157,18 +162,19 @@ headingHome=Home
 headingWork=Work
 headingOther=Other
 headingChat=Chat
 headingPhone=Phone
 headingDescription=Description
 headingAddresses=Addresses
 
 # For address books
-newAddressBookTitle=New Address Book
-renameAddressBookTitle=Address Book Properties
+addressBookTitleNew=New Address Book
+## LOCALIZATION NOTE (addressBookTitleEdit): %S will be replaced by the the Address Book's name
+addressBookTitleEdit=%S Properties
 
 # For corrupt .mab files
 corruptMabFileTitle=Corrupt Address Book File
 corruptMabFileAlert=One of your address book files (%1$S file) could not be read. A new %2$S file will be created and a backup of the old file, called %3$S, will be created in the same directory.
 
 # For locked .mab files
 lockedMabFileTitle=Unable to Load Address Book File
 lockedMabFileAlert=Unable to load address book file %S. It may be read-only, or locked by another application. Please try again later.
diff --git a/mail/chrome/messenger/addressbook/pref-directory-add.dtd b/mail/chrome/messenger/addressbook/pref-directory-add.dtd
--- a/mail/chrome/messenger/addressbook/pref-directory-add.dtd
+++ b/mail/chrome/messenger/addressbook/pref-directory-add.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-<!ENTITY newDirectoryTitle.label           "Directory Server Properties">
 <!ENTITY directoryName.label               "Name: ">
 <!ENTITY directoryName.accesskey           "n">
 <!ENTITY directoryHostname.label           "Hostname: ">
 <!ENTITY directoryHostname.accesskey       "o">
 <!ENTITY directoryBaseDN.label             "Base DN: ">
 <!ENTITY directoryBaseDN.accesskey         "b">
 <!ENTITY findButton.label                  "Find">
 <!ENTITY findButton.accesskey              "f">
diff --git a/mail/chrome/messenger/addressbook/replicationProgress.properties b/mail/chrome/messenger/addressbook/replicationProgress.properties
--- a/mail/chrome/messenger/addressbook/replicationProgress.properties
+++ b/mail/chrome/messenger/addressbook/replicationProgress.properties
@@ -9,8 +9,12 @@ replicationCancelled=Replication cancell
 # LOCALIZATION NOTE
 # do not localize %S.  %S is the current entry number (an integer)
 currentCount=Replicating directory entry: %S
 
 downloadButton=Download Now
 downloadButton.accesskey=D
 cancelDownloadButton=Cancel Download
 cancelDownloadButton.accesskey=C
+
+directoryTitleNew=New LDAP Directory
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=%S Properties
diff --git a/mail/chrome/messenger/am-identity-edit.dtd b/mail/chrome/messenger/am-identity-edit.dtd
--- a/mail/chrome/messenger/am-identity-edit.dtd
+++ b/mail/chrome/messenger/am-identity-edit.dtd
@@ -1,14 +1,18 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!-- LOCALIZATION NOTE (identityDialog.style): This value should be roughly
      equal to the value of accountManager.size entity minus the value
      of accountTree.width entity. -->
 <!ENTITY identityDialog.style "min-width: 75ch;">
-<!ENTITY identityTitle.label "Identity Settings">
 <!ENTITY identityListDesc.label "Configure the settings for this identity:">
 
 <!ENTITY settingsTab.label       "Settings">
 <!ENTITY copiesFoldersTab.label "Copies &amp; Folders">
 <!ENTITY addressingTab.label    "Composition &amp; Addressing">
+
+<!ENTITY publicData.label        "Public Data">
+<!ENTITY privateData.label       "Private Data">
+<!ENTITY identityAlias.label     "Identity Label:">
+<!ENTITY identityAlias.accesskey "b">
diff --git a/mail/chrome/messenger/am-smime.dtd b/mail/chrome/messenger/am-smime.dtd
--- a/mail/chrome/messenger/am-smime.dtd
+++ b/mail/chrome/messenger/am-smime.dtd
@@ -25,8 +25,13 @@
 <!ENTITY signMessage.accesskey "D">
 <!ENTITY signingCert.message "Use this certificate to digitally sign messages you send:">
 
 <!ENTITY certificates.label "Certificates">
 <!ENTITY manageCerts2.label "Manage Certificates">
 <!ENTITY manageCerts2.accesskey "M">
 <!ENTITY manageDevices.label "Security Devices">
 <!ENTITY manageDevices.accesskey "y">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "Select Certificate">
+<!ENTITY certPicker.info  "Certificate:">
+<!ENTITY certPicker.detailsLabel "Details of selected certificate:">
diff --git a/mail/chrome/messenger/am-smime.properties b/mail/chrome/messenger/am-smime.properties
--- a/mail/chrome/messenger/am-smime.properties
+++ b/mail/chrome/messenger/am-smime.properties
@@ -22,8 +22,20 @@ encryption_wantSame=Do you want to use t
 encryption_needCertWantToSelect=You should also specify a certificate for other people to use when they send you encrypted messages. Do you want to configure an encryption certificate now?
 signing_needCertWantSame=You should also specify a certificate to use for digitally signing your messages. Do you want to use the same certificate to digitally sign your messages?
 signing_wantSame=Do you want to use the same certificate to digitally sign your messages?
 signing_needCertWantToSelect=You should also specify a certificate to use for digitally signing your messages. Do you want to configure a certificate for digitally signing messages now?
 
 ## Strings used by nsMsgComposeSecure
 mime_smimeEncryptedContentDesc=S/MIME Encrypted Message
 mime_smimeSignatureContentDesc=S/MIME Cryptographic Signature
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=Issued to:
+CertInfoIssuedBy=Issued by:
+CertInfoValid=Valid
+CertInfoFrom=from
+CertInfoTo=to
+CertInfoPurposes=Purposes
+CertInfoEmail=Email
+CertInfoStoredIn=Stored in:
+NicknameExpired=(expired)
+NicknameNotYetValid=(not yet valid)
diff --git a/mail/chrome/messenger/filter.properties b/mail/chrome/messenger/filter.properties
--- a/mail/chrome/messenger/filter.properties
+++ b/mail/chrome/messenger/filter.properties
@@ -19,16 +19,19 @@ filterCustomHeaderOverflow=Your filters 
 invalidCustomHeader=One of your filters uses a custom header that contains an invalid character, such as ':', a non-printable character, a non-ascii character, or an eight-bit ascii character. Please edit the msgFilterRules.dat file, which contains your filters, to remove invalid characters from your custom headers.
 continueFilterExecution=Applying filter %S failed. Would you like to continue applying filters?
 promptTitle=Running Filters
 promptMsg=You are currently in the process of filtering messages.\nWould you like to continue applying filters?
 stopButtonLabel=Stop
 continueButtonLabel=Continue
 cannotEnableFilter=This filter was probably created by future version of mozilla/netscape. You cannot enable this filter because we don't know how to apply it.
 dontWarnAboutDeleteCheckbox=Don't ask me again
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=Copy of %S
 
 # LOCALIZATION NOTE(filterFailureWarningPrefix)
 # %1$S=filter error action
 # %2$S=error code as hexadecimal string.
 filterFailureWarningPrefix=Filter Action Failed: "%1$S" with error code=%2$S while attempting:
 
 searchTermsInvalidTitle=Search Terms Invalid
 # LOCALIZATION NOTE(searchTermsInvalidRule)
diff --git a/mail/chrome/messenger/messenger.dtd b/mail/chrome/messenger/messenger.dtd
--- a/mail/chrome/messenger/messenger.dtd
+++ b/mail/chrome/messenger/messenger.dtd
@@ -160,16 +160,17 @@
 <!ENTITY unreadFolders.accesskey "U">
 <!ENTITY favoriteFolders.label "Favourite">
 <!ENTITY favoriteFolders.accesskey "F">
 <!ENTITY recentFolders.label "Recent">
 <!ENTITY recentFolders.accesskey "R">
 <!ENTITY compactVersion.label "Compact View">
 <!ENTITY compactVersion.accesskey "C">
 <!ENTITY folderPaneBar.label "Folder Pane Toolbar">
+<!ENTITY folderPaneBar.accesskey "F">
 <!ENTITY folderModeSelector.label "Folder Views">
 
 <!-- Sort Menu -->
 <!ENTITY sortMenu.label "Sort by">
 <!ENTITY sortMenu.accesskey "S">
 <!ENTITY sortByDateCmd.label "Date">
 <!ENTITY sortByDateCmd.accesskey "e">
 <!ENTITY sortByReceivedCmd.label "Received">
@@ -478,28 +479,50 @@
 <!ENTITY filtersApplyToMessage.label "Run Filters on Message">
 <!ENTITY filtersApplyToMessage.accesskey "u">
 <!ENTITY runJunkControls.label "Run Junk Mail Controls on Folder">
 <!ENTITY runJunkControls.accesskey "C">
 <!ENTITY deleteJunk.label "Delete Mail Marked as Junk in Folder">
 <!ENTITY deleteJunk.accesskey "D">
 <!ENTITY importCmd.label "Import…">
 <!ENTITY importCmd.accesskey "m">
-<!ENTITY errorConsoleCmd.label "Error Console">
-<!ENTITY errorConsoleCmd.accesskey "E">
-<!ENTITY errorConsoleCmd.commandkey "j">
 <!ENTITY clearRecentHistory.label "Clear Recent History…">
 <!ENTITY clearRecentHistory.accesskey "H">
 <!ENTITY accountManagerCmd2.label "Account Settings">
 <!ENTITY accountManagerCmd2.accesskey "S">
-<!-- LOCALIZATION NOTE (accountManagerCmdUnix2.accesskey): belongs to accountManagerCmd2.label,
-        which is placed under the Edit menu on Unix systems -->
+<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey):
+     Belongs to accountManagerCmd.label, which is placed under the Edit menu
+     on Unix systems
+  -->
 <!ENTITY accountManagerCmdUnix2.accesskey "A">
-<!ENTITY allowRemoteDebugging.label "Allow Remote Debugging">
-<!ENTITY allowRemoteDebugging.accesskey "g">
+
+<!-- Developer Tools Submenu -->
+<!ENTITY devtoolsMenu.label "Developer Tools">
+<!ENTITY devtoolsMenu.accesskey "e">
+<!ENTITY devToolboxCmd.label "Developer Toolbox">
+<!ENTITY devToolboxCmd.accesskey "T">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY addonDebugCmd.label "Add-on Debugger">
+<!ENTITY addonDebugCmd.accesskey "A">
+<!ENTITY tabsDebugCmd.label "Content Frame Debugger">
+<!ENTITY tabsDebugCmd.accesskey "C">
+<!ENTITY errorConsoleCmd.label "Error Console">
+<!ENTITY errorConsoleCmd.accesskey "E">
+<!ENTITY errorConsoleCmd.commandkey "j">
+<!ENTITY scratchpadCmd.label "Scratchpad">
+<!ENTITY scratchpadCmd.accesskey "S">
+
+<!--LOCALIZATION NOTE (scratchpadCmd.keycode):
+    This should be a key code constant as per
+    https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Constants_for_keyCode_value
+    (but without the DOM_ prefix) -->
+<!ENTITY scratchpadCmd.keycode "VK_F4">
+<!--LOCALIZATION NOTE (scratchpadCmd.keytext):
+    This should be the text printed on the key defined in the previous string. -->
+<!ENTITY scratchpadCmd.keytext "F4">
 
 <!-- Mail Toolbar -->
 <!ENTITY getMsgButton1.label "Get Messages">
 <!ENTITY newMsgButton.label "Write">
 <!ENTITY replyButton.label "Reply">
 <!ENTITY replyAllButton.label "Reply All">
 <!ENTITY replyListButton.label "Reply to List">
 <!ENTITY forwardButton.label "Forward">
@@ -786,34 +809,34 @@
    the "columnPicker.applyTo.label" alongside
    "columnPicker.applyToFolderAndChildren.label".  It indicates a desire to
    apply the currently display thread pane column settings to a single folder
    that the user selects using the same widget as the move to/copy to
    mechanism (via a series of popups).
   -->
 <!ENTITY columnPicker.applyToFolder.label "Folder…">
 <!-- LOCALIZATION NOTE (columnPicker.applyToFolderAndChildren.label):
-   This option in the thread pane column picker is found on a sub-menu beneath
-   the "columnPicker.applyTo.label" alongside
-   "columnPicker.applyToFolder.label".  It indicates a desire to
-   apply the currently display thread pane column settings to a folder and all
-   of its descendents.  The user selects the folder using the same widget as the
-   move to/copy to mechanism (via a series of popups).
+    This option in the thread pane column picker is found on a sub-menu beneath
+    the "columnPicker.applyTo.label" alongside
+    "columnPicker.applyToFolder.label".  It indicates a desire to
+    apply the currently display thread pane column settings to a folder and all
+    of its descendents.  The user selects the folder using the same widget as the
+    move to/copy to mechanism (via a series of popups).
   -->
 <!ENTITY columnPicker.applyToFolderAndChildren.label "Folder and its children…">
 <!-- LOCALIZATION NOTE (columnPicker.thisFolder.label):
-   This is used in the folder selection widget for the
-   "columnPicker.applyToFolder.label" and
-   "columnPicker.applyToFolderAndChildren.label" menu options.  Whenever
-   a folder has children, it results in a menu popup; the first menu item
-   in that popup is given this label to indicate that that folder should be
-   selected.  For example, if folder "A" has two children, "B" and "C", then
-   when the user hovers over "A", a new popup menu will be displayed whose
-   items are "This folder", "B", and "C".  This is the equivalent of the
-   "File here" option for the move to/copy to widge.t
+    This is used in the folder selection widget for the
+    "columnPicker.applyToFolder.label" and
+    "columnPicker.applyToFolderAndChildren.label" menu options.  Whenever
+    a folder has children, it results in a menu popup; the first menu item
+    in that popup is given this label to indicate that that folder should be
+    selected.  For example, if folder "A" has two children, "B" and "C", then
+    when the user hovers over "A", a new popup menu will be displayed whose
+    items are "This folder", "B", and "C".  This is the equivalent of the
+    "File here" option for the move to/copy to widge.t
   -->
 <!ENTITY columnPicker.thisFolder.label "This folder">
 
 
 <!-- Media (video/audio) controls -->
 <!ENTITY contextPlay.label "Play">
 <!ENTITY contextPlay.accesskey "P">
 <!ENTITY contextPause.label "Pause">
diff --git a/mail/chrome/messenger/messengercompose/composeMsgs.properties b/mail/chrome/messenger/messengercompose/composeMsgs.properties
--- a/mail/chrome/messenger/messengercompose/composeMsgs.properties
+++ b/mail/chrome/messenger/messengercompose/composeMsgs.properties
@@ -170,16 +170,26 @@ initErrorDlgMessage=An error occurred wh
 
 ## String used if a file to attach does not exist when passed as
 ## a command line argument
 errorFileAttachTitle=File Attach
 
 ## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name. Do not translate
 errorFileAttachMessage=The file %1$S does not exist so could not be attached to the message.
 
+## String used if a file to serve as message body does not exist or cannot be loaded when passed
+## as a command line argument
+errorFileMessageTitle=Message File
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=The file %1$S does not exist and could not be used as message body.
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=The file %1$S could not be loaded as message body.
+
 ## Strings used by Save as Draft/Template dialog
 SaveDialogTitle=Save Message
 
 ## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
 SaveDialogMsg=Your message has been saved to the folder %1$S under %2$S.
 CheckMsg=Do not show me this dialogue box again.
 
 ## Strings used by the prompt when Quitting while in progress
@@ -387,8 +397,26 @@ cloudAttachmentListItem=* %1$S (%2$S) ho
 
 ## LOCALIZATION NOTE(stopShowingUploadingNotification): This string is used in the Filelink
 ## upload notification bar to allow the user to dismiss the notification permanently.
 stopShowingUploadingNotification.accesskey=N
 stopShowingUploadingNotification.label=Never show this again
 replaceButton.label=Replace…
 replaceButton.accesskey=l
 replaceButton.tooltip=Show the Find and Replace dialog
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=Unblock %S
+## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## %S will be replaced by brandShortName.
+## Files must be unblocked individually, therefore the plural form reads:
+## Unblocking a file (one of several) will include it (that one file) in your sent message.
+## In other words:
+## Unblocking one/several file(s) will include it/them in your message.
+blockedContentMessage=%S has blocked a file from loading into this message. Unblocking the file will include it in your sent message.;%S has blocked some files from loading into this message. Unblocking a file will include it in your sent message.
+
+blockedContentPrefLabel=Options
+blockedContentPrefAccesskey=O
+
+blockedContentPrefLabelUnix=Preferences
+blockedContentPrefAccesskeyUnix=P
+
diff --git a/mail/chrome/messenger/newTagDialog.dtd b/mail/chrome/messenger/newTagDialog.dtd
--- a/mail/chrome/messenger/newTagDialog.dtd
+++ b/mail/chrome/messenger/newTagDialog.dtd
@@ -1,8 +1,8 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!-- New Tag Dialog -->
-<!ENTITY newTagDialog.title      "Create New Tag">
+<!ENTITY newTagDialog1.title     "New Tag">
 <!ENTITY name.label              "Tag Name:">
 <!ENTITY name.accesskey          "T">
diff --git a/mail/chrome/messenger/preferences/applications.dtd b/mail/chrome/messenger/preferences/applications.dtd
--- a/mail/chrome/messenger/preferences/applications.dtd
+++ b/mail/chrome/messenger/preferences/applications.dtd
@@ -20,18 +20,18 @@
 <!ENTITY chooseFolderWin.label        "Browse…">
 <!ENTITY chooseFolderWin.accesskey    "B">
 <!ENTITY chooseFolderMac.label        "Choose…">
 <!ENTITY chooseFolderMac.accesskey    "C">
 
 <!ENTITY attachments.incoming.label   "Incoming">
 <!ENTITY attachments.outgoing.label   "Outgoing">
 
-<!ENTITY addCloudFileAccount.label        "Add">
-<!ENTITY addCloudFileAccount.accesskey    "A">
+<!ENTITY addCloudFileAccount1.label       "Add…">
+<!ENTITY addCloudFileAccount1.accesskey   "A">
 <!ENTITY addCloudFileAccount.description  "Add a new Filelink storage service">
 <!ENTITY removeCloudFileAccount.label     "Remove">
 <!ENTITY removeCloudFileAccount.accesskey "R">
 <!ENTITY authRequired.description         "Your authorisation is required in order to see the settings for this storage service.">
 <!ENTITY authRequired.button.label        "Authorise">
 <!ENTITY authRequired.button.accesskey    "U">
 
 <!ENTITY enableCloudFileAccountOffer.label "Offer to share for files larger than">
diff --git a/mail/chrome/messenger/preferences/attachmentReminder.dtd b/mail/chrome/messenger/preferences/attachmentReminder.dtd
--- a/mail/chrome/messenger/preferences/attachmentReminder.dtd
+++ b/mail/chrome/messenger/preferences/attachmentReminder.dtd
@@ -1,12 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!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 newKeywordButton.label           "New…">
+<!ENTITY newKeywordButton.accesskey       "N">
+<!ENTITY editKeywordButton1.label         "Edit…">
+<!ENTITY editKeywordButton1.accesskey     "E">
 <!ENTITY removeKeywordButton.label        "Delete">
 <!ENTITY removeKeywordButton.accesskey    "D">
diff --git a/mail/chrome/messenger/preferences/display.dtd b/mail/chrome/messenger/preferences/display.dtd
--- a/mail/chrome/messenger/preferences/display.dtd
+++ b/mail/chrome/messenger/preferences/display.dtd
@@ -23,20 +23,20 @@
 <!ENTITY displayText.label                "When displaying quoted plain text messages:">
 
 <!-- LOCALIZATION NOTE : (emoticonsAndStructs.label) 'Emoticons' are also known as 'Smileys', e.g. :-)   -->
 <!ENTITY convertEmoticons.label        "Display emoticons as graphics">
 <!ENTITY convertEmoticons.accesskey    "e">
 
 <!-- labels -->
 <!ENTITY displayTagsText.label     "Tags can be used to categorise and prioritise your messages.">
-<!ENTITY addTagButton.label        "Add">
-<!ENTITY addTagButton.accesskey    "A">
-<!ENTITY editTagButton.label       "Edit">
-<!ENTITY editTagButton.accesskey   "E">
+<!ENTITY newTagButton.label        "New…">
+<!ENTITY newTagButton.accesskey    "N">
+<!ENTITY editTagButton1.label      "Edit…">
+<!ENTITY editTagButton1.accesskey  "E">
 <!ENTITY removeTagButton.label     "Delete">
 <!ENTITY removeTagButton.accesskey "D">
 
 <!-- Fonts -->
 <!ENTITY fontsAndColors1.label   "Fonts &amp; Colours">
 <!ENTITY defaultFont.label       "Default font:">
 <!ENTITY defaultFont.accesskey   "D">
 <!ENTITY defaultSize.label       "Size:">
diff --git a/mail/chrome/messenger/preferences/general.dtd b/mail/chrome/messenger/preferences/general.dtd
--- a/mail/chrome/messenger/preferences/general.dtd
+++ b/mail/chrome/messenger/preferences/general.dtd
@@ -12,29 +12,29 @@
 
 <!ENTITY changeDockIconOptions.label      "Change preferences for the app icon">
 <!ENTITY dockOptions.label                "App Icon Options…">
 <!ENTITY dockOptions.accesskey            "n">
 
 <!ENTITY newMessagesArrive.label          "When new messages arrive:">
 <!ENTITY playSound.label                  "Play a sound">
 <!ENTITY playSound1.accesskey             "d">
+<!ENTITY playSoundMac.label               "Play the following sound file:">
+<!ENTITY playSoundMac.accesskey           "d">
 <!ENTITY showAnimatedAlert.label          "Show an alert">
 <!ENTITY showAnimatedAlert.accesskey      "S">
-<!ENTITY notificationAlertSettings.label  "Alerts can be disabled on the Notification pane of System Preferences.">
+<!ENTITY notificationAlertSettings2.label "Alerts and the default sound can be disabled on the Notification pane of System Preferences.">
 <!ENTITY customizeMailAlert.label         "Customise…">
 <!ENTITY customizeMailAlert.accesskey     "C">
 
 <!ENTITY showTrayIcon.label               "Show a tray icon">
 <!ENTITY showTrayIcon.accesskey           "t">
 
 <!ENTITY play.label                       "Play">
 <!ENTITY play.accesskey                   "P">
 <!ENTITY systemsound.label                "Default system sound for new mail">
-<!ENTITY systemsoundMac.label             "System Alert Sound">
-<!ENTITY systemsoundMac.accesskey         "y">
 <!ENTITY systemsound.accesskey            "y">
 <!ENTITY customsound.label                "Use the following sound file">
 <!ENTITY customsound.accesskey            "U">
 <!ENTITY browse.label                     "Browse…">
 <!ENTITY browse.accesskey                 "B">
 
 <!ENTITY defaultSearchEngine.label        "Default Search Engine">
diff --git a/mail/chrome/messenger/preferences/preferences.properties b/mail/chrome/messenger/preferences/preferences.properties
--- a/mail/chrome/messenger/preferences/preferences.properties
+++ b/mail/chrome/messenger/preferences/preferences.properties
@@ -57,18 +57,18 @@ typeDetailsWithTypeOrExt=(%1$S)
 # %2$S = extensions (for example ".pdf, .pdfx")
 typeDetailsWithTypeAndExt=(%1$S: %2$S)
 
 #### Sound Notifications
 soundFilePickerTitle=Choose Sound
 soundFilesDescription=Sound Files
 
 #### Attachment Reminder
-attachmentReminderAddDialogTitle=Add Keyword
-attachmentReminderAddText=Keyword:
+attachmentReminderNewDialogTitle=New Keyword
+attachmentReminderNewText=Keyword:
 attachmentReminderEditDialogTitle=Edit Keyword
 attachmentReminderEditText=Keyword:
 
 #### Remote content
 imagepermissionstext=You can specify from which web sites images and other remote content are allowed to load. You can also allow all remote content based on sender e-mail address. Type the address of the site or e-mail you want to manage and then click Block or Allow.
 imagepermissionstitle=Exceptions - Remote Content
 
 #### Cookies
@@ -95,8 +95,16 @@ cookiesFiltered=The following cookies ma
 # Semicolon-separated list of plural forms. See:
 # http://developer.mozilla.org/en/docs/Localization_and_Plurals
 # If you need to display the number of selected elements in your language,
 # you can use #1 in your localization as a placeholder for the number.
 # For example this is the English string with numbers:
 # removeSelectedCookies=Remove #1 Selected;Remove #1 Selected
 removeSelectedCookies=Remove Selected;Remove Selected
 defaultUserContextLabel=None
+
+####Preferences::Advanced::Network
+#LOCALIZATION NOTE: The next string is for the disk usage of the cache.
+#   e.g., "Your cache is currently using 200 MB"
+#   %1$S = size
+#   %2$S = unit (MB, KB, etc.)
+actualDiskCacheSize=Your cache is currently using %1$S %2$S of disc space
+actualDiskCacheSizeCalculated=Calculating cache size…
diff --git a/mail/chrome/messenger/prefs.properties b/mail/chrome/messenger/prefs.properties
--- a/mail/chrome/messenger/prefs.properties
+++ b/mail/chrome/messenger/prefs.properties
@@ -25,19 +25,16 @@ localDirectoryNotAllowed=The Local Direc
 # do not localize "\n\n"
 cancelWizard=Are you sure you want to exit the Account Wizard?\n\nIf you exit, any information you have entered will be lost and the account will not be created.
 accountWizard=Account Wizard
 WizardExit=Exit
 WizardContinue=Cancel
 # when the wizard already has a domain (Should we say something different?)
 enterValidServerName=Please enter a valid server name.
 failedRemoveAccount=Failed to remove this account.
-#LOCALIZATION NOTE: confirmRemoveAccount: %S is the account pretty name
-confirmRemoveAccount=Are you sure you want to remove the account "%S"?
-confirmRemoveAccountTitle=Remove Account
 #LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name
 accountName=%1$S - %2$S
 
 # LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string.
 confirmDeferAccountWarning=If you store this account's new mail in a different account's Inbox, you will no longer be able to access already downloaded e-mail for this account. If you have mail in this account, please copy it to another account first.\n\nIf you have filters that filter mail into this account, you should disable them or change the destination folder. If any accounts have special folders in this account (Sent, Drafts, Templates, Archives, Junk), you should change them to be in another account.\n\nDo you still want to store this account's e-mail in a different account?
 confirmDeferAccountTitle=Defer Account?
 
 directoryAlreadyUsedByOtherAccount=The directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
@@ -61,16 +58,20 @@ prefPanel-addressing=Composition & Addre
 prefPanel-junk=Junk Settings
 ## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
 prefPanel-smtp=Outgoing Server (SMTP)
 
 # account manager multiple identity support
 #LOCALIZATION NOTE: accountName: %1$S 
 identity-list-title=Identities for %1$S
 
+identityDialogTitleAdd=New Identity
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=Edit %S
+
 identity-edit-req=You must specify a valid email address for this identity.
 identity-edit-req-title=Error Creating Identity
 
 ## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name
 # and should be put on a new line. The new line is produced with the "\n" string.
 identity-delete-confirm=Are you sure you want to delete the identity\n%S?
 ## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
 identity-delete-confirm-title=Deleting identity for %S
diff --git a/mail/chrome/messenger/removeAccount.dtd b/mail/chrome/messenger/removeAccount.dtd
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/removeAccount.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY dialogTitle                  "Remove Account and Data">
+<!ENTITY removeButton.label           "Remove">
+<!ENTITY removeButton.accesskey       "R">
+<!ENTITY removeAccount.label          "Remove account information">
+<!ENTITY removeAccount.accesskey      "a">
+<!ENTITY removeAccount.desc           "Removes only &brandShortName;'s knowledge of this account. Does not affect the account itself on the server.">
+<!ENTITY removeData.label             "Remove message data">
+<!ENTITY removeData.accesskey         "d">
+<!ENTITY removeDataLocalAccount.desc  "Removes all messages, folders and filters associated with this account from your local disc. This does not affect some messages which may still be kept on the server. Do not choose this if you plan to archive the local data or re-use it in &brandShortName; later.">
+<!ENTITY removeDataServerAccount.desc "Removes all messages, folders and filters associated with this account from your local disc. Your messages and folders are still kept on the server.">
+<!ENTITY showData.label               "Show data location">
+<!ENTITY showData.accesskey           "S">
+<!ENTITY progressPending              "Removing selected data…">
+<!ENTITY progressSuccess              "Removal succeeded.">
+<!ENTITY progressFailure              "Removal failed.">
diff --git a/mail/chrome/messenger/removeAccount.properties b/mail/chrome/messenger/removeAccount.properties
new file mode 100644
--- /dev/null
+++ b/mail/chrome/messenger/removeAccount.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+removeQuestion=Are you sure you want to remove the account "%S"?

