Go green on en-GB trunk (calendar patch) - no bug number
authorIan Neal <iann_cvs@blueyonder.co.uk>
Sun, 11 Nov 2012 00:12:50 +0000
changeset 131 d2e2d26ecfada40195fae4d9f81319cc171874a7
parent 130 4b29ad4dc9aaf4659928a049f0d40eea94a088ee
child 132 99e54068143bdfbaef5b13103474ce1c808fecb0
push id66
push useriann_cvs@blueyonder.co.uk
push dateSun, 11 Nov 2012 00:13:06 +0000
Go green on en-GB trunk (calendar patch) - no bug number
calendar/README.txt
calendar/chrome/calendar/calendar-alarms.properties
calendar/chrome/calendar/calendar-event-dialog-attendees.properties
calendar/chrome/calendar/calendar-event-dialog.dtd
calendar/chrome/calendar/calendar-event-dialog.properties
calendar/chrome/calendar/calendar-invitations-dialog.dtd
calendar/chrome/calendar/calendar-occurrence-prompt.dtd
calendar/chrome/calendar/calendar-occurrence-prompt.properties
calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
calendar/chrome/calendar/calendar.dtd
calendar/chrome/calendar/calendar.properties
calendar/chrome/calendar/calendarCreation.dtd
calendar/chrome/calendar/calendarCreation.properties
calendar/chrome/calendar/categories.properties
calendar/chrome/calendar/dateFormat.properties
calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
calendar/chrome/calendar/global.dtd
calendar/chrome/calendar/menuOverlay.dtd
calendar/chrome/calendar/migration.dtd
calendar/chrome/calendar/migration.properties
calendar/chrome/calendar/preferences/advanced.dtd
calendar/chrome/calendar/preferences/alarms.dtd
calendar/chrome/calendar/preferences/categories.dtd
calendar/chrome/calendar/preferences/connection.dtd
calendar/chrome/calendar/preferences/general.dtd
calendar/chrome/calendar/preferences/preferences.dtd
calendar/chrome/calendar/preferences/timezones.dtd
calendar/chrome/calendar/preferences/views.dtd
calendar/chrome/calendar/provider-uninstall.dtd
calendar/chrome/calendar/providers/gdata/gdata.dtd
calendar/chrome/calendar/providers/gdata/gdata.properties
calendar/chrome/calendar/providers/wcap/wcap.properties
calendar/chrome/calendar/timezones.properties
calendar/chrome/lightning/lightning-toolbar.dtd
calendar/chrome/lightning/lightning.dtd
calendar/chrome/lightning/lightning.properties
calendar/chrome/sunbird/aboutDialog.dtd
calendar/chrome/sunbird/menuOverlay.dtd
calendar/chrome/sunbird/sunbird.dtd
calendar/defines.inc
calendar/extra-jar.mn
calendar/installer/custom.properties
calendar/installer/mui.properties
calendar/installer/override.properties
calendar/lightning-l10n.js
calendar/sunbird-l10n.js
calendar/updater/updater.ini
new file mode 100644
--- /dev/null
+++ b/calendar/README.txt
@@ -0,0 +1,3 @@
+For information about installing, running and configuring Sunbird 
+including a list of known issues and troubleshooting information, 
+refer to: http://www.mozilla.org/projects/calendar/
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,34 @@
+# 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 (reminderCustomTitle):
+# %1$S = reminderCustomUnit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=The moment the event starts
+reminderTitleAtStartTask=The moment the task starts
+reminderTitleAtEndEvent=The moment the event ends
+reminderTitleAtEndTask=The moment the task ends
+
+reminderCustomUnitMinutes=#1 minute;#1 minutes
+reminderCustomUnitHours=#1 hour;#1 hours 
+reminderCustomUnitDays=#1 day;#1 days
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of reminderCustomUnit*
+reminderSnoozeOkA11y=Snooze reminder for %1$S
+
+reminderCustomOriginBeginBeforeEvent=before the event starts
+reminderCustomOriginBeginAfterEvent=after the event starts
+reminderCustomOriginEndBeforeEvent=before the event ends
+reminderCustomOriginEndAfterEvent=after the event ends
+reminderCustomOriginBeginBeforeTask=before the task starts
+reminderCustomOriginBeginAfterTask=after the task starts
+reminderCustomOriginEndBeforeTask=before the task ends
+reminderCustomOriginEndAfterTask=after the task ends
+
+reminderErrorMaxCountReachedEvent=The selected calendar has a limitation of #1 reminder per event.;The selected calendar has a limitation of #1 reminders per event.
+reminderErrorMaxCountReachedTask=The selected calendar has a limitation of #1 reminder per task.;The selected calendar has a limitation of #1 reminders per task.
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
@@ -0,0 +1,15 @@
+# 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/.
+
+event.attendee.role.required = Required Attendee
+event.attendee.role.optional = Optional Attendee
+event.attendee.role.nonparticipant = Non Participant
+event.attendee.role.chair = Chair
+event.attendee.role.unknown = Unknown Attendee (%1$S)
+
+event.attendee.usertype.individual = Individual
+event.attendee.usertype.group = Group
+event.attendee.usertype.resource = Resource
+event.attendee.usertype.room  = Room
+event.attendee.usertype.unknown = Unknown Type (%1$S)
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,361 @@
+<!-- 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 event.title.label                  "Edit Item" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip   "Keep the duration when changing the end date">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label                "From" >
+<!ENTITY newevent.to.label                  "To" >
+<!ENTITY newevent.attendees.notify.label    "Notify attendees">
+
+<!ENTITY newevent.status.label                    "Status" >
+<!ENTITY newevent.status.accesskey                "S" >
+<!ENTITY newevent.eventStatus.none.label          "Not specified" >
+<!ENTITY newevent.eventStatus.none.accesskey      "o" >
+<!ENTITY newevent.todoStatus.none.label           "Not specified" >
+<!ENTITY newevent.eventStatus.cancelled.label     "Cancelled" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "n" >
+<!ENTITY newevent.todoStatus.cancelled.label      "Cancelled" >
+<!ENTITY newevent.status.tentative.label          "Tentative" >
+<!ENTITY newevent.status.tentative.accesskey      "T" >
+<!ENTITY newevent.status.confirmed.label          "Confirmed" >
+<!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">
+
+<!-- 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">
+<!ENTITY event.dialog.print.key                   "P">
+<!ENTITY event.dialog.undo.key                    "Z">
+<!ENTITY event.dialog.redo.key                    "Y">
+<!ENTITY event.dialog.cut.key                     "X">
+<!ENTITY event.dialog.copy.key                    "C">
+<!ENTITY event.dialog.paste.key                   "V">
+<!ENTITY event.dialog.select.all.key              "A">
+
+<!-- Menubar -->
+<!ENTITY  event.menu.item.new.label                       "New">
+<!ENTITY  event.menu.item.new.accesskey                   "N">
+<!ENTITY  event.menu.item.new.event.label                 "Event">
+<!ENTITY  event.menu.item.new.event.accesskey             "E">
+<!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">
+<!ENTITY  event.menu.item.save.label                      "Save">
+<!ENTITY  event.menu.item.save.accesskey                  "S">
+<!ENTITY  event.menu.item.saveandclose.label              "Save and Close">
+<!ENTITY  event.menu.item.saveandclose.accesskey          "l">
+<!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">
+<!ENTITY  event.menu.edit.accesskey                       "E">
+<!ENTITY  event.menu.edit.undo.label                      "Undo">
+<!ENTITY  event.menu.edit.undo.accesskey                  "U">
+<!ENTITY  event.menu.edit.redo.label                      "Redo">
+<!ENTITY  event.menu.edit.redo.accesskey                  "R">
+<!ENTITY  event.menu.edit.cut.label                       "Cut">
+<!ENTITY  event.menu.edit.cut.accesskey                   "t">
+<!ENTITY  event.menu.edit.copy.label                      "Copy">
+<!ENTITY  event.menu.edit.copy.accesskey                  "C">
+<!ENTITY  event.menu.edit.paste.label                     "Paste">
+<!ENTITY  event.menu.edit.paste.accesskey                 "P">
+<!ENTITY  event.menu.edit.select.all.label                "Select All">
+<!ENTITY  event.menu.edit.select.all.accesskey            "A">
+
+<!ENTITY  event.menu.view.label                           "View">
+<!ENTITY  event.menu.view.accesskey                       "V">
+<!ENTITY  event.menu.view.toolbars.label                  "Toolbars">
+<!ENTITY  event.menu.view.toolbars.accesskey              "T">
+<!ENTITY  event.menu.view.toolbars.event.label            "Event Toolbar">
+<!ENTITY  event.menu.view.toolbars.event.accesskey        "E">
+<!ENTITY  event.menu.view.toolbars.customize.label        "Customise…">
+<!ENTITY  event.menu.view.toolbars.customize.accesskey    "C">
+<!ENTITY  event.menu.view.showlink.label                  "Show Related Link">
+<!ENTITY  event.menu.view.showlink.accesskey              "R">
+
+<!ENTITY  event.menu.options.label                            "Options">
+<!ENTITY  event.menu.options.accesskey                        "O">
+<!ENTITY  event.menu.options.attendees.label                  "Invite Attendees…">
+<!ENTITY  event.menu.options.attendees.accesskey              "I">
+<!ENTITY  event.menu.options.spellcheck.label                 "Check Spelling…">
+<!ENTITY  event.menu.options.spellcheck.accesskey             "h">
+<!ENTITY  event.menu.options.inline.spellcheck.label          "Spell Check As You Type">
+<!ENTITY  event.menu.options.inline.spellcheck.accesskey      "S">
+<!ENTITY  event.menu.options.link.label                       "Add Link…">
+<!ENTITY  event.menu.options.link.accesskey                   "L">
+<!ENTITY  event.menu.options.timezone2.label                  "Show Timezones">
+<!ENTITY  event.menu.options.timezone2.accesskey              "z">
+<!ENTITY  event.menu.options.priority2.label                  "Priority">
+<!ENTITY  event.menu.options.priority2.accesskey              "y">
+<!ENTITY  event.menu.options.priority.notspecified.label      "Not specified">
+<!ENTITY  event.menu.options.priority.notspecified.accesskey  "o">
+<!ENTITY  event.menu.options.priority.low.label               "Low">
+<!ENTITY  event.menu.options.priority.low.accesskey           "L">
+<!ENTITY  event.menu.options.priority.normal.label            "Normal">
+<!ENTITY  event.menu.options.priority.normal.accesskey        "N">
+<!ENTITY  event.menu.options.priority.high.label              "High">
+<!ENTITY  event.menu.options.priority.high.accesskey          "H">
+<!ENTITY  event.menu.options.privacy.label                    "Privacy">
+<!ENTITY  event.menu.options.privacy.accesskey                "P">
+<!ENTITY  event.menu.options.privacy.public.label             "Public Event">
+<!ENTITY  event.menu.options.privacy.public.accesskey         "u">
+<!ENTITY  event.menu.options.privacy.confidential.label       "Show Time and Date Only">
+<!ENTITY  event.menu.options.privacy.confidential.accesskey   "S">
+<!ENTITY  event.menu.options.privacy.private.label            "Private Event">
+<!ENTITY  event.menu.options.privacy.private.accesskey        "r">
+<!ENTITY  event.menu.options.show.time.label                  "Show Time as">
+<!ENTITY  event.menu.options.show.time.accesskey              "T">
+<!ENTITY  event.menu.options.show.time.busy.label             "Busy">
+<!ENTITY  event.menu.options.show.time.busy.accesskey         "B">
+<!ENTITY  event.menu.options.show.time.free.label             "Free">
+<!ENTITY  event.menu.options.show.time.free.accesskey         "F">
+
+<!ENTITY event.invite.attendees.label                     "Invite Attendees…">
+<!ENTITY event.invite.attendees.accesskey                 "I">
+<!ENTITY event.email.attendees.label                      "Compose Email to All Attendees…">
+<!ENTITY event.email.attendees.accesskey                  "A">
+<!ENTITY event.email.tentative.attendees.label            "Compose Email to Undecided Attendees…">
+<!ENTITY event.email.tentative.attendees.accesskey        "U">
+
+<!-- Toolbar -->
+<!ENTITY  event.toolbar.save.label                        "Save and Close">
+<!ENTITY  event.toolbar.delete.label                      "Delete">
+<!ENTITY  event.toolbar.attendees.label                   "Invite Attendees">
+<!ENTITY  event.toolbar.spellcheck.label                  "Spellcheck">
+<!ENTITY  event.toolbar.privacy.label                     "Privacy">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label                        "Title:" >
+<!ENTITY event.title.textbox.accesskey                    "T">
+<!ENTITY event.location.label                             "Location:" >
+<!ENTITY event.location.accesskey                         "L">
+<!ENTITY event.categories.label                           "Category:">
+<!ENTITY event.categories.accesskey                       "y">
+<!ENTITY event.calendar.label                             "Calendar:" >
+<!ENTITY event.calendar.accesskey                         "C">
+<!ENTITY event.attendees.label                            "Attendees:" >
+<!ENTITY event.attendees.accesskey                        "I" >
+<!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 event.to.label                                   "End:" >
+<!ENTITY event.to.accesskey                               "n">
+<!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.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">
+<!ENTITY event.attachments.url.label                      "Web Page…">
+<!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.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" >
+<!ENTITY event.reminder.1hour.before.label                "1 hour before" >
+<!ENTITY event.reminder.2hours.before.label               "2 hours before" >
+<!ENTITY event.reminder.12hours.before.label              "12 hours before" >
+<!ENTITY event.reminder.1day.before.label                 "1 day before" >
+<!ENTITY event.reminder.2days.before.label                "2 days before" >
+<!ENTITY event.reminder.1week.before.label                "1 week before" >
+<!ENTITY event.reminder.custom.label                      "Custom…" >
+
+<!ENTITY event.reminder.multiple.label                    "Multiple Reminders…" >
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label                         "Edit Recurrence">
+
+<!ENTITY event.repeat.does.not.repeat.label             "Does not repeat">
+<!ENTITY event.repeat.daily.label                       "Daily">
+<!ENTITY event.repeat.weekly.label                      "Weekly">
+<!ENTITY event.repeat.every.weekday.label               "Every Weekday">
+<!ENTITY event.repeat.bi.weekly.label                   "Bi-weekly">
+<!ENTITY event.repeat.monthly.label                     "Monthly">
+<!ENTITY event.repeat.yearly.label                      "Yearly">
+<!ENTITY event.repeat.custom.label                      "Custom…">
+
+<!ENTITY event.recurrence.pattern.label                 "Recurrence pattern">
+<!ENTITY event.recurrence.occurs.label                  "Repeat" >
+<!ENTITY event.recurrence.day.label                     "daily" >
+<!ENTITY event.recurrence.week.label                    "weekly" >
+<!ENTITY event.recurrence.month.label                   "monthly" >
+<!ENTITY event.recurrence.year.label                    "annually" >
+
+<!ENTITY event.recurrence.pattern.every.label           "Every" >
+<!ENTITY repeat.units.days.both                         "Day(s)" >
+<!ENTITY event.recurrence.pattern.every.weekday.label   "Every weekday" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label    "Every" >
+<!ENTITY repeat.units.weeks.both                        "Week(s)" >
+<!ENTITY event.recurrence.on.label                      "On:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label   "Every" >
+<!ENTITY repeat.units.months.both                       "Month(s)" >
+<!ENTITY event.recurrence.monthly.every.label           "Every" >
+<!ENTITY event.recurrence.monthly.first.label           "The First">
+<!ENTITY event.recurrence.monthly.second.label          "The Second">
+<!ENTITY event.recurrence.monthly.third.label           "The Third">
+<!ENTITY event.recurrence.monthly.fourth.label          "The Fourth">
+<!ENTITY event.recurrence.monthly.fifth.label           "The Fifth">
+<!ENTITY event.recurrence.monthly.last.label            "The Last">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label  "Sunday" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label  "Monday" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label  "Tuesday" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label  "Wednesday" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label  "Thursday" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label  "Friday" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label  "Saturday" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label       "Day of the month">
+<!ENTITY event.recurrence.repeat.recur.label            "Recur on day(s)">
+
+<!ENTITY event.recurrence.every.label                        "Every:" >
+<!ENTITY repeat.units.years.both                             "Year(s)" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label   "Every" >
+
+<!-- LOCALIZATON NOTE
+     Some languages use a preposition when describing dates:
+     Portuguese: 6 de Setembro
+     English: 6 [of] September
+     event.recurrence.pattern.yearly.of.label is "of" in
+     Edit recurrence window -> Recurrence pattern -> Repeat yearly
+-->
+<!ENTITY event.recurrence.pattern.yearly.of.label            "" >
+
+<!ENTITY event.recurrence.pattern.yearly.month.1.label       "January" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label       "February" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label       "March" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label       "April" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label       "May" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label       "June" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label       "July" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label       "August" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label       "September" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label      "October" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label      "November" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label      "December" >
+<!ENTITY event.recurrence.yearly.every.label                 "Every">
+<!ENTITY event.recurrence.yearly.first.label                 "The First">
+<!ENTITY event.recurrence.yearly.second.label                "The Second">
+<!ENTITY event.recurrence.yearly.third.label                 "The Third">
+<!ENTITY event.recurrence.yearly.fourth.label                "The Fourth">
+<!ENTITY event.recurrence.yearly.fifth.label                 "The Fifth">
+<!ENTITY event.recurrence.yearly.last.label                  "The Last">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label        "Sunday" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label        "Monday" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label        "Tuesday" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label        "Wednesday" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label        "Thursday" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label        "Friday" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label        "Saturday" >
+<!ENTITY event.recurrence.of.label                           "of" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label      "January" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label      "February" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label      "March" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label      "April" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label      "May" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label      "June" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label      "July" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label      "August" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label      "September" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label     "October" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label     "November" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label     "December" >
+
+<!ENTITY event.recurrence.range.label                   "Range of recurrence">
+<!ENTITY event.recurrence.forever.label                 "No end date" >
+<!ENTITY event.recurrence.repeat.for.label              "Create" >
+<!ENTITY event.recurrence.appointments.label            "Appointment(s)" >
+<!ENTITY event.repeat.until.label                       "Repeat until" >
+<!ENTITY event.recurrence.preview.label                 "Preview">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label                     "Invite Attendees">
+<!ENTITY event.organizer.label                  "Organiser">
+<!ENTITY event.freebusy.suggest.slot            "Suggest time slot:">
+<!ENTITY event.freebusy.next.slot               "Next slot " >
+<!ENTITY event.freebusy.previous.slot           " Previous slot" >
+<!ENTITY event.freebusy.zoom                    "Zoom:">
+<!ENTITY event.freebusy.legend.free             "Free" >
+<!ENTITY event.freebusy.legend.busy             "Busy" >
+<!ENTITY event.freebusy.legend.busy_tentative   "Tentative" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Out of Office" >
+<!ENTITY event.freebusy.legend.unknown          "No Information" >
+<!ENTITY event.attendee.role.required           "Required Attendee">
+<!ENTITY event.attendee.role.optional           "Optional Attendee">
+<!ENTITY event.attendee.role.chair              "Chair">
+<!ENTITY event.attendee.role.nonparticipant     "Non Participant">
+<!ENTITY event.attendee.usertype.individual     "Individual">
+<!ENTITY event.attendee.usertype.group          "Group">
+<!ENTITY event.attendee.usertype.resource       "Resource">
+<!ENTITY event.attendee.usertype.room           "Room">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label            "Please Specify the Timezone">
+<!ENTITY event.timezone.custom.label     "More Timezones…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label         "General">
+<!ENTITY read.only.title.label           "Title:">
+<!ENTITY read.only.event.start.label     "Start Date:">
+<!ENTITY read.only.task.start.label      "Start Date:">
+<!ENTITY read.only.event.end.label       "End Date:">
+<!ENTITY read.only.task.due.label        "Due Date:">
+<!ENTITY read.only.repeat.label          "Repeat:">
+<!ENTITY read.only.location.label        "Location:">
+<!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.attendees.label       "Attendees">
+<!ENTITY read.only.description.label     "Description">
+<!ENTITY read.only.documents.label       "Documents">
+<!ENTITY read.only.link.label            "Related Link">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,374 @@
+# 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 (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=every day;every #1 days
+repeatDetailsRuleDaily4=every weekday
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+weeklyNthOnNounclass1=every %1$S;every #2 weeks on %1$S
+weeklyNthOnNounclass2=every %1$S;every #2 weeks on %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=every week;every #1 weeks
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+#   "nounclass1"     for languages with grammatical genders -> MASCULINE gender;
+#                    for languages with noun classes -> a noun class;
+#                    for languages without noun classes or grammatical gender.
+#
+#   "nounclass2"     for languages with grammatical genders -> FEMININE gender;
+#                    for languages with noun classes -> a different noun class.
+#
+#   "nounclass3", "nounclass4" and so on for languages that need more than two
+#                    noun classes for weekdays. In this case add corresponding
+#                    rule string with "Nounclass..." suffix and ordinal string
+#                    "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+repeatDetailsDay1=Sunday
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=Monday
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Tuesday
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Wednesday
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Thursday
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Friday
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=Saturday
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=and
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+#        (ordinal and weekday of every element in the list follow the order
+#         and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=%1$S of every month;%1$S of every #2 months
+monthlyRuleNthOfEveryNounclass2=%1$S of every month;%1$S of every #2 months
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+ordinalWeekdayOrder=%1$S %2$S
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+#        noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+monthlyEveryOfEveryNounclass1=every %1$S of every month;every %1$S of every #2 months
+monthlyEveryOfEveryNounclass2=every %1$S of every month;every %1$S of every #2 months
+
+# LOCALIZATION NOTE (monthlyDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "day 3 of every 2 months"
+monthlyDayOfNth=day %1$S of every month;day %1$S of every #2 months
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+monthlyLastDayOfNth=the last day of the month; the last day of every #1 months
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+monthlyEveryDayOfNth=every day of every month;every day of the month every #2 months
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+repeatOrdinal1Nounclass1=the first
+repeatOrdinal2Nounclass1=the second
+repeatOrdinal3Nounclass1=the third
+repeatOrdinal4Nounclass1=the fourth
+repeatOrdinal5Nounclass1=the fifth
+repeatOrdinal-1Nounclass1=the last
+repeatOrdinal1Nounclass2=the first
+repeatOrdinal2Nounclass2=the second
+repeatOrdinal3Nounclass2=the third
+repeatOrdinal4Nounclass2=the fourth
+repeatOrdinal5Nounclass2=the fifth
+repeatOrdinal-1Nounclass2=the last
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month
+# %2$S - day of month
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+yearlyNthOn=every %1$S %2$S;every #3 years on %1$S %2$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g  "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=%1$S %2$S of every %3$S;every #4 years on %1$S %2$S of %3$S
+yearlyNthOnNthOfNounclass2=%1$S %2$S of every %3$S;every #4 years on %1$S %2$S of %3$S
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass1):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday
+# %2$S - month
+# #3 - yearly interval
+# e.g. "every Thursday of March"
+# e.g  "every 3 years on every Thursday of March"
+yearlyOnEveryNthOfNthNounclass1=every %1$S of %2$S;every #3 years on every %1$S of %2$S
+yearlyOnEveryNthOfNthNounclass2=every %1$S of %2$S;every #3 years on every %1$S of %2$S
+
+repeatDetailsMonth1=January
+repeatDetailsMonth2=February
+repeatDetailsMonth3=March
+repeatDetailsMonth4=April
+repeatDetailsMonth5=May
+repeatDetailsMonth6=June
+repeatDetailsMonth7=July
+repeatDetailsMonth8=August
+repeatDetailsMonth9=September
+repeatDetailsMonth10=October
+repeatDetailsMonth11=November
+repeatDetailsMonth12=December
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+#  only on 1/1/2009"
+#  from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+#  effective 1/1/2009 for 5 times
+#  from 5:00 PM to 6:00 PM"
+repeatCount=Occurs %1$S\neffective %2$S for #5 time\nfrom %3$S to %4$S.;Occurs %1$S\neffective %2$S for #5 times\nfrom %3$S to %4$S.
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+#  only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+#  effective 1/1/2009 for 5 times"
+repeatCountAllDay=Occurs %1$S\neffective %2$S for #3 time.;Occurs %1$S\neffective %2$S for #3 times.
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+#  effective 1/1/2009 until 1/1/2010
+#  from 5:00 PM to 6:00 PM"
+repeatDetailsUntil=Occurs %1$S\neffective %2$S until %3$S\nfrom %4$S to %5$S.
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDayOfNth and all day event:
+# "Occurs day 3 of every 5 month
+#  effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=Occurs %1$S\neffective %2$S until %3$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDayOfNth:
+# "Occurs day 3 of every 5 month
+#  effective 1/1/2009
+#  from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=Occurs %1$S\neffective %2$S\nfrom %3$S to %4$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDayOfNth and all day event:
+# "Occurs day 3 of every 5 month
+#  effective 1/1/2009"
+repeatDetailsInfiniteAllDay=Occurs %1$S\neffective %2$S.
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the reminder details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=Click here for details
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplexSummary=Repeat details unknown
+
+# differences between the dialog for an Event or a Task
+newEvent=New Event
+newTask=New Task
+itemMenuLabelEvent=Event
+itemMenuAccesskeyEvent2=F
+itemMenuLabelTask=Task
+itemMenuAccesskeyTask2=F
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Please specify the link location
+enterLinkLocation=Enter a web page, or document location.
+
+summaryDueTaskLabel=Due:
+
+# Attach File Dialog
+attachViaFilelink=File using %1$S
+selectAFile=Please select the file(s) to attach
+removeCalendarsTitle=Remove Attachments
+removeCalendarsText=Do you really want to remove %1$S attachments?
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+monthlyOrder=%1$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder=%1$S %3$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S  - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder2=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn   (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+#     e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+#     e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+#  "true"    if sentences like those above need weekday in plural form;
+#  "false"   if sentences like those above don't need weekday in plural form;
+pluralForWeekdays=false
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn   (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+#     e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+#     e.g. "every Friday of March;every 2 years on every Friday of March"
+repeatDetailsDay1Plural=Sunday
+repeatDetailsDay2Plural=Monday
+repeatDetailsDay3Plural=Tuesday
+repeatDetailsDay4Plural=Wednesday
+repeatDetailsDay5Plural=Thursday
+repeatDetailsDay6Plural=Friday
+repeatDetailsDay7Plural=Saturday
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.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/.
+-->
+
+<!-- Calendar Invitations Dialog -->
+<!ENTITY calendar.invitations.dialog.invitations.text                   "Invitations">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text        "Updating list of invitations.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text   "No unconfirmed invitations found.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label                  "Accept">
+<!ENTITY calendar.invitations.list.decline.button.label                 "Decline">
+<!ENTITY calendar.invitations.list.recurrentevent.text                  "Repeating event">
+<!ENTITY calendar.invitations.list.alldayevent.text                     "All day event">
+<!ENTITY calendar.invitations.list.location.text                        "Location: ">
+<!ENTITY calendar.invitations.list.organizer.text                       "Organiser: ">
+<!ENTITY calendar.invitations.list.attendee.text                        "Attendee: ">
+<!ENTITY calendar.invitations.list.none.text                            "None">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+<!-- 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 buttons.occurrence.accesskey "t">
+<!ENTITY buttons.allfollowing.accesskey "f">
+<!ENTITY buttons.parent.accesskey "a">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
@@ -0,0 +1,20 @@
+# 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/.
+
+header.isrepeating.event.label=is a repeating event
+header.isrepeating.task.label=is a repeating task 
+
+windowtitle.event.delete=Delete Repeating Event
+windowtitle.task.delete=Delete Repeating Task
+windowtitle.event.edit=Edit Repeating Event
+windowtitle.task.edit=Edit Repeating Task
+
+buttons.occurrence.delete.label=Delete just this occurrence
+buttons.occurrence.edit.label=Edit just this occurrence
+
+buttons.allfollowing.delete.label=Delete this and all future occurrences
+buttons.allfollowing.edit.label=Edit this and all future occurrences
+
+buttons.parent.delete.label=Delete all occurrences
+buttons.parent.edit.label=Edit all occurrences
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -0,0 +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/.
+-->
+
+<!-- Calendar Subscriptions Dialog -->
+<!ENTITY calendar.subscriptions.dialog.title                            "Subscribe Calendars">
+<!ENTITY calendar.subscriptions.dialog.search.label.value               "Show calendars that contain:">
+<!ENTITY calendar.subscriptions.dialog.search.button.label              "Search">
+<!ENTITY calendar.subscriptions.dialog.select.label.value               "Select calendars to subscribe to:">
+<!ENTITY calendar.subscriptions.dialog.subscribe.button.label           "Subscribe">
+<!ENTITY calendar.subscriptions.dialog.unsubscribe.button.label         "Unsubscribe">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.busy.label         "Search…">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.nomatches.label    "No matches found.">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,350 @@
+<!-- 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/. -->
+
+<!-- General -->
+<!ENTITY calendar.calendar.label     "Calendar">
+<!ENTITY calendar.calendar.accesskey "C">
+
+<!ENTITY calendar.newevent.button.tooltip         "Create a new event" >
+<!ENTITY calendar.newtask.button.tooltip          "Create a new task" >
+
+<!ENTITY calendar.unifinder.todoitems.label       "Tasks" >
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Show completed Tasks">
+
+<!ENTITY calendar.today.button.label       "Today">
+<!ENTITY calendar.tomorrow.button.label       "Tomorrow">
+<!ENTITY calendar.soon.button.label           "Soon">
+
+<!ENTITY calendar.events.filter.all.label "All Events">
+<!ENTITY calendar.events.filter.today.label "Today's Events">
+<!ENTITY calendar.events.filter.future.label "All Future Events">
+<!ENTITY calendar.events.filter.current.label "Currently Selected Day">
+<!ENTITY calendar.events.filter.currentview.label "Events in Current View">
+<!ENTITY calendar.events.filter.next7Days.label "Events in the Next 7 Days">
+<!ENTITY calendar.events.filter.next14Days.label "Events in the Next 14 Days">
+<!ENTITY calendar.events.filter.next31Days.label "Events in the Next 31 Days">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Events in this Calendar Month">
+
+<!ENTITY calendar.unifinder.tree.done.label              "Done">
+<!ENTITY calendar.unifinder.tree.done.tooltip            "Click to sort by Done">
+<!ENTITY calendar.unifinder.tree.priority.label          "Priority">
+<!ENTITY calendar.unifinder.tree.priority.tooltip        "Click to sort by Priority">
+<!ENTITY calendar.unifinder.tree.title.label             "Title">
+<!ENTITY calendar.unifinder.tree.title.tooltip           "Click to sort by Title">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label   "&#37; Complete">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip "Click to sort by &#37; Complete">
+<!ENTITY calendar.unifinder.tree.startdate.label         "Start">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip       "Click to sort by Start Date">
+<!ENTITY calendar.unifinder.tree.enddate.label           "End">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip         "Click to sort by End Date">
+<!ENTITY calendar.unifinder.tree.duedate.label           "Due">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip         "Click to sort by Due Date">
+<!ENTITY calendar.unifinder.tree.completeddate.label     "Completed">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip   "Click to sort by Completed">
+<!ENTITY calendar.unifinder.tree.categories.label        "Category">
+<!ENTITY calendar.unifinder.tree.categories.tooltip      "Click to sort by Category">
+<!ENTITY calendar.unifinder.tree.location.label          "Location">
+<!ENTITY calendar.unifinder.tree.location.tooltip        "Click to sort by Location">
+<!ENTITY calendar.unifinder.tree.status.label            "Status">
+<!ENTITY calendar.unifinder.tree.status.tooltip          "Click to sort by Status">
+<!ENTITY calendar.unifinder.tree.calendarname.label      "Calendar Name">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip    "Click to sort by Calendar Name">
+<!ENTITY calendar.unifinder.tree.duration.label          "Due in">
+<!ENTITY calendar.unifinder.tree.duration.tooltip        "Click to sort by Due in">
+<!ENTITY calendar.unifinder.close.tooltip                "Close event search and event list">
+
+<!ENTITY calendar.today.button.tooltip          "Go to Today" >
+<!ENTITY calendar.todaypane.button.tooltip      "Show Today Pane" >
+
+<!ENTITY calendar.day.button.tooltip            "Switch to day view" >
+<!ENTITY calendar.week.button.tooltip           "Switch to week view" >
+<!ENTITY calendar.month.button.tooltip          "Switch to month view" >
+<!ENTITY calendar.multiweek.button.tooltip      "Switch to multiweek view" >
+
+<!ENTITY calendar.nextday.label                 "Next Day" >
+<!ENTITY calendar.prevday.label                 "Previous Day" >
+<!ENTITY calendar.nextday.accesskey             "x" >
+<!ENTITY calendar.prevday.accesskey             "s" >
+<!ENTITY calendar.nextweek.label                "Next Week" >
+<!ENTITY calendar.prevweek.label                "Previous Week" >
+<!ENTITY calendar.nextweek.accesskey            "x" >
+<!ENTITY calendar.prevweek.accesskey            "s" >
+<!ENTITY calendar.nextmonth.label               "Next Month" >
+<!ENTITY calendar.prevmonth.label               "Previous Month" >
+<!ENTITY calendar.nextmonth.accesskey           "x" >
+<!ENTITY calendar.prevmonth.accesskey           "s" >
+
+<!ENTITY calendar.navigation.nextday.tooltip    "One Day Forwards" >
+<!ENTITY calendar.navigation.prevday.tooltip    "One Day Backwards" >
+<!ENTITY calendar.navigation.nextweek.tooltip   "One Week Forwards" >
+<!ENTITY calendar.navigation.prevweek.tooltip   "One Week Backwards" >
+<!ENTITY calendar.navigation.nextmonth.tooltip  "One Month Forwards" >
+<!ENTITY calendar.navigation.prevmonth.tooltip  "One Month Backwards" >
+
+<!ENTITY calendar.newevent.button.label         "New Event" >
+<!ENTITY calendar.newtask.button.label          "New Task" >
+<!ENTITY calendar.print.button.label            "Print" >
+
+<!ENTITY calendar.export.calendar                "Export Calendar…" >
+
+<!ENTITY calendar.day.button.label              "Day" >
+<!ENTITY calendar.week.button.label             "Week" >
+<!ENTITY calendar.month.button.label            "Month" >
+<!ENTITY calendar.multiweek.button.label        "Multiweek" >
+<!ENTITY calendar.onlyworkday.checkbox.label    "Workweek days only" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey  "r" >
+<!ENTITY calendar.displaytodos.checkbox.label   "Tasks in View" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "k" >
+<!ENTITY calendar.completedtasks.checkbox.label     "Show completed Tasks" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "c" >
+
+<!ENTITY calendar.orientation.label "Rotate View" >
+<!ENTITY calendar.orientation.accesskey "o" >
+
+<!ENTITY calendar.search.options.searchfor " contain">
+
+<!ENTITY calendar.list.header.label                 "Calendar">
+
+<!ENTITY calendar.task.filter.title.label           "Show">
+<!ENTITY calendar.task.filter.all.label             "All">
+<!ENTITY calendar.task.filter.all.accesskey         "A">
+<!ENTITY calendar.task.filter.today.label           "Today">
+<!ENTITY calendar.task.filter.today.accesskey       "T">
+<!ENTITY calendar.task.filter.next7days.label       "Next Seven Days">
+<!ENTITY calendar.task.filter.next7days.accesskey   "N">
+<!ENTITY calendar.task.filter.notstarted.label      "Not Started Tasks">
+<!ENTITY calendar.task.filter.notstarted.accesskey  "a">
+<!ENTITY calendar.task.filter.overdue.label         "Overdue Tasks">
+<!ENTITY calendar.task.filter.overdue.accesskey     "O">
+<!ENTITY calendar.task.filter.completed.label       "Completed Tasks">
+<!ENTITY calendar.task.filter.completed.accesskey   "C">
+<!ENTITY calendar.task.filter.open.label            "Incomplete Tasks">
+<!ENTITY calendar.task.filter.open.accesskey        "m">
+
+<!-- LOCALIZATION NOTE(calendar.task.filter.current.label)
+     "Current Tasks" will show all tasks, except those with a start date set
+     that is after today and after the selected date. If a task repeats, a
+     separate entry will be shown for each of the occurrences that happen on or
+     before today (or the selected date, whichever is later). -->
+<!ENTITY calendar.task.filter.current.label         "Current Tasks">
+<!ENTITY calendar.task.filter.current.accesskey     "u">
+<!ENTITY calendar.task.filter.repeating.label       "Repeating Tasks">
+<!ENTITY calendar.task.filter.repeating.accesskey   "R">
+
+<!ENTITY calendar.task-details.title.label           "title">
+<!ENTITY calendar.task-details.organizer.label       "from">
+<!ENTITY calendar.task-details.priority.label        "priority">
+<!ENTITY calendar.task-details.priority.low.label    "Low">
+<!ENTITY calendar.task-details.priority.normal.label "Normal">
+<!ENTITY calendar.task-details.priority.high.label   "High">
+<!ENTITY calendar.task-details.status.label          "status">
+<!ENTITY calendar.task-details.category.label        "category">
+<!ENTITY calendar.task-details.repeat.label          "repeat">
+<!ENTITY calendar.task-details.attachments.label     "attachments">
+<!ENTITY calendar.task-details.start.label           "start date">
+<!ENTITY calendar.task-details.due.label             "due date">
+
+<!ENTITY calendar.task.category.button.tooltip  "Categorise tasks">
+<!ENTITY calendar.task.complete.button.tooltip  "Mark selected tasks completed">
+<!ENTITY calendar.task.priority.button.tooltip  "Change the priority">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base            "Filter tasks… #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Shift+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac    "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label            "Document: Done">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label      "Open">
+<!ENTITY calendar.context.modifyorviewitem.accesskey  "O">
+<!ENTITY calendar.context.modifyorviewtask.label      "Open Task…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey  "O">
+<!ENTITY calendar.context.newevent.label              "New Event…">
+<!ENTITY calendar.context.newevent.accesskey          "N">
+<!ENTITY calendar.context.newtodo.label               "New Task…">
+<!ENTITY calendar.context.newtodo.accesskey           "k">
+<!ENTITY calendar.context.deletetask.label            "Delete Task">
+<!ENTITY calendar.context.deletetask.accesskey        "l">
+<!ENTITY calendar.context.deleteevent.label           "Delete Event">
+<!ENTITY calendar.context.deleteevent.accesskey       "l">
+<!ENTITY calendar.context.cutevent.label              "Cut">
+<!ENTITY calendar.context.cutevent.accesskey          "t">
+<!ENTITY calendar.context.copyevent.label             "Copy">
+<!ENTITY calendar.context.copyevent.accesskey         "C">
+<!ENTITY calendar.context.pasteevent.label            "Paste">
+<!ENTITY calendar.context.pasteevent.accesskey        "P">
+<!ENTITY calendar.context.button.label                "Today Pane" >
+<!ENTITY calendar.context.button.accesskey            "T" >
+<!ENTITY calendar.context.attendance.menu.label       "Attendance" >
+<!ENTITY calendar.context.attendance.menu.accesskey   "d" >
+<!ENTITY calendar.context.attendance.occurrence.label "This Occurrence" >
+<!ENTITY calendar.context.attendance.all.label        "All Occurrences" >
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label              "Progress">
+<!ENTITY calendar.context.progress.accesskey          "P">
+<!ENTITY calendar.context.priority.label              "Priority">
+<!ENTITY calendar.context.priority.accesskey          "r">
+<!ENTITY calendar.context.postpone.label              "Postpone Task">
+<!ENTITY calendar.context.postpone.accesskey          "s">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label     "Mark Completed">
+<!ENTITY calendar.context.markcompleted.accesskey "o">
+
+<!ENTITY progress.level.0             "0&percnt; Completed">
+<!ENTITY progress.level.0.accesskey   "0">
+<!ENTITY progress.level.25            "25&percnt; Completed">
+<!ENTITY progress.level.25.accesskey  "2">
+<!ENTITY progress.level.50            "50&percnt; Completed">
+<!ENTITY progress.level.50.accesskey  "5">
+<!ENTITY progress.level.75            "75&percnt; Completed">
+<!ENTITY progress.level.75.accesskey  "7">
+<!ENTITY progress.level.100            "100&percnt; Completed">
+<!ENTITY progress.level.100.accesskey  "1">
+
+<!ENTITY priority.level.none                "Not specified">
+<!ENTITY priority.level.none.accesskey      "s">
+<!ENTITY priority.level.low                 "Low">
+<!ENTITY priority.level.low.accesskey       "L">
+<!ENTITY priority.level.normal              "Normal">
+<!ENTITY priority.level.normal.accesskey    "N">
+<!ENTITY priority.level.high                "High">
+<!ENTITY priority.level.high.accesskey      "H">
+
+<!ENTITY calendar.context.postpone.1hour.label      "1 Hour">
+<!ENTITY calendar.context.postpone.1hour.accesskey  "H">
+<!ENTITY calendar.context.postpone.1day.label       "1 Day">
+<!ENTITY calendar.context.postpone.1day.accesskey   "D">
+<!ENTITY calendar.context.postpone.1week.label      "1 Week">
+<!ENTITY calendar.context.postpone.1week.accesskey  "W">
+
+<!ENTITY calendar.copylink.label       "Copy Link Location">
+<!ENTITY calendar.copylink.accesskey   "C">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+     task action buttons -->
+<!ENTITY calendar.taskview.delete.label     "Delete">
+<!ENTITY calendar.taskview.delete.accesskey "l">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label              "New Calendar…">
+<!ENTITY calendar.context.newserver.accesskey          "N">
+<!ENTITY calendar.context.findcalendar.label           "Find Calendar…" >
+<!ENTITY calendar.context.findcalendar.accesskey       "F" >
+<!ENTITY calendar.context.deleteserver.label           "Delete Calendar">
+<!ENTITY calendar.context.deleteserver.accesskey       "D">
+<!ENTITY calendar.context.synccalendars.label          "Synchronise Calendars">
+<!ENTITY calendar.context.synccalendars.accesskey      "S">
+<!ENTITY calendar.context.publish.label                "Publish Calendar…">
+<!ENTITY calendar.context.publish.accesskey            "b">
+<!ENTITY calendar.context.export.label                 "Export Calendar…">
+<!ENTITY calendar.context.export.accesskey             "E">
+<!ENTITY calendar.context.properties.label             "Properties">
+<!ENTITY calendar.context.properties.accesskey         "P">
+
+<!ENTITY calendar.context.convertmenu.label              "Convert To">
+<!ENTITY calendar.context.convertmenu.accesskey.mail     "n">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "v">
+<!ENTITY calendar.context.convertmenu.event.label        "Event…">
+<!ENTITY calendar.context.convertmenu.event.accesskey    "E">
+<!ENTITY calendar.context.convertmenu.message.label      "Message…">
+<!ENTITY calendar.context.convertmenu.message.accesskey  "M">
+<!ENTITY calendar.context.convertmenu.task.label         "Task…">
+<!ENTITY calendar.context.convertmenu.task.accesskey     "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label           "Mini-Month">
+<!ENTITY calendar.tasks.view.minimonth.accesskey       "M">
+
+<!ENTITY calendar.tasks.view.calendarlist.label        "Calendar List">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey    "L">
+
+<!ENTITY calendar.tasks.view.filtertasks.label           "Filter Tasks">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey       "F">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label              "Location:" >
+<!ENTITY calendar.alarm.details.label               "Details…" >
+
+<!ENTITY calendar.alarm.snoozefor.label             "Snooze for" >
+<!ENTITY calendar.alarm.snoozeallfor.label          "Snooze All for" >
+<!ENTITY calendar.alarm.title.label                 "Calendar Reminders" >
+<!ENTITY calendar.alarm.dismiss.label               "Dismiss" >
+<!ENTITY calendar.alarm.dismissall.label            "Dismiss All" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label       "5 Minutes" >
+<!ENTITY calendar.alarm.snooze.10minutes.label      "10 Minutes" >
+<!ENTITY calendar.alarm.snooze.15minutes.label      "15 Minutes" >
+<!ENTITY calendar.alarm.snooze.30minutes.label      "30 Minutes" >
+<!ENTITY calendar.alarm.snooze.45minutes.label      "45 Minutes" >
+<!ENTITY calendar.alarm.snooze.1hour.label          "1 Hour" >
+<!ENTITY calendar.alarm.snooze.2hours.label         "2 Hours" >
+<!ENTITY calendar.alarm.snooze.1day.label           "1 Day" >
+
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+     This string is not seen in the UI, it is read by screen readers when the
+     user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+     dialog. -->
+<!ENTITY calendar.alarm.snooze.cancel               "Cancel Snooze">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit          "Edit Calendar">
+<!ENTITY calendar.server.dialog.name.label          "Calendar Name:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label                    "Colour:">
+<!ENTITY calendarproperties.webdav.label                   "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label                   "CalDAV">
+<!ENTITY calendarproperties.wcap.label                     "Sun Java System Calendar Server (WCAP)">
+<!ENTITY calendarproperties.format.label                   "Format:">
+<!ENTITY calendarproperties.location.label                 "Location:">
+<!ENTITY calendarproperties.refreshInterval.label          "Refresh Calendar:">
+<!ENTITY calendarproperties.refreshInterval.manual.label   "Manually">
+<!ENTITY calendarproperties.name.label                     "Name:">
+<!ENTITY calendarproperties.readonly.label                 "Read Only">
+<!ENTITY calendarproperties.firealarms.label               "Show Reminders">
+<!ENTITY calendarproperties.cache3.label                   "Offline Support">
+<!ENTITY calendarproperties.enabled.label                  "Switch this calendar on">
+<!ENTITY calendarproperties.forceDisabled.label            "The provider for this calendar could not be found. This often happens if you have disabled or uninstalled certain add-ons.">
+<!ENTITY calendarproperties.unsubscribe.label              "Unsubscribe">
+<!ENTITY calendarproperties.unsubscribe.accesskey          "U">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title              "Publish Calendar">
+<!ENTITY calendar.publish.url.label                 "Publishing URL">
+<!ENTITY calendar.publish.publish.button      "Publish">
+<!ENTITY calendar.publish.close.button      "Close">
+
+<!ENTITY calendar.publish.example.url.description   "Something like http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title    "Select Calendar">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "Print A Calendar">
+<!ENTITY calendar.print.title.label "Title:">
+<!ENTITY calendar.print.layout.label "Layout:">
+<!ENTITY calendar.print.range.label "What to Print">
+<!ENTITY calendar.print.currentView2.label "Current view">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Selected events/tasks">
+<!ENTITY calendar.print.tasks.label "Tasks">
+<!ENTITY calendar.print.events.label "Events">
+<!ENTITY calendar.print.selected.label "Selected events">
+<!ENTITY calendar.print.custom.label "Custom date range:">
+<!ENTITY calendar.print.from.label "From:">
+<!ENTITY calendar.print.to.label "To:">
+<!ENTITY calendar.print.settingsGroup.label "Print Settings">
+<!ENTITY calendar.print.optionsGroup.label "Options">
+<!ENTITY calendar.print.taskswithnoduedate.label "Tasks with no due date">
+<!ENTITY calendar.print.completedtasks.label "Completed tasks">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Details…">
+<!ENTITY calendar.error.code "Error code:">
+<!ENTITY calendar.error.description "Description:">
+<!ENTITY calendar.error.title "An error has occurred">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,590 @@
+# 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/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+#    %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=Print Preview of %1$S
+Untitled=Untitled
+
+# Default name for new events
+newEvent=New Event
+
+# Titles for the event/task dialog
+newEventDialog=New Event
+editEventDialog=Edit Event
+newTaskDialog=New Task
+editTaskDialog=Edit Task
+
+# Do you want to save changes?
+askSaveTitleEvent=Save Event
+askSaveTitleTask=Save Task
+askSaveMessageEvent=Event has not been saved. Do you want to save the event?
+askSaveMessageTask=Task has not been saved. Do you want to save the task?
+
+# Event Dialog Warnings
+warningEndBeforeStart=The end date you entered occurs before the start date
+warningUntilBeforeStart=The until date you entered occurs before the start date
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Home
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Untitled Calendar
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative     =Tentative
+statusConfirmed     =Confirmed
+eventStatusCancelled=Cancelled
+todoStatusCancelled =Cancelled
+statusNeedsAction   =Needs Action
+statusInProcess     =In Process
+statusCompleted     =Completed
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=High
+mediumPriority=Medium
+lowPriority=Low
+
+importPrompt=Which calendar do you want to import these items into?
+exportPrompt=Which calendar do you want to export from?
+publishPrompt=Which calendar do you want to publish?
+
+# LOCALIZATION NOTE (importItemsFailed):
+#    %1$S will be replaced with number of failed items
+#    %2$S will be replaced with last error code / error string
+importItemsFailed=%1$S items failed to import. The last error was: %2$S
+
+#spaces needed at the end of the following lines
+eventDescription=Description:
+
+unableToRead=Unable to read from file:
+unableToWrite=Unable to write to file:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Mozilla Calendar
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+#    %1$S will be replaced with the path to a file
+timezoneError=An unknown and undefined timezone was found while reading %1$S.
+
+# LOCALIZATION NOTE (duplicateError):
+#    %1$S will be replaced with number of duplicate items
+#    %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S item(s) were ignored since they exist in both the destination calendar and %2$S.
+
+unableToCreateProvider=An error was encountered preparing the calendar located at %1$S for use. It will not be available.
+unknownTimezonesError=An error was encountered preparing the calendar located at %1$S for use. The calendar might refer to unknown timezones. Please install the latest calendar-timezones.xpi.
+missingCalendarTimezonesError=No timezones found! Please install calendar-timezones.xpi.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt".  Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Unknown timezone "%1$S" in "%2$S".  Treated as 'floating' local timezone instead: %3$S
+TimezoneErrorsAlertTitle=Timezone Errors
+TimezoneErrorsSeeConsole=See Error Console: Unknown timezones are treated as the 'floating' local timezone.
+
+unsubscribeCalendarTitle=Unsubscribe from Calendar
+
+# LOCALIZATION NOTE (unsubscribeCalendarMessage):
+# used for an message like 'Are you sure you want to unsubscribe from calendar "Home"?'
+#    %1$S will be replaced with the name of a calendar
+unsubscribeCalendarMessage=Are you sure you want to unsubscribe from calendar "%1$S"?
+
+WeekTitle=Week %1$S
+# Used to format the Multiweek's labels, ie Weeks 2 - 7
+WeeksTitle=Weeks %1$S-%2$S
+None=None
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+tooNewSchemaErrorBoxTitle=Your calendar data isn't compatible with this version of %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextLightning):
+#    %1$S will be replaced with the name of the calendar application e.g. 'Lightning'
+#    %2$S will be replaced with the name of the host application 'calendar'
+tooNewSchemaErrorBoxTextLightning=The calendar data in your profile was updated by a newer version of %1$S, and continuing will probably cause the information to be lost or corrupted. %1$S will now be disabled and %2$S restarted.
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextSunbird):
+#    %1$S will be replaced with the name of the calendar application e.g. 'Sunbird'
+#    %2$S will be replaced with the name of the host application 'calendar'
+tooNewSchemaErrorBoxTextSunbird=The calendar data in your profile was updated by a newer version of %1$S, and continuing will probably cause the information to be lost or corrupted. %1$S will now quit.
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+#    %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=Restart %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+#    %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=Quit %1$S
+
+# List of events or todos (unifinder)
+eventUntitled=Untitled
+
+# Tooltips of events or todos
+tooltipTitle=Title:
+tooltipLocation=Location:
+# event date, usually an interval, such as
+#  Date: 7:00--8:00 Thu 9 Oct 2011
+#  Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
+tooltipDate=Date:
+# event calendar name
+tooltipCalName=Calendar Name:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Status:
+# event organizer
+tooltipOrganizer=Organiser:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Start:
+tooltipDue=Due:
+tooltipPriority=Priority:
+tooltipPercent=% Complete:
+tooltipCompleted=Completed:
+
+#File commands and dialogs
+New=New
+Open=Open
+filepickerTitleImport=Import
+filepickerTitleExport=Export
+
+# Filters for export/import/open file picker.  %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+filterIcs=iCalendar (%1$S)
+filterXml=XML Document (%1$S)
+filterHtml=Web Page (%1$S)
+filterOutlookCsv=Outlook Comma Separated Values (%1$S)
+filterWav=Waveform Audio (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=An error has occurred
+httpPutError=Publishing the calendar file failed.\nStatus code: %1$S: %2$S
+otherPutError=Publishing the calendar file failed.\nStatus code: 0x%1$S
+
+# LOCALIZATION NOTE (readOnlyMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+#    %1$S will be replaced with the name of a calendar
+readOnlyMode=There has been an error reading data for calendar: %1$S. It has been placed in read-only mode, since changes to this calendar will probably result in data-loss.  You may change this setting by choosing 'Edit Calendar'.
+
+# LOCALIZATION NOTE (disabledMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+#    %1$S will be replaced with the name of a calendar
+disabledMode=There has been an error reading data for calendar: %1$S. It has been disabled until it is safe to use it.
+
+# LOCALIZATION NOTE (minorError):
+# used for an message like 'There has been an error reading data for calendar: Home. However this...'
+#    %1$S will be replaced with the name of a calendar
+minorError=There has been an error reading data for calendar: %1$S.  However, this error is believed to be minor, so the program will attempt to continue.
+
+# LOCALIZATION NOTE (stillReadOnlyError):
+# used for an message like 'There has been an error reading data for calendar: Home.'
+#    %1$S will be replaced with the name of a calendar
+stillReadOnlyError=There has been an error reading data for calendar: %1$S.
+utf8DecodeError=An error occurred while decoding an iCalendar (ics) file as UTF-8. Check that the file, including symbols and accented letters, is encoded using the UTF-8 character encoding.
+icsMalformedError=Parsing an iCalendar (ics) file failed. Check that the file conforms to iCalendar (ics) file syntax.
+itemModifiedOnServerTitle=Item changed on server
+itemModifiedOnServer=This item has recently been changed on the server.\n
+modifyWillLoseData=Submitting your changes will overwrite the changes made on the server.
+deleteWillLoseData=Deleting this item will cause loss of the changes made on the server.
+updateFromServer=Discard my changes and reload
+proceedModify=Submit my changes anyway
+proceedDelete=Delete anyway
+dav_notDav=The resource at %1$S is either not a DAV collection or not available
+dav_davNotCaldav=The resource at %1$S is a DAV collection but not a CalDAV calendar
+itemPutError=There was an error storing the item on the server.
+itemDeleteError=There was an error deleting the item from the server.
+caldavRequestError=An error occurred when sending the invitation.
+caldavResponseError=An error occurred when sending the response.
+caldavRequestStatusCode=Status Code: %1$S
+caldavRequestStatusCodeStringGeneric=The request cannot be processed.
+caldavRequestStatusCodeString400=The request contains bad syntax and cannot be processed.
+caldavRequestStatusCodeString403=The user lacks the required permission to perform the request.
+caldavRequestStatusCodeString404=Resource not found.
+caldavRequestStatusCodeString409=Resource conflict.
+caldavRequestStatusCodeString412=Precondition failed.
+caldavRequestStatusCodeString500=Internal server error.
+caldavRequestStatusCodeString502=Bad gateway (Proxy configuration?).
+caldavRequestStatusCodeString503=Internal server error (Temporary server outage?).
+
+# LOCALIZATION NOTE (likelyTimezone):
+#   Translators, please put the most likely timezone(s) where the people using
+#   your locale will be.  Use the Olson ZoneInfo timezone name *in English*,
+#   ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+#   Order does not matter, except if two historically different zones now match,
+#   such as America/New_York and America/Toronto, will only find first listed.
+#   (Particularly needed to guess the most relevant timezones if there are
+#    similar timezones at the same June/December GMT offsets with alphabetically
+#    earlier ZoneInfo timezone names.  Sample explanations for English below.)
+# for english-US:
+#   America/Los_Angeles likelier than America/Dawson
+#   America/New_York    likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+#   Europe/London   likelier than Atlantic/Canary
+#   Europe/Paris    likelier than Africa/Ceuta (for WestEuropeanTime)
+#   America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+#   America/Mexico_City likelier than America/Cancun
+#   America/Argentina/Buenos_Aires likelier than America/Araguaina
+#   America/Sao_Paolo (may not recognize: summer-time dates change every year)
+#   Asia/Singapore  likelier than Antarctica/Casey
+#   Asia/Tokyo      likelier than Asia/Dili
+#   Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+#   Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+#   Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+#   Australia/Brisbane likelier than Antarctica/DumontDUrville
+#   Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+#   Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=America/New_York, America/Chicago, America/Denver, America/Phoenix, America/Los_Angeles, America/Anchorage, America/Adak, Pacific/Honolulu, America/Puerto_Rico, America/Halifax, America/Mexico_City, America/Argentina/Buenos_Aires, America/Sao_Paulo, Europe/London, Europe/Paris, Asia/Singapore, Asia/Tokyo, Africa/Lagos, Africa/Johannesburg, Africa/Nairobi, Australia/Brisbane, Australia/Sydney, Pacific/Auckland
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+#   - set OS timezone to a city (windows: click right on clock in taskbar)
+#   - restart: sunbird -jsconsole
+#   - observe guess in error console and verify whether guessed timezone city
+#     makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+#  no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+#   (windows; or TZ env var, /etc/localtime target path, or line in
+#    /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+#   can also trigger this warning.
+WarningOSTZNoMatch=Warning: Operating system timezone "%1$S"\nno longer matches the internal ZoneInfo timezone "%2$S".
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable.  May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=Skipping Operating System timezone '%1$S'.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Skipping locale timezone '%1$S'.
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=Warning: Using "floating" timezone.\nNo ZoneInfo timezone data matched the operating system timezone data.
+
+# "Warning:  Using guessed timezone
+#    America/New York (UTC-0500/-0400).
+#    [rfc2445 summer daylight saving shift rules for timezone]
+#  This ZoneInfo timezone almost matches/seems to match..."
+#  This ZoneInfo timezone was chosen based on ... "
+WarningUsingGuessedTZ=Warning:  Using guessed timezone\n  %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=This ZoneInfo timezone almost matches the operating system timezone.\nFor this rule, the next transitions between daylight and standard time\ndiffer at most a week from the operating system timezone transitions.\nThere may be discrepancies in the data, such as differing start date,\nor differing rule, or approximation for non-Gregorian-calendar rule.
+
+TZSeemsToMatchOS=This ZoneInfo timezone seems to match the operating system timezone this year.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+#    %1$S will be replaced with the name of a timezone
+TZFromOS=This ZoneInfo timezone was chosen based on the operating system timezone\nidentifier "%1$S".
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=This ZoneInfo timezone was chosen based on matching the operating system\ntimezone with probable timezones for internet users using UK English.
+
+TZFromKnownTimezones=This ZoneInfo timezone was chosen based on matching the operating system\ntimezone with known timezones in alphabetical order of timezone id.
+
+# Print Layout
+formatListName = List
+weekPrinterName = Weekly Planner
+monthPrinterName = Monthly Grid
+tasksWithNoDueDate = Tasks with no due date
+
+# Providers
+caldavName=CalDAV
+compositeName=Composite
+icsName=iCalendar (ICS)
+memoryName=Temporary (memory)
+storageName=Local (SQLite)
+
+# Used in created html code for list layout print and html export
+htmlPrefixTitle=Title
+htmlPrefixWhen=When
+htmlPrefixLocation=Location
+htmlPrefixDescription=Description
+htmlTaskCompleted=%1$S (completed)
+
+# Categories
+addCategory=Add Category
+
+today=Today
+tomorrow=Tomorrow
+yesterday=Yesterday
+
+#Today pane
+eventsonly=Events
+eventsandtasks=Events and Tasks
+tasksonly=Tasks
+shortcalendarweek=CW
+
+go=Go
+
+# Some languages have different conjugations of 'next' and 'last'.  If yours
+# does not, simply repeat the value.  This will be used with day names, as in
+# 'next Sunday'.
+next1=next
+next2=next
+last1=last
+last2=last
+
+# Master Password
+changeMasterPassword=Change Master Password…
+pw_change2empty_in_fips_mode=You are currently in FIPS mode. FIPS requires a non-empty Master Password.
+pw_change_failed_title=Password Change Failed
+
+# Check for Updates     (SUNBIRD_ONLY)
+updatesItem_default=Check for Updates…
+updatesItem_defaultFallback=Check for Updates…
+updatesItem_downloading=Downloading %S…
+updatesItem_downloadingFallback=Downloading Update…
+updatesItem_resume=Resume Downloading %S…
+updatesItem_resumeFallback=Resume Downloading Update…
+updatesItem_pending=Apply Downloaded Update Now…
+updatesItem_pendingFallback=Apply Downloaded Update Now…
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 Reminder;#1 Reminders
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts:  Thu 2 Oct 2008 13:21'
+#    %1$S will be replaced with a date-time
+alarmStarts=Starts: %1$S
+
+# LOCALIZATION NOTE (alarmTodayAt):
+# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21'
+#    %1$S will be replaced with a date-time
+alarmTodayAt=Today at %1$S
+
+# LOCALIZATION NOTE (alarmTomorrowAt):
+# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21'
+#    %1$S will be replaced with a date-time
+alarmTomorrowAt=Tomorrow at %1$S
+
+# LOCALIZATION NOTE (alarmYesterdayAt):
+# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21'
+#    %1$S will be replaced with a date-time
+alarmYesterdayAt=Yesterday at %1$S
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+alarmDefaultDescription=Default Mozilla Description
+alarmDefaultSummary=Default Mozilla Summary
+
+# offline support strings (SUNBIRD ONLY)
+offlineTooltip=You are currently offline.
+onlineTooltip=You are currently online.
+
+taskDetailsStatusNeedsAction=Needs Action
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+#    %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=%1$S%% Complete
+taskDetailsStatusCompleted=Completed
+
+# LOCALIZATION NOTE (taskDetailsStatusCompletedOn):
+# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21'
+#    %1$S will be replaced with the completion date-time of the task
+taskDetailsStatusCompletedOn=Completed on %1$S
+taskDetailsStatusCancelled=Cancelled
+
+gettingCalendarInfoCommon=Checking Calendars…
+
+# LOCALIZATION NOTE (gettingCalendarInfoDetail):
+# used for a progress-display of processed like 'Checking Calendar 5 of 10'
+#    %1$S will be replaced with the index of the currently processed calendar
+#    %2$S will be replaced with the total numbers of calendars
+gettingCalendarInfoDetail=Checking Calendar %1$S of %2$S
+
+# LOCALIZATION NOTE (errorCode):
+#    %1$S will be replaced with the number of an error code
+errorCode=Error code: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+#    %1$S will be replaced with the description of an error
+errorDescription=Description: %1$S
+
+# LOCALIZATION NOTE (errorWriting):
+# used for an message like 'An error occurred when writing to the calendar Home!'
+#    %1$S will be replaced with the name of a calendar
+errorWriting=An error occurred when writing to the calendar %1$S!
+
+# LOCALIZATION NOTE (tooltipCalendarDisabled):
+# used for an alert-message like 'The calendar Home is momentarily not available'
+#    %1$S will be replaced with the name of a calendar
+tooltipCalendarDisabled=The calendar %1$S is momentarily not available
+
+# LOCALIZATION NOTE (tooltipCalendarReadOnly):
+# used for an message like 'The calendar Home is readonly'
+#    %1$S will be replaced with the name of a calendar
+tooltipCalendarReadOnly=The calendar %1$S is readonly
+
+taskEditInstructions=Click Here to Add a New Task
+taskEditInstructionsReadonly=Please Select a Writable Calendar
+taskEditInstructionsCapability=Please Select a Calendar that Supports Tasks
+
+eventDetailsStartDate=Start:
+eventDetailsEndDate=End:
+
+# LOCALIZATION NOTE (datetimeWithTimezone):
+# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris
+#    %1$S will be replaced with the completion date-time
+#    %2$S will be replaced with the name of the timezone
+datetimeWithTimezone=%1$S, %2$S
+
+# LOCALIZATION NOTE (singleLongCalendarWeek):
+# used for display of calendar weeks in short form like 'Calendar Week 43'
+#    %1$S will be replaced with the index of the week
+singleLongCalendarWeek=Calendar Week: %1$S
+
+# LOCALIZATION NOTE (severalLongCalendarWeeks):
+# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45'
+#    %1$S will be replaced with the index of the start-week
+#    %2$S will be replaced with the index of the end-week
+severalLongCalendarWeeks=Calendar Weeks %1$S-%2$S
+
+# LOCALIZATION NOTE (singleShortCalendarWeek):
+# used for display of calendar weeks in short form like 'CW 43'
+#    %1$S will be replaced with the index of the week
+singleShortCalendarWeek=CW: %1$S
+
+# LOCALIZATION NOTE (severalShortCalendarWeeks):
+# used for display of calendar weeks in short form like 'CWs 43 - 45'
+#    %1$S will be replaced with the index of the start-week
+#    %2$S will be replaced with the index of the end-week
+severalShortCalendarWeeks=CWs: %1$S-%2$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=#1 day;#1 days
+dueInHours=#1 hour;#1 hours
+dueInLessThanOneHour=< 1 hour
+
+# LOCALIZATION NOTE (monthInYear):
+# used for display of Month-dates like 'December 2008'
+#    %1$S will be replaced with name of the month
+#    %2$S will be replaced with the year
+monthInYear=%1$S %2$S
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
+# LOCALIZATION NOTE (dayIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+#    %1$S will be replaced with name of the month of the start date
+#    %2$S will be replaced with the day-index of the start date
+#    %3$S will be replaced with the day-index of the end date
+#    %4$S will be replaced with the common year of both dates
+dayIntervalInMonth=%2$S – %3$S %1$S %4$S
+
+# LOCALIZATION NOTE (dayIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+dayIntervalInMonth.monthFormat=nominative
+
+# LOCALIZATION NOTE (dayIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+#    %1$S will be replaced with name of the month of the start date
+#    %2$S will be replaced with the day-index of the start date
+#    %3$S will be replaced with name of the month of the end date
+#    %4$S will be replaced with the day-index of the end date
+#    %5$S will be replaced with the commmon year of both dates
+dayIntervalBetweenMonths=%2$S %1$S – %4$S %3$S %5$S
+
+# LOCALIZATION NOTE (dayIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+dayIntervalBetweenMonths.monthFormat=nominative
+
+# LOCALIZATION NOTE (dayIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+#    %1$S will be replaced with name of the month of the start date
+#    %2$S will be replaced with the day-index of the start date
+#    %3$S will be replaced with the year of the start date
+#    %4$S will be replaced with name of the month of the end date
+#    %5$S will be replaced with the day-index of the end date
+#    %6$S will be replaced with the year of the end date
+dayIntervalBetweenYears=%2$S %1$S %3$S – %5$S %4$S %6$S
+
+# LOCALIZATION NOTE (dayIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+dayIntervalBetweenYears.monthFormat=nominative
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+#    %1$S will be replaced with the date of the start date
+#    %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+#    %1$S will be replaced with the date of the start date
+#    %2$S will be replaced with the time of the start date
+#    %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S – %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+#    %1$S will be replaced with the date of the start date
+#    %2$S will be replaced with the time of the start date
+#    %3$S will be replaced with the date of the end date
+#    %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S – %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= no start or due date
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate):
+# used for intervals in task with only start date
+# displayed form is 'start date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+#    %1$S will be replaced with the date of the start date
+#    %2$S will be replaced with the time of the start date
+datetimeIntervalTaskWithoutDueDate=start date %1$S %2$S
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+#    %1$S will be replaced with the date of the due date
+#    %2$S will be replaced with the time of the due date
+datetimeIntervalTaskWithoutStartDate=due date %1$S %2$S
+
+deleteTaskLabel=Delete Task
+deleteTaskMessage=Do you really want to delete this Task?
+deleteTaskAccesskey=l
+deleteItemLabel=Delete
+deleteItemMessage=Do you really want to delete this Item?
+deleteItemAccesskey=l
+deleteEventLabel=Delete Event
+deleteEventMessage=Do you really want to delete this Event?
+deleteEventAccesskey=l
+
+calendarPropertiesEveryMinute=Every minute;Every #1 minutes
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,22 @@
+<!-- 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 wizard.title             "Create New Calendar" >
+<!ENTITY wizard.label             "Create a new calendar" >
+<!ENTITY wizard.description       "Locate your calendar" >
+
+<!ENTITY initialpage.description    "Your calendar can be stored on your computer or be stored on a server in order to access it remotely or share it with your friends or co-workers." >
+<!ENTITY initialpage.computer.label  "On My Computer">
+<!ENTITY initialpage.network.label  "On the Network">
+
+<!ENTITY locationpage.description         "Provide info about what is needed to access your remote calendar" >
+<!ENTITY locationpage.login.description   "Optional: enter a user name and password" >
+<!ENTITY locationpage.username.label      "User name:" >
+<!ENTITY locationpage.password.label      "Password:" >
+
+<!ENTITY custompage.shortdescription  "Customise your calendar" >
+<!ENTITY custompage.longdescription   "You can give your calendar a nickname and colourise the events from this calendar." >
+
+<!ENTITY finishpage.shortdescription  "Calendar Created" >
+<!ENTITY finishpage.longdescription   "Your calendar has been created." >
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.properties
@@ -0,0 +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/.
+
+error.invalidUri=Please enter a valid location.
+error.alreadyExists=You are already subscribed to the calendar at this location.
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/categories.properties
@@ -0,0 +1,7 @@
+# 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/.
+
+# default categories
+
+categories2=Anniversary,Birthday,Business,Calls,Clients,Competition,Customer,Favourites,Follow up,Gifts,Holidays,Ideas,Issues,Meeting,Miscellaneous,Personal,Projects,Public Holiday,Status,Suppliers,Travel,Vacation
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,126 @@
+# 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/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the 
+# *.monthFormat to a different value. Supported values are currently:
+#    nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=January
+month.2.name=February
+month.3.name=March
+month.4.name=April
+month.5.name=May
+month.6.name=June
+month.7.name=July
+month.8.name=August
+month.9.name=September
+month.10.name=October
+month.11.name=November
+month.12.name=December
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=January
+month.2.genitive=February
+month.3.genitive=March
+month.4.genitive=April
+month.5.genitive=May
+month.6.genitive=June
+month.7.genitive=July
+month.8.genitive=August
+month.9.genitive=September
+month.10.genitive=October
+month.11.genitive=November
+month.12.genitive=December
+
+month.1.Mmm=Jan
+month.2.Mmm=Feb
+month.3.Mmm=Mar
+month.4.Mmm=Apr
+month.5.Mmm=May
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Aug
+month.9.Mmm=Sep
+month.10.Mmm=Oct
+month.11.Mmm=Nov
+month.12.Mmm=Dec
+
+day.1.name=Sunday
+day.2.name=Monday
+day.3.name=Tuesday
+day.4.name=Wednesday
+day.5.name=Thursday
+day.6.name=Friday
+day.7.name=Saturday
+
+day.1.Mmm=Sun
+day.2.Mmm=Mon
+day.3.Mmm=Tue
+day.4.Mmm=Wed
+day.5.Mmm=Thu
+day.6.Mmm=Fri
+day.7.Mmm=Sat
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=Su
+day.2.short=Mo
+day.3.short=Tu
+day.4.short=We
+day.5.short=Th
+day.6.short=Fr
+day.7.short=Sa
+
+# Localizable day's date
+day.1.number=1
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+noon=Noon
+midnight=Midnight
+
+AllDay=All Day
+Repeating=(Repeating)
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,22 @@
+<!-- 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 reminderdialog.title                              "Set up Reminders">
+<!ENTITY reminder.add.label                                "Add">
+<!ENTITY reminder.add.accesskey                            "A">
+<!ENTITY reminder.remove.label                             "Remove">
+<!ENTITY reminder.remove.accesskey                         "R">
+
+<!ENTITY reminder.reminderDetails.label                    "Reminder Details">
+<!ENTITY reminder.action.label                             "Choose a Reminder Action">
+
+<!ENTITY reminder.relation.before.label                    "before" >
+<!ENTITY reminder.relation.after.label                     "after" >
+
+<!ENTITY reminder.action.alert.label                       "Show an Alert">
+<!ENTITY reminder.action.email.label                       "Send an Email">
+
+<!ENTITY alarm.units.minutes                               "minutes" >
+<!ENTITY alarm.units.hours                                 "hours" >
+<!ENTITY alarm.units.days                                  "days" >
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,60 @@
+<!-- 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 time.midnight "Midnight" >
+<!ENTITY time.noon "Noon" >
+
+<!-- Day Names -->
+<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently
+     only used in Preferences > Views > Workweek groupbox -->
+<!ENTITY day.1.Ddd "Sun" >
+<!ENTITY day.1.Ddd.accesskey "S">
+<!ENTITY day.2.Ddd "Mon" >
+<!ENTITY day.2.Ddd.accesskey "M">
+<!ENTITY day.3.Ddd "Tue" >
+<!ENTITY day.3.Ddd.accesskey "T">
+<!ENTITY day.4.Ddd "Wed" >
+<!ENTITY day.4.Ddd.accesskey "W">
+<!ENTITY day.5.Ddd "Thu" >
+<!ENTITY day.5.Ddd.accesskey "h">
+<!ENTITY day.6.Ddd "Fri" >
+<!ENTITY day.6.Ddd.accesskey "F">
+<!ENTITY day.7.Ddd "Sat" >
+<!ENTITY day.7.Ddd.accesskey "a">
+
+<!ENTITY day.1.name "Sunday" >
+<!ENTITY day.2.name "Monday" >
+<!ENTITY day.3.name "Tuesday" >
+<!ENTITY day.4.name "Wednesday" >
+<!ENTITY day.5.name "Thursday" >
+<!ENTITY day.6.name "Friday" >
+<!ENTITY day.7.name "Saturday" >
+
+<!-- Units -->
+<!ENTITY calendar.global.units.minute   "minute">
+<!ENTITY calendar.global.units.minutes  "minutes">
+<!ENTITY calendar.global.units.hour     "hour">
+<!ENTITY calendar.global.units.hours    "hours">
+<!ENTITY calendar.global.units.day      "day">
+<!ENTITY calendar.global.units.days     "days">
+
+<!ENTITY month.1.name "January" >
+<!ENTITY month.2.name "February" >
+<!ENTITY month.3.name "March" >
+<!ENTITY month.4.name "April" >
+<!ENTITY month.5.name "May" >
+<!ENTITY month.6.name "June" >
+<!ENTITY month.7.name "July" >
+<!ENTITY month.8.name "August" >
+<!ENTITY month.9.name "September" >
+<!ENTITY month.10.name "October" >
+<!ENTITY month.11.name "November" >
+<!ENTITY month.12.name "December" >
+
+<!ENTITY onemonthbackward.tooltip "One Month Backwards" >
+<!ENTITY onemonthforward.tooltip "One Month Forwards" >
+<!ENTITY showToday.tooltip "Go to Today">
+<!ENTITY onedayforward.tooltip "One Day Forwards">
+<!ENTITY onedaybackward.tooltip "One Day Backwards">
+<!ENTITY showselectedday.tooltip "Show events for selected day">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/menuOverlay.dtd
@@ -0,0 +1,60 @@
+<!-- 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/. -->
+
+<!-- Event Menu -->
+<!ENTITY event.new.event                        "New Event…">
+<!ENTITY event.new.event.key                    "N">
+<!ENTITY event.new.event.accesskey              "N">
+
+<!ENTITY event.new.task                         "New Task…">
+<!ENTITY event.new.task.key                     "K">
+<!ENTITY event.new.task.accesskey               "k">
+
+<!ENTITY calendar.new.server.label              "New Calendar…">
+<!ENTITY calendar.new.server.key                "L">
+<!ENTITY calendar.new.server.accesskey          "l">
+
+<!ENTITY calendar.print.label                   "Print…">
+<!ENTITY calendar.print.key                     "P">
+<!ENTITY calendar.print.accesskey               "P">
+
+<!ENTITY calendar.import.label                  "Import…">
+<!ENTITY calendar.import.key                    "I">
+<!ENTITY calendar.import.accesskey              "I">
+
+<!ENTITY calendar.export.label                  "Export…">
+<!ENTITY calendar.export.accesskey              "E">
+<!ENTITY calendar.export.selection.label        "Export Selection…">
+<!ENTITY calendar.export.selection.accesskey    "S">
+
+<!ENTITY calendar.publish.label                 "Publish…">
+<!ENTITY calendar.publish.accesskey             "b">
+
+<!ENTITY calendar.deletecalendar.label          "Delete Selected Calendar…">
+<!ENTITY calendar.deletecalendar.accesskey      "D">
+
+<!ENTITY calendar.menu.customize.label          "Customise…">
+<!ENTITY calendar.menu.customize.accesskey      "C">
+
+<!ENTITY showUnifinderCmd.label                 "Find Events">
+<!ENTITY showUnifinderCmd.accesskey             "F">
+
+<!ENTITY calendar.displaytodos.checkbox.label       "Show Tasks in Calendar">
+<!ENTITY calendar.displaytodos.checkbox.accesskey   "T">
+
+<!ENTITY calendar.menu.numberofweeks.label      "Multiweek View Size">
+<!ENTITY calendar.menu.numberofweeks.2          "Two Weeks">
+<!ENTITY calendar.menu.numberofweeks.3          "Three Weeks">
+<!ENTITY calendar.menu.numberofweeks.4          "Four Weeks">
+<!ENTITY calendar.menu.numberofweeks.5          "Five Weeks">
+<!ENTITY calendar.menu.numberofweeks.6          "Six Weeks">
+
+<!ENTITY goTodayCmd.label                       "Today">
+<!ENTITY goTodayCmd.accesskey                   "T">
+
+<!ENTITY showCurrentView.label                  "Current View">
+<!ENTITY showCurrentView.accesskey              "V">
+
+<!ENTITY calendar.properties.label              "Calendar Properties…">
+<!ENTITY calendar.properties.accesskey          "C">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/migration.dtd
@@ -0,0 +1,9 @@
+<!-- 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 migration.title "&brandFullName;: Data Import">
+<!ENTITY migration.welcome "Welcome">
+<!ENTITY migration.importing "Importing">
+<!ENTITY migration.list.description "&brandShortName; can import calendar data from many popular applications. Data from the following applications were found on your computer. Please select which of these you would like to import data from.">
+<!ENTITY migration.progress.description "Importing selected data">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/migration.properties
@@ -0,0 +1,13 @@
+# 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/.
+
+migratingApp = Migrating %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: Data Import
+migrationDescription=%1$S can import calendar data from many popular applications. Data from the following applications were found on your computer. Please select which of these you would like to import data from.
+finished = Complete
+disableExtTitle = Incompatible Extension Found
+disableExtText = You have the old Mozilla Calendar Extension installed which is not compatible with Lightning.  It will be disabled and %1$S will restart.
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/advanced.dtd
@@ -0,0 +1,68 @@
+<!-- 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/. -->
+
+<!-- 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.calendar.advanced.generalTab.label "General">
+<!ENTITY pref.calendar.advanced.passwordsTab.label "Passwords">
+<!ENTITY pref.calendar.advanced.updateTab.label "Update">
+<!ENTITY pref.calendar.advanced.encryptionTab.label "Encryption">
+
+<!-- General -->
+<!ENTITY pref.calendar.advanced.showConnections.label     "Connection Settings…">
+<!ENTITY pref.calendar.advanced.showConnections.accesskey "o">
+<!ENTITY pref.calendar.advanced.proxiesInfo.label         "Determine how &brandShortName; connects to the Internet">
+<!ENTITY pref.calendar.advanced.configEdit.caption "Advanced Configuration">
+<!ENTITY pref.calendar.advanced.configEdit.button "Config Editor…">
+<!ENTITY pref.calendar.advanced.configEdit.accesskey "g">
+
+<!-- Passwords -->
+<!ENTITY pref.calendar.advanced.savedPasswords.intro "&brandShortName; can remember password information for all of your calendars so you don't need to re-enter your login details.">
+<!ENTITY pref.calendar.advanced.useMasterPassword.label "Use a Master Password to encrypt stored passwords">
+<!ENTITY pref.calendar.advanced.useMasterPassword.accesskey "P">
+<!ENTITY pref.calendar.advanced.masterPassword.intro "When set, the Master Password protects all your passwords, but you must enter it once per session.">
+<!ENTITY pref.calendar.advanced.changeMasterPassword.label "Change Master Password…">
+<!ENTITY pref.calendar.advanced.changeMasterPassword.accesskey "M">
+<!ENTITY pref.calendar.advanced.viewPasswords.label "View Saved Passwords…">
+<!ENTITY pref.calendar.advanced.viewPasswords.accesskey "V">
+
+<!-- Update -->
+<!ENTITY pref.calendar.advanced.update.autoCheck.label "Automatically check for updates to:">
+<!ENTITY pref.calendar.advanced.update.enableAppUpdate.label "&brandShortName;">
+<!ENTITY pref.calendar.advanced.update.enableAppUpdate.accesskey "r">
+<!ENTITY pref.calendar.advanced.update.enableAddonsUpdate.label "Installed Add-ons">
+<!ENTITY pref.calendar.advanced.update.enableAddonsUpdate.accesskey "n">
+<!ENTITY pref.calendar.advanced.update.whenUpdatesFound.label "When updates to &brandShortName; are found:">
+<!ENTITY pref.calendar.advanced.update.modeAskMe.label "Ask me what I want to do">
+<!ENTITY pref.calendar.advanced.update.modeAskMe.accesskey "k">
+<!ENTITY pref.calendar.advanced.update.modeAuto.label "Automatically download and install the update">
+<!ENTITY pref.calendar.advanced.update.modeAuto.accesskey "d">
+<!ENTITY pref.calendar.advanced.update.modeAutoWarn.label "Warn me if this will disable any of my add-ons">
+<!ENTITY pref.calendar.advanced.update.modeAutoWarn.accesskey "W">
+<!ENTITY pref.calendar.advanced.update.showHistory.label "Show Update History…">
+<!ENTITY pref.calendar.advanced.update.showHistory.accesskey "U">
+
+<!-- Encryption -->
+<!ENTITY pref.calendar.advanced.encryption.protocols.label "Protocols">
+<!ENTITY pref.calendar.advanced.encryption.useSSL3.label "Use SSL 3.0">
+<!ENTITY pref.calendar.advanced.encryption.useSSL3.accesskey "3">
+<!ENTITY pref.calendar.advanced.encryption.useTLS1.label "Use TLS 1.0">
+<!ENTITY pref.calendar.advanced.encryption.useTLS1.accesskey "1">
+<!ENTITY pref.calendar.advanced.encryption.certificates.label "Certificates">
+<!ENTITY pref.calendar.advanced.encryption.certSelection.description "When a server requests my personal certificate:">
+<!ENTITY pref.calendar.advanced.encryption.certs.auto "Select one automatically">
+<!ENTITY pref.calendar.advanced.encryption.certs.auto.accesskey "a">
+<!ENTITY pref.calendar.advanced.encryption.certs.ask "Ask me every time">
+<!ENTITY pref.calendar.advanced.encryption.certs.ask.accesskey "t">
+<!ENTITY pref.calendar.advanced.encryption.viewCerts.label "View Certificates">
+<!ENTITY pref.calendar.advanced.encryption.viewCerts.accesskey "C">
+<!ENTITY pref.calendar.advanced.encryption.viewCRLs.label "Revocation Lists">
+<!ENTITY pref.calendar.advanced.encryption.viewCRLs.accesskey "R">
+<!ENTITY pref.calendar.advanced.encryption.verify2.label "Validation">
+<!ENTITY pref.calendar.advanced.encryption.verify2.accesskey "V">
+<!ENTITY pref.calendar.advanced.encryption.viewSecurityDevices.label "Security Devices">
+<!ENTITY pref.calendar.advanced.encryption.viewSecurityDevices.accesskey "D">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/alarms.dtd
@@ -0,0 +1,35 @@
+<!-- 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/. -->
+
+<!-- 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.alarmgoesoff.label "When an alarm goes off:">
+<!ENTITY pref.playasound "Play a sound">
+<!ENTITY pref.calendar.alarms.playsound.accessKey "s">
+<!ENTITY pref.calendar.alarms.sound.useDefault.label "Use default sound">
+<!ENTITY pref.calendar.alarms.sound.useDefault.accessKey "d">
+<!ENTITY pref.calendar.alarms.sound.browse.label "Browse…">
+<!ENTITY pref.calendar.alarms.sound.browse.accessKey "B">
+<!ENTITY pref.calendar.alarms.sound.preview.label "Preview">
+<!ENTITY pref.calendar.alarms.sound.preview.accessKey "P">
+<!ENTITY pref.showalarmbox "Show an alarm box">
+<!ENTITY pref.calendar.alarms.showAlarmBox.accessKey "x">
+<!ENTITY pref.missedalarms "Show missed alarms">
+<!ENTITY pref.calendar.alarms.missedAlarms.accessKey "m">
+<!ENTITY pref.calendar.alarms.defaults.label "Alarm Defaults">
+<!ENTITY pref.defalarm4events.label "Default alarm setting for events:">
+<!ENTITY pref.defalarm4events.accesskey "e">
+<!ENTITY pref.defalarm4todos.label "Default alarm setting for tasks:">
+<!ENTITY pref.defalarm4todos.accesskey "a">
+<!ENTITY pref.alarm.on "On">
+<!ENTITY pref.alarm.off "Off">
+<!ENTITY pref.defalarmlen4events.label "Default time an alarm goes off before an event:">
+<!ENTITY pref.defalarmlen4events.accesskey "u">
+<!ENTITY pref.defalarmlen4todos.label "Default time an alarm goes off before a task:">
+<!ENTITY pref.defalarmlen4todos.accesskey "o">
+<!ENTITY pref.defaultemail.label "Default address to send alarms to:">
+<!ENTITY pref.defaulttext.label "Default text for alarms:">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/categories.dtd
@@ -0,0 +1,24 @@
+<!-- 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/. -->
+
+<!-- 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.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">
+<!ENTITY pref.categories.none.label "(none)">
+<!ENTITY pref.categories.overwrite "A category already exists with that name. \n Do you want to overwrite it?">
+<!ENTITY pref.categories.overwrite.title "Warning: Duplicate name">
+<!ENTITY pref.categories.noBlankCategories "You must enter a category name.">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/connection.dtd
@@ -0,0 +1,46 @@
+<!-- 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/. -->
+
+<!-- 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  connectionsDialog.title       "Connection Settings">
+<!ENTITY  window.width                  "37em">
+<!ENTITY  window.macWidth               "39em">
+
+<!ENTITY  proxyTitle.label              "Configure Proxies to Access the Internet">
+<!ENTITY  directTypeRadio.label         "Direct connection to the Internet">
+<!ENTITY  directTypeRadio.accesskey     "d">
+<!ENTITY  WPADTypeRadio.label           "Auto-detect proxy settings for this network">
+<!ENTITY  WPADTypeRadio.accesskey       "w">
+<!ENTITY  manualTypeRadio.label         "Manual proxy configuration:">
+<!ENTITY  manualTypeRadio.accesskey     "m">
+<!ENTITY  autoTypeRadio.label           "Automatic proxy configuration URL:">
+<!ENTITY  autoTypeRadio.accesskey       "A">
+<!ENTITY  reload.label                  "Reload">
+<!ENTITY  reload.accesskey              "e">
+<!ENTITY  ftp.label                     "FTP Proxy:">
+<!ENTITY  ftp.accesskey                 "F">
+<!ENTITY  http.label                    "HTTP Proxy:">
+<!ENTITY  http.accesskey                "y">
+<!ENTITY  ssl.label                     "SSL Proxy:">
+<!ENTITY  ssl.accesskey                 "S">
+<!ENTITY  socks.label                   "SOCKS Host:">
+<!ENTITY  socks.accesskey               "C">
+<!ENTITY  socks4.label                  "SOCKS v4">
+<!ENTITY  socks4.accesskey              "K">
+<!ENTITY  socks5.label                  "SOCKS v5">
+<!ENTITY  socks5.accesskey              "v">
+<!ENTITY  port.label                    "Port:">
+<!ENTITY  HTTPport.accesskey            "P">
+<!ENTITY  SSLport.accesskey             "o">
+<!ENTITY  FTPport.accesskey             "r">
+<!ENTITY  SOCKSport.accesskey           "t">
+<!ENTITY  noproxy.label                 "No Proxy for:">
+<!ENTITY  noproxy.accesskey             "n">
+<!ENTITY  noproxyExplain.label          "Example: .mozilla.org, .net.nz, 192.168.1.0/24">
+<!ENTITY  shareproxy.label              "Use this proxy server for all protocols">
+<!ENTITY  shareproxy.accesskey          "x">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -0,0 +1,22 @@
+<!-- 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/. -->
+
+<!-- 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.mainbox.label "General Settings" >
+<!ENTITY pref.dateformat.label "Date Text Format:" >
+<!ENTITY pref.dateformat.accesskey "D">
+<!ENTITY pref.dateformat.long "Long" >
+<!ENTITY pref.dateformat.short "Short"  >
+<!ENTITY pref.defaultlength.label "Default Event Length:" >
+<!ENTITY pref.defaultlength.accesskey "E">
+<!ENTITY pref.defaultsnoozelength.label "Default Snooze Length:" >
+<!ENTITY pref.defaultsnoozelength.accesskey "S">
+
+<!ENTITY pref.accessibility.label "Accessibility" >
+<!ENTITY pref.systemcolors.label "Optimise colours for accessibility" >
+<!ENTITY pref.systemcolors.accesskey "c">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/preferences.dtd
@@ -0,0 +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  prefWindow.titleWin     "Options">
+<!ENTITY  prefWindow.titleGNOME   "&brandShortName; Preferences">
+<!ENTITY  prefWindow.styleWin     "width: 47em; height: 37em;">
+<!ENTITY  prefWindow.styleMac     "width: 47em;">
+<!ENTITY  prefWindow.styleGNOME   "width: 47em; height: 34.5em;">
+
+<!ENTITY  paneGeneral.title       "General">
+<!ENTITY  paneAlarms.title        "Alarms">
+<!ENTITY  paneCategories.title    "Categories">
+<!ENTITY  paneViews.title         "Views">
+<!ENTITY  paneTimezones.title     "Timezone">
+<!ENTITY  paneAdvanced.title      "Advanced">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/timezones.dtd
@@ -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/. -->
+
+<!ENTITY pref.calendar.timezones.list.caption "Select the closest city in your timezone:">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/views.dtd
@@ -0,0 +1,37 @@
+<!-- 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/. -->
+
+<!-- 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.calendar.view.allview.caption "General">
+<!ENTITY pref.calendar.view.dayandweekviews.caption "Day and Week Views">
+<!ENTITY pref.calendar.view.multiweekview.caption "Multiweek View">
+<!ENTITY pref.calendar.view.workweek.caption "Workweek">
+
+<!ENTITY pref.weekstarts.label "Start the week on:">
+<!ENTITY pref.weekstarts.accesskey "r">
+<!ENTITY pref.daysoff.label "Include these days in the workweek:">
+
+<!ENTITY pref.calendar.view.daystart.label "Day starts at:">
+<!ENTITY pref.calendar.view.daystart.accesskey "D">
+<!ENTITY pref.calendar.view.dayend.label "Day ends at:">
+<!ENTITY pref.calendar.view.dayend.accesskey "y">
+<!ENTITY pref.calendar.view.visiblehours.label "Show:">
+<!ENTITY pref.calendar.view.visiblehours.accesskey "o">
+<!ENTITY pref.calendar.view.visiblehoursend.label "hours at a time">
+
+<!ENTITY pref.numberofweeks.label "Number of weeks to show (including previous weeks):">
+<!ENTITY pref.numberofweeks.accesskey "e">
+<!ENTITY pref.numberofpreviousweeks.label "Previous weeks to show:">
+<!ENTITY pref.numberofpreviousweeks.accesskey "P">
+<!ENTITY pref.numberofweeks.0 "none">
+<!ENTITY pref.numberofweeks.1 "1 week">
+<!ENTITY pref.numberofweeks.2 "2 weeks">
+<!ENTITY pref.numberofweeks.3 "3 weeks">
+<!ENTITY pref.numberofweeks.4 "4 weeks">
+<!ENTITY pref.numberofweeks.5 "5 weeks">
+<!ENTITY pref.numberofweeks.6 "6 weeks">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/provider-uninstall.dtd
@@ -0,0 +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 providerUninstall.title                           "Uninstall a Provider">
+<!ENTITY providerUninstall.accept.label                    "Unsubscribe Selected">
+<!ENTITY providerUninstall.accept.accesskey                "U">
+<!ENTITY providerUninstall.cancel.label                    "Keep Add-on">
+<!ENTITY providerUninstall.cancel.accesskey                "K">
+<!ENTITY providerUninstall.preName.label                   "You have requested to uninstall or disable:">
+<!ENTITY providerUninstall.postName.label                  "This will cause the calendars below to be disabled.">
+<!ENTITY providerUninstall.reinstallNote.label             "Unless you are planning to reinstall this provider, you may choose to unsubscribe from this provider's calendars.">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.dtd
@@ -0,0 +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 gdata-provider.label "Google Calendar">
+
+<!ENTITY gdata.privacy.default.label "Google Default">
+<!ENTITY gdata.privacy.default.accesskey "D">
+
+<!ENTITY gdata.migration.title "Migrate read-only calendars">
+<!ENTITY gdata.migration.description "The Provider for Google Calendar has detected that you have existing calendars that are only capable of accessing Google Calendar in read-only mode. If you would like to upgrade any of these calendars, please select them below">
+<!ENTITY gdata.migration.upgrade.label "Upgrade">
+<!ENTITY gdata.migration.upgrade.accesskey "U">
+<!ENTITY gdata.migration.showagain.label "Always check ">
+
+<!ENTITY gdata.reminder.action.sms.label "Send a Text Message">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.properties
@@ -0,0 +1,20 @@
+# 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/.
+
+# If you wish to be mentioned as a translator, please make sure your name and
+# email is in the licence block as a contributor. Multiple names are fine too.
+
+# extension information.
+# When localizing, please keep in mind that these strings had to be approved by
+# the Google Brand Features Team. Be sure to make clear that this extension is
+# *FOR* Google Calendar and not *BY* Google. Also, it was explicitly stated,
+# that the phrase "Google Calendar" should be localized just as it is on the
+# localized versions of the Google Calendar UI.
+
+# Extension Manager strings
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.description=Allows bidirectional access to Google Calendar
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.name=Provider for Google Calendar
+
+# Dialog strings
+loginDialogTitle=Google Calendar Login
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/providers/wcap/wcap.properties
@@ -0,0 +1,23 @@
+# 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/.
+
+# args: host
+accessingServerFailedError.text=Cannot access server %1$S!
+loginFailed.text=Login failed or invalid session Id.
+accessDenied.text=The user is denied access.
+
+# args: host
+noHttpsConfirmation.text=Insecure login on %1$S!\nContinue?
+noHttpsConfirmation.check.text=Don't ask again.
+noHttpsConfirmation.label=Warning!
+
+# args: host, prodId, serverVersion, wcapVersion
+insufficientWcapVersionConfirmation.text=Server %1$S (%2$S, v%3$S, WCAP v%4$S) doesn't support a sufficient WCAP version! The required version is at least 3.0.0.\nContinue?
+insufficientWcapVersionConfirmation.label=Insufficient WCAP version!
+
+loginDialog.label=Calendar Server Password Required
+
+privateItem.title.text=Private
+confidentialItem.title.text=Confidential
+busyItem.title.text=Busy
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,447 @@
+# 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/.
+
+# extension:
+extensions.calendar-timezones@mozilla.org.name=Timezone Definitions for Mozilla Calendar
+extensions.calendar-timezones@mozilla.org.description=Timezone definitions required by Sunbird and Lightning
+extensions.calendar-timezones@mozilla.org.creator=Mozilla Calendar Project
+
+pref.timezone.floating=Local Time
+pref.timezone.UTC=UTC/GMT
+
+# I've derived this list out of timezones.dtd
+# - replaced '_' with ' ' on value side
+# - corrected 'St xyz' to 'St. xyz'
+
+# timezone names:
+pref.timezone.Africa.Abidjan=Africa/Abidjan
+pref.timezone.Africa.Accra=Africa/Accra
+pref.timezone.Africa.Addis_Ababa=Africa/Addis Ababa
+pref.timezone.Africa.Algiers=Africa/Algiers
+pref.timezone.Africa.Asmara=Africa/Asmara
+pref.timezone.Africa.Bamako=Africa/Bamako
+pref.timezone.Africa.Bangui=Africa/Bangui
+pref.timezone.Africa.Banjul=Africa/Banjul
+pref.timezone.Africa.Bissau=Africa/Bissau
+pref.timezone.Africa.Blantyre=Africa/Blantyre
+pref.timezone.Africa.Brazzaville=Africa/Brazzaville
+pref.timezone.Africa.Bujumbura=Africa/Bujumbura
+pref.timezone.Africa.Cairo=Africa/Cairo
+pref.timezone.Africa.Casablanca=Africa/Casablanca
+pref.timezone.Africa.Ceuta=Africa/Ceuta
+pref.timezone.Africa.Conakry=Africa/Conakry
+pref.timezone.Africa.Dakar=Africa/Dakar
+pref.timezone.Africa.Dar_es_Salaam=Africa/Dar es Salaam
+pref.timezone.Africa.Djibouti=Africa/Djibouti
+pref.timezone.Africa.Douala=Africa/Douala
+pref.timezone.Africa.El_Aaiun=Africa/El Aaiun
+pref.timezone.Africa.Freetown=Africa/Freetown
+pref.timezone.Africa.Gaborone=Africa/Gaborone
+pref.timezone.Africa.Harare=Africa/Harare
+pref.timezone.Africa.Johannesburg=Africa/Johannesburg
+pref.timezone.Africa.Kampala=Africa/Kampala
+pref.timezone.Africa.Khartoum=Africa/Khartoum
+pref.timezone.Africa.Kigali=Africa/Kigali
+pref.timezone.Africa.Kinshasa=Africa/Kinshasa
+pref.timezone.Africa.Lagos=Africa/Lagos
+pref.timezone.Africa.Libreville=Africa/Libreville
+pref.timezone.Africa.Lome=Africa/Lome
+pref.timezone.Africa.Luanda=Africa/Luanda
+pref.timezone.Africa.Lubumbashi=Africa/Lubumbashi
+pref.timezone.Africa.Lusaka=Africa/Lusaka
+pref.timezone.Africa.Malabo=Africa/Malabo
+pref.timezone.Africa.Maputo=Africa/Maputo
+pref.timezone.Africa.Maseru=Africa/Maseru
+pref.timezone.Africa.Mbabane=Africa/Mbabane
+pref.timezone.Africa.Mogadishu=Africa/Mogadishu
+pref.timezone.Africa.Monrovia=Africa/Monrovia
+pref.timezone.Africa.Nairobi=Africa/Nairobi
+pref.timezone.Africa.Ndjamena=Africa/Ndjamena
+pref.timezone.Africa.Niamey=Africa/Niamey
+pref.timezone.Africa.Nouakchott=Africa/Nouakchott
+pref.timezone.Africa.Ouagadougou=Africa/Ouagadougou
+pref.timezone.Africa.Porto-Novo=Africa/Porto-Novo
+pref.timezone.Africa.Sao_Tome=Africa/Sao Tome
+pref.timezone.Africa.Tripoli=Africa/Tripoli
+pref.timezone.Africa.Tunis=Africa/Tunis
+pref.timezone.Africa.Windhoek=Africa/Windhoek
+pref.timezone.America.Adak=America/Adak
+pref.timezone.America.Anchorage=America/Anchorage
+pref.timezone.America.Anguilla=America/Anguilla
+pref.timezone.America.Antigua=America/Antigua
+pref.timezone.America.Araguaina=America/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=America/Argentina/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=America/Argentina/Catamarca
+pref.timezone.America.Argentina.Cordoba=America/Argentina/Cordoba
+pref.timezone.America.Argentina.Jujuy=America/Argentina/Jujuy
+pref.timezone.America.Argentina.La_Rioja=America/Argentina/La Rioja
+pref.timezone.America.Argentina.Mendoza=America/Argentina/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=America/Argentina/Rio Gallegos
+pref.timezone.America.Argentina.San_Juan=America/Argentina/San Juan
+pref.timezone.America.Argentina.Tucuman=America/Argentina/Tucuman
+pref.timezone.America.Argentina.Ushuaia=America/Argentina/Ushuaia
+pref.timezone.America.Aruba=America/Aruba
+pref.timezone.America.Asuncion=America/Asuncion
+pref.timezone.America.Atikokan=America/Atikokan
+pref.timezone.America.Bahia=America/Bahia
+pref.timezone.America.Barbados=America/Barbados
+pref.timezone.America.Belem=America/Belem
+pref.timezone.America.Belize=America/Belize
+pref.timezone.America.Blanc-Sablon=America/Blanc-Sablon
+pref.timezone.America.Boa_Vista=America/Boa Vista
+pref.timezone.America.Bogota=America/Bogota
+pref.timezone.America.Boise=America/Boise
+pref.timezone.America.Cambridge_Bay=America/Cambridge Bay
+pref.timezone.America.Campo_Grande=America/Campo Grande
+pref.timezone.America.Cancun=America/Cancun
+pref.timezone.America.Caracas=America/Caracas
+pref.timezone.America.Cayenne=America/Cayenne
+pref.timezone.America.Cayman=America/Cayman
+pref.timezone.America.Chicago=America/Chicago
+pref.timezone.America.Chihuahua=America/Chihuahua
+pref.timezone.America.Costa_Rica=America/Costa Rica
+pref.timezone.America.Cuiaba=America/Cuiaba
+pref.timezone.America.Curacao=America/Curacao
+pref.timezone.America.Danmarkshavn=America/Danmarkshavn
+pref.timezone.America.Dawson=America/Dawson
+pref.timezone.America.Dawson_Creek=America/Dawson Creek
+pref.timezone.America.Denver=America/Denver
+pref.timezone.America.Detroit=America/Detroit
+pref.timezone.America.Dominica=America/Dominica
+pref.timezone.America.Edmonton=America/Edmonton
+pref.timezone.America.Eirunepe=America/Eirunepe
+pref.timezone.America.El_Salvador=America/El Salvador
+pref.timezone.America.Fortaleza=America/Fortaleza
+pref.timezone.America.Glace_Bay=America/Glace Bay
+pref.timezone.America.Godthab=America/Godthab
+pref.timezone.America.Goose_Bay=America/Goose Bay
+pref.timezone.America.Grand_Turk=America/Grand Turk
+pref.timezone.America.Grenada=America/Grenada
+pref.timezone.America.Guadeloupe=America/Guadeloupe
+pref.timezone.America.Guatemala=America/Guatemala
+pref.timezone.America.Guayaquil=America/Guayaquil
+pref.timezone.America.Guyana=America/Guyana
+pref.timezone.America.Halifax=America/Halifax
+pref.timezone.America.Havana=America/Havana
+pref.timezone.America.Hermosillo=America/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=America/Indiana/Indianapolis
+pref.timezone.America.Indiana.Knox=America/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=America/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=America/Indiana/Petersburg
+pref.timezone.America.Indiana.Vevay=America/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=America/Indiana/Vincennes
+pref.timezone.America.Inuvik=America/Inuvik
+pref.timezone.America.Iqaluit=America/Iqaluit
+pref.timezone.America.Jamaica=America/Jamaica
+pref.timezone.America.Juneau=America/Juneau
+pref.timezone.America.Kentucky.Louisville=America/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=America/Kentucky/Monticello
+pref.timezone.America.La_Paz=America/La Paz
+pref.timezone.America.Lima=America/Lima
+pref.timezone.America.Los_Angeles=America/Los Angeles
+pref.timezone.America.Maceio=America/Maceio
+pref.timezone.America.Managua=America/Managua
+pref.timezone.America.Manaus=America/Manaus
+pref.timezone.America.Martinique=America/Martinique
+pref.timezone.America.Mazatlan=America/Mazatlan
+pref.timezone.America.Menominee=America/Menominee
+pref.timezone.America.Merida=America/Merida
+pref.timezone.America.Mexico_City=America/Mexico City
+pref.timezone.America.Miquelon=America/Miquelon
+pref.timezone.America.Moncton=America/Moncton
+pref.timezone.America.Monterrey=America/Monterrey
+pref.timezone.America.Montevideo=America/Montevideo
+pref.timezone.America.Montreal=America/Montreal
+pref.timezone.America.Montserrat=America/Montserrat
+pref.timezone.America.Nassau=America/Nassau
+pref.timezone.America.New_York=America/New York
+pref.timezone.America.Nipigon=America/Nipigon
+pref.timezone.America.Nome=America/Nome
+pref.timezone.America.Noronha=America/Noronha
+pref.timezone.America.North_Dakota.Center=America/North Dakota/Center
+pref.timezone.America.North_Dakota.New_Salem=America/North Dakota/New Salem
+pref.timezone.America.Panama=America/Panama
+pref.timezone.America.Pangnirtung=America/Pangnirtung
+pref.timezone.America.Paramaribo=America/Paramaribo
+pref.timezone.America.Phoenix=America/Phoenix
+pref.timezone.America.Port-au-Prince=America/Port-au-Prince
+pref.timezone.America.Port_of_Spain=America/Port of Spain
+pref.timezone.America.Porto_Velho=America/Porto Velho
+pref.timezone.America.Puerto_Rico=America/Puerto Rico
+pref.timezone.America.Rainy_River=America/Rainy River
+pref.timezone.America.Rankin_Inlet=America/Rankin Inlet
+pref.timezone.America.Recife=America/Recife
+pref.timezone.America.Regina=America/Regina
+pref.timezone.America.Rio_Branco=America/Rio Branco
+pref.timezone.America.Santiago=America/Santiago
+pref.timezone.America.Santo_Domingo=America/Santo Domingo
+pref.timezone.America.Sao_Paulo=America/Sao Paulo
+pref.timezone.America.Scoresbysund=America/Scoresbysund
+pref.timezone.America.Shiprock=America/Shiprock
+pref.timezone.America.St_Johns=America/St. Johns
+pref.timezone.America.St_Kitts=America/St. Kitts
+pref.timezone.America.St_Lucia=America/St. Lucia
+pref.timezone.America.St_Thomas=America/St. Thomas
+pref.timezone.America.St_Vincent=America/St. Vincent
+pref.timezone.America.Swift_Current=America/Swift Current
+pref.timezone.America.Tegucigalpa=America/Tegucigalpa
+pref.timezone.America.Thule=America/Thule
+pref.timezone.America.Thunder_Bay=America/Thunder Bay
+pref.timezone.America.Tijuana=America/Tijuana
+pref.timezone.America.Toronto=America/Toronto
+pref.timezone.America.Tortola=America/Tortola
+pref.timezone.America.Vancouver=America/Vancouver
+pref.timezone.America.Whitehorse=America/Whitehorse
+pref.timezone.America.Winnipeg=America/Winnipeg
+pref.timezone.America.Yakutat=America/Yakutat
+pref.timezone.America.Yellowknife=America/Yellowknife
+pref.timezone.Antarctica.Casey=Antarctica/Casey
+pref.timezone.Antarctica.Davis=Antarctica/Davis
+pref.timezone.Antarctica.DumontDUrville=Antarctica/DumontDUrville
+pref.timezone.Antarctica.Mawson=Antarctica/Mawson
+pref.timezone.Antarctica.McMurdo=Antarctica/McMurdo
+pref.timezone.Antarctica.Palmer=Antarctica/Palmer
+pref.timezone.Antarctica.Rothera=Antarctica/Rothera
+pref.timezone.Antarctica.South_Pole=Antarctica/South Pole
+pref.timezone.Antarctica.Syowa=Antarctica/Syowa
+pref.timezone.Antarctica.Vostok=Antarctica/Vostok
+pref.timezone.Arctic.Longyearbyen=Arctic/Longyearbyen
+pref.timezone.Asia.Aden=Asia/Aden
+pref.timezone.Asia.Almaty=Asia/Almaty
+pref.timezone.Asia.Amman=Asia/Amman
+pref.timezone.Asia.Anadyr=Asia/Anadyr
+pref.timezone.Asia.Aqtau=Asia/Aqtau
+pref.timezone.Asia.Aqtobe=Asia/Aqtobe
+pref.timezone.Asia.Ashgabat=Asia/Ashgabat
+pref.timezone.Asia.Baghdad=Asia/Baghdad
+pref.timezone.Asia.Bahrain=Asia/Bahrain
+pref.timezone.Asia.Baku=Asia/Baku
+pref.timezone.Asia.Bangkok=Asia/Bangkok
+pref.timezone.Asia.Beirut=Asia/Beirut
+pref.timezone.Asia.Bishkek=Asia/Bishkek
+pref.timezone.Asia.Brunei=Asia/Brunei
+pref.timezone.Asia.Choibalsan=Asia/Choibalsan
+pref.timezone.Asia.Chongqing=Asia/Chongqing
+pref.timezone.Asia.Colombo=Asia/Colombo
+pref.timezone.Asia.Damascus=Asia/Damascus
+pref.timezone.Asia.Dhaka=Asia/Dhaka
+pref.timezone.Asia.Dili=Asia/Dili
+pref.timezone.Asia.Dubai=Asia/Dubai
+pref.timezone.Asia.Dushanbe=Asia/Dushanbe
+pref.timezone.Asia.Gaza=Asia/Gaza
+pref.timezone.Asia.Harbin=Asia/Harbin
+pref.timezone.Asia.Hong_Kong=Asia/Hong Kong
+pref.timezone.Asia.Hovd=Asia/Hovd
+pref.timezone.Asia.Irkutsk=Asia/Irkutsk
+pref.timezone.Asia.Istanbul=Asia/Istanbul
+pref.timezone.Asia.Jakarta=Asia/Jakarta
+pref.timezone.Asia.Jayapura=Asia/Jayapura
+pref.timezone.Asia.Jerusalem=Asia/Jerusalem
+pref.timezone.Asia.Kabul=Asia/Kabul
+pref.timezone.Asia.Kamchatka=Asia/Kamchatka
+pref.timezone.Asia.Karachi=Asia/Karachi
+pref.timezone.Asia.Kashgar=Asia/Kashgar
+pref.timezone.Asia.Kathmandu=Asia/Kathmandu
+pref.timezone.Asia.Krasnoyarsk=Asia/Krasnoyarsk
+pref.timezone.Asia.Kuala_Lumpur=Asia/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asia/Kuching
+pref.timezone.Asia.Kuwait=Asia/Kuwait
+pref.timezone.Asia.Macau=Asia/Macau
+pref.timezone.Asia.Magadan=Asia/Magadan
+pref.timezone.Asia.Makassar=Asia/Makassar
+pref.timezone.Asia.Manila=Asia/Manila
+pref.timezone.Asia.Muscat=Asia/Muscat
+pref.timezone.Asia.Nicosia=Asia/Nicosia
+pref.timezone.Asia.Novosibirsk=Asia/Novosibirsk
+pref.timezone.Asia.Omsk=Asia/Omsk
+pref.timezone.Asia.Oral=Asia/Oral
+pref.timezone.Asia.Phnom_Penh=Asia/Phnom Penh
+pref.timezone.Asia.Pontianak=Asia/Pontianak
+pref.timezone.Asia.Pyongyang=Asia/Pyongyang
+pref.timezone.Asia.Qatar=Asia/Qatar
+pref.timezone.Asia.Qyzylorda=Asia/Qyzylorda
+pref.timezone.Asia.Rangoon=Asia/Rangoon
+pref.timezone.Asia.Riyadh=Asia/Riyadh
+pref.timezone.Asia.Sakhalin=Asia/Sakhalin
+pref.timezone.Asia.Samarkand=Asia/Samarkand
+pref.timezone.Asia.Seoul=Asia/Seoul
+pref.timezone.Asia.Shanghai=Asia/Shanghai
+pref.timezone.Asia.Singapore=Asia/Singapore
+pref.timezone.Asia.Taipei=Asia/Taipei
+pref.timezone.Asia.Tashkent=Asia/Tashkent
+pref.timezone.Asia.Tbilisi=Asia/Tbilisi
+pref.timezone.Asia.Tehran=Asia/Tehran
+pref.timezone.Asia.Thimphu=Asia/Thimphu
+pref.timezone.Asia.Tokyo=Asia/Tokyo
+pref.timezone.Asia.Ulaanbaatar=Asia/Ulaanbaatar
+pref.timezone.Asia.Urumqi=Asia/Urumqi
+pref.timezone.Asia.Vientiane=Asia/Vientiane
+pref.timezone.Asia.Vladivostok=Asia/Vladivostok
+pref.timezone.Asia.Yakutsk=Asia/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asia/Yekaterinburg
+pref.timezone.Asia.Yerevan=Asia/Yerevan
+pref.timezone.Atlantic.Azores=Atlantic/Azores
+pref.timezone.Atlantic.Bermuda=Atlantic/Bermuda
+pref.timezone.Atlantic.Canary=Atlantic/Canary
+pref.timezone.Atlantic.Cape_Verde=Atlantic/Cape Verde
+pref.timezone.Atlantic.Faroe=Atlantic/Faroe
+pref.timezone.Atlantic.Madeira=Atlantic/Madeira
+pref.timezone.Atlantic.Reykjavik=Atlantic/Reykjavik
+pref.timezone.Atlantic.South_Georgia=Atlantic/South Georgia
+pref.timezone.Atlantic.St_Helena=Atlantic/St. Helena
+pref.timezone.Atlantic.Stanley=Atlantic/Stanley
+pref.timezone.Australia.Adelaide=Australia/Adelaide
+pref.timezone.Australia.Brisbane=Australia/Brisbane
+pref.timezone.Australia.Broken_Hill=Australia/Broken Hill
+pref.timezone.Australia.Currie=Australia/Currie
+pref.timezone.Australia.Darwin=Australia/Darwin
+pref.timezone.Australia.Eucla=Australia/Eucla
+pref.timezone.Australia.Hobart=Australia/Hobart
+pref.timezone.Australia.Lindeman=Australia/Lindeman
+pref.timezone.Australia.Lord_Howe=Australia/Lord Howe
+pref.timezone.Australia.Melbourne=Australia/Melbourne
+pref.timezone.Australia.Perth=Australia/Perth
+pref.timezone.Australia.Sydney=Australia/Sydney
+pref.timezone.Europe.Amsterdam=Europe/Amsterdam
+pref.timezone.Europe.Andorra=Europe/Andorra
+pref.timezone.Europe.Athens=Europe/Athens
+pref.timezone.Europe.Belgrade=Europe/Belgrade
+pref.timezone.Europe.Berlin=Europe/Berlin
+pref.timezone.Europe.Bratislava=Europe/Bratislava
+pref.timezone.Europe.Brussels=Europe/Brussels
+pref.timezone.Europe.Bucharest=Europe/Bucharest
+pref.timezone.Europe.Budapest=Europe/Budapest
+pref.timezone.Europe.Chisinau=Europe/Chisinau
+pref.timezone.Europe.Copenhagen=Europe/Copenhagen
+pref.timezone.Europe.Dublin=Europe/Dublin
+pref.timezone.Europe.Gibraltar=Europe/Gibraltar
+pref.timezone.Europe.Guernsey=Europe/Guernsey
+pref.timezone.Europe.Helsinki=Europe/Helsinki
+pref.timezone.Europe.Isle_of_Man=Europe/Isle of Man
+pref.timezone.Europe.Istanbul=Europe/Istanbul
+pref.timezone.Europe.Jersey=Europe/Jersey
+pref.timezone.Europe.Kaliningrad=Europe/Kaliningrad
+pref.timezone.Europe.Kiev=Europe/Kiev
+pref.timezone.Europe.Lisbon=Europe/Lisbon
+pref.timezone.Europe.Ljubljana=Europe/Ljubljana
+pref.timezone.Europe.London=Europe/London
+pref.timezone.Europe.Luxembourg=Europe/Luxembourg
+pref.timezone.Europe.Madrid=Europe/Madrid
+pref.timezone.Europe.Malta=Europe/Malta
+pref.timezone.Europe.Mariehamn=Europe/Mariehamn
+pref.timezone.Europe.Minsk=Europe/Minsk
+pref.timezone.Europe.Monaco=Europe/Monaco
+pref.timezone.Europe.Moscow=Europe/Moscow
+pref.timezone.Europe.Nicosia=Europe/Nicosia
+pref.timezone.Europe.Oslo=Europe/Oslo
+pref.timezone.Europe.Paris=Europe/Paris
+pref.timezone.Europe.Podgorica=Europe/Podgorica
+pref.timezone.Europe.Prague=Europe/Prague
+pref.timezone.Europe.Riga=Europe/Riga
+pref.timezone.Europe.Rome=Europe/Rome
+pref.timezone.Europe.Samara=Europe/Samara
+pref.timezone.Europe.San_Marino=Europe/San Marino
+pref.timezone.Europe.Sarajevo=Europe/Sarajevo
+pref.timezone.Europe.Simferopol=Europe/Simferopol
+pref.timezone.Europe.Skopje=Europe/Skopje
+pref.timezone.Europe.Sofia=Europe/Sofia
+pref.timezone.Europe.Stockholm=Europe/Stockholm
+pref.timezone.Europe.Tallinn=Europe/Tallinn
+pref.timezone.Europe.Tirane=Europe/Tirane
+pref.timezone.Europe.Uzhgorod=Europe/Uzhgorod
+pref.timezone.Europe.Vaduz=Europe/Vaduz
+pref.timezone.Europe.Vatican=Europe/Vatican
+pref.timezone.Europe.Vienna=Europe/Vienna
+pref.timezone.Europe.Vilnius=Europe/Vilnius
+pref.timezone.Europe.Volgograd=Europe/Volgograd
+pref.timezone.Europe.Warsaw=Europe/Warsaw
+pref.timezone.Europe.Zagreb=Europe/Zagreb
+pref.timezone.Europe.Zaporozhye=Europe/Zaporozhye
+pref.timezone.Europe.Zurich=Europe/Zurich
+pref.timezone.Indian.Antananarivo=Indian/Antananarivo
+pref.timezone.Indian.Chagos=Indian/Chagos
+pref.timezone.Indian.Christmas=Indian/Christmas
+pref.timezone.Indian.Cocos=Indian/Cocos
+pref.timezone.Indian.Comoro=Indian/Comoro
+pref.timezone.Indian.Kerguelen=Indian/Kerguelen
+pref.timezone.Indian.Mahe=Indian/Mahe
+pref.timezone.Indian.Maldives=Indian/Maldives
+pref.timezone.Indian.Mauritius=Indian/Mauritius
+pref.timezone.Indian.Mayotte=Indian/Mayotte
+pref.timezone.Indian.Reunion=Indian/Reunion
+pref.timezone.Pacific.Apia=Pacific/Apia
+pref.timezone.Pacific.Auckland=Pacific/Auckland
+pref.timezone.Pacific.Chatham=Pacific/Chatham
+pref.timezone.Pacific.Easter=Pacific/Easter
+pref.timezone.Pacific.Efate=Pacific/Efate
+pref.timezone.Pacific.Enderbury=Pacific/Enderbury
+pref.timezone.Pacific.Fakaofo=Pacific/Fakaofo
+pref.timezone.Pacific.Fiji=Pacific/Fiji
+pref.timezone.Pacific.Funafuti=Pacific/Funafuti
+pref.timezone.Pacific.Galapagos=Pacific/Galapagos
+pref.timezone.Pacific.Gambier=Pacific/Gambier
+pref.timezone.Pacific.Guadalcanal=Pacific/Guadalcanal
+pref.timezone.Pacific.Guam=Pacific/Guam
+pref.timezone.Pacific.Honolulu=Pacific/Honolulu
+pref.timezone.Pacific.Johnston=Pacific/Johnston
+pref.timezone.Pacific.Kiritimati=Pacific/Kiritimati
+pref.timezone.Pacific.Kosrae=Pacific/Kosrae
+pref.timezone.Pacific.Kwajalein=Pacific/Kwajalein
+pref.timezone.Pacific.Majuro=Pacific/Majuro
+pref.timezone.Pacific.Marquesas=Pacific/Marquesas
+pref.timezone.Pacific.Midway=Pacific/Midway
+pref.timezone.Pacific.Nauru=Pacific/Nauru
+pref.timezone.Pacific.Niue=Pacific/Niue
+pref.timezone.Pacific.Norfolk=Pacific/Norfolk
+pref.timezone.Pacific.Noumea=Pacific/Noumea
+pref.timezone.Pacific.Pago_Pago=Pacific/Pago Pago
+pref.timezone.Pacific.Palau=Pacific/Palau
+pref.timezone.Pacific.Pitcairn=Pacific/Pitcairn
+pref.timezone.Pacific.Ponape=Pacific/Ponape
+pref.timezone.Pacific.Port_Moresby=Pacific/Port Moresby
+pref.timezone.Pacific.Rarotonga=Pacific/Rarotonga
+pref.timezone.Pacific.Saipan=Pacific/Saipan
+pref.timezone.Pacific.Tahiti=Pacific/Tahiti
+pref.timezone.Pacific.Tarawa=Pacific/Tarawa
+pref.timezone.Pacific.Tongatapu=Pacific/Tongatapu
+pref.timezone.Pacific.Truk=Pacific/Truk
+pref.timezone.Pacific.Wake=Pacific/Wake
+pref.timezone.Pacific.Wallis=Pacific/Wallis
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=America/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=America/Indiana/Winamac
+pref.timezone.America.Marigot=America/Marigot
+pref.timezone.America.Resolute=America/Resolute
+pref.timezone.America.St_Barthelemy=America/St. Barthelemy
+
+# added with 0.1.2008d:
+pref.timezone.America.Argentina.San_Luis=America/Argentina/San Luis
+pref.timezone.America.Santarem=America/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asia/Ho Chi Minh
+pref.timezone.Asia.Kolkata=Asia/Kolkata
+
+# added with 0.1.2008i:
+pref.timezone.America.Argentina.Salta=America/Argentina/Salta
+
+# added with 0.1.2010i
+pref.timezone.America.Matamoros=America/Matamoros
+pref.timezone.America.Ojinaga=America/Ojinaga
+pref.timezone.America.Santa_Isabel=America/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antarctica/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asia/Novokuznetsk
+
+#added with 0.1.2011b
+pref.timezone.America.Bahia_Banderas=America/Bahia Banderas
+pref.timezone.America.North_Dakota.Beulah=America/North Dakota/Beulah
+pref.timezone.Pacific.Chuuk=Pacific/Chuuk
+pref.timezone.Pacific.Pohnpei=Pacific/Pohnpei
+
+#added with 0.1.2011n
+pref.timezone.Africa.Juba=Africa/Juba
+pref.timezone.America.Kralendijk=America/Kralendijk
+pref.timezone.America.Lower_Princes=America/Lower Princes
+pref.timezone.America.Metlakatla=America/Metlakatla
+pref.timezone.America.Sitka=America/Sitka
+pref.timezone.Asia.Hebron=Asia/Hebron
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,40 @@
+<!-- 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 lightning.toolbar.calendar.name "Calendar Toolbar">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "C">
+<!ENTITY lightning.toolbar.task.name "Task Toolbar">
+<!ENTITY lightning.toolbar.task.name.accesskey "T">
+
+<!ENTITY lightning.toolbar.sync.label "Synchronise">
+<!ENTITY lightning.toolbar.delete.label "Delete">
+<!ENTITY lightning.toolbar.edit.label "Edit">
+<!ENTITY lightning.toolbar.gototoday.label "Go to Today">
+<!ENTITY lightning.toolbar.print.label "Print">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label     "Calendar">
+<!ENTITY lightning.toolbar.calendar.tooltip   "Switch to the calendar tab">
+<!ENTITY lightning.toolbar.calendar.accesskey "C">
+<!ENTITY lightning.toolbar.task.label         "Tasks">
+<!ENTITY lightning.toolbar.task.tooltip       "Switch to the tasks tab">
+<!ENTITY lightning.toolbar.task.accesskey     "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label     "Event">
+<!ENTITY lightning.toolbar.newtask.label      "Task">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label                 "Day">
+<!ENTITY lightning.toolbar.day.accesskey             "D">
+<!ENTITY lightning.toolbar.week.label                "Week">
+<!ENTITY lightning.toolbar.week.accesskey            "W">
+<!ENTITY lightning.toolbar.multiweek.label           "Multiweek">
+<!ENTITY lightning.toolbar.multiweek.accesskey       "u">
+<!ENTITY lightning.toolbar.month.label               "Month">
+<!ENTITY lightning.toolbar.month.accesskey           "M">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton.tooltip
+     from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label       "AppMenu">
+<!ENTITY lightning.toolbar.appmenuButton.tooltip     "Displays the Application Menu">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,63 @@
+<!-- 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/. -->
+
+<!-- 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!
+  -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "Calendar">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label    "Event…">
+<!ENTITY lightning.menupopup.new.event.accesskey "E">
+<!ENTITY lightning.menupopup.new.task.label     "Task…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "Calendar…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "n">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label               "Open">
+<!ENTITY lightning.menupopup.open.accesskey           "O">
+<!ENTITY lightning.menupopup.open.message.label       "Saved Message…">
+<!ENTITY lightning.menupopup.open.message.accesskey   "M">
+<!ENTITY lightning.menupopup.open.calendar.label      "Calendar File…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey  "C">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label            "Calendar">
+<!ENTITY lightning.menu.view.calendar.accesskey        "n">
+<!ENTITY lightning.menu.view.tasks.label               "Tasks">
+<!ENTITY lightning.menu.view.tasks.accesskey           "k">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label                "Events and Tasks">
+<!ENTITY lightning.menu.eventtask.accesskey            "n">
+
+<!-- properties dialog, calendar creation wizard -->
+<!ENTITY lightning.calendarproperties.email.label               "Email:">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.description "This message contains an invitation to an event.">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.showCalendar.key "C">
+<!ENTITY lightning.keys.event.showTasks.key "D">
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "D">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "Create a new calendar">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Show Mini-Month">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Show Mini-Day">
+<!ENTITY todaypane.showMiniday.accesskey  "d">
+<!ENTITY todaypane.showNone.label "Show None">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "Show Today Pane">
+<!ENTITY todaypane.showTodayPane.accesskey "o">
+<!ENTITY todaypane.statusButton.label "Today Pane">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,70 @@
+# 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/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=An integrated calendar for Thunderbird
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Mozilla Calendar Project
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Tasks
+
+# Tab titles
+tabTitleCalendar=Calendar
+tabTitleTasks=Tasks
+
+# Html event display in message
+imipHtml.header=Event Invitation
+imipHtml.summary=Title:
+imipHtml.location=Location:
+imipHtml.when=When:
+imipHtml.organizer=Organiser:
+imipHtml.description=Description:
+imipHtml.comment=Comment:
+imipHtml.attendees=Attendees:
+
+imipAddToCalendar.label=Add To Calendar
+imipAddedItemToCal=Event Added to Calendar
+imipCanceledItem=Event has been deleted
+imipUpdatedItem=Event has been updated
+imipBarCancelText=This message contains an event cancellation.
+imipBarRefreshText=This message asks for an event update.
+imipBarPublishText=This message contains an event.
+imipBarRequestText=This message contains an invitation to an event.
+imipBarUpdateText=This message contains an update to an existing event.
+imipBarAlreadyProcessedText=This message contains an event that has already been processed.
+imipBarReplyText=This message contains a reply to an invitation.
+imipBarUnsupportedText=This message contains an event that this version of Lightning cannot process.
+imipBarProcessingFailed=Processing message failed. Status: %1$S.
+imipAcceptInvitation.label=Accept
+imipCancelInvitation.label=Delete
+imipDeclineInvitation.label=Decline
+imipUpdate.label=Update
+imipAcceptTentativeInvitation.label=Tentative
+imipSend.label=Send
+imipSendMail.title=Email Notification
+imipSendMail.text=Would you like to send out notification Email now?
+imipSendMail.Outlook2000CompatMode.text=Support Outlook 2000 and Outlook 2002/XP
+imipNoIdentity=None
+imipNoCalendarAvailable=There are no writable calendars available.
+
+itipReplySubject=Event Invitation Reply: %1$S
+itipReplyBodyAccept=%1$S has accepted your event invitation.
+itipReplyBodyDecline=%1$S has declined your event invitation.
+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 »
+
+confirmProcessInvitation=You have recently deleted this item, are you sure you want to process this invitation?
+confirmProcessInvitationTitle=Process Invitation?
+
+invitationsLink.label=Invitations: %1$S
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/sunbird/aboutDialog.dtd
@@ -0,0 +1,29 @@
+<!-- -*- Mode: HTML; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+   - 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 aboutDialog.title      "About &brandFullName;">
+<!ENTITY copyright.label        "Credits">
+<!ENTITY copyright.accesskey    "C">
+<!ENTITY aboutLink.label        "&lt; About &brandFullName;">
+<!ENTITY aboutLink.accesskey    "A">
+<!ENTITY aboutVersion           "version">
+<!ENTITY copyrightText          "&#169;1998-2010 Contributors. All rights
+                                 reserved. Mozilla Sunbird, Sunbird, and the
+                                 Sunbird logos are trademarks of the Mozilla
+                                 Foundation. All rights reserved.">
+
+<!ENTITY brandMotto       "it's about time">
+<!ENTITY credit.thanks    "Special Thanks To">
+
+<!-- localization credits look like this: -->
+<!--
+<!ENTITY credit.translation
+  "<h3>Translators</h3><ul><li>Name Here</li></ul>">
+-->
+<!ENTITY credit.translation "">
+
+<!ENTITY credit.powered     "Powered by">
+<!ENTITY license.and        "and">
+<!ENTITY cmdClose.macKey  "W">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/sunbird/menuOverlay.dtd
@@ -0,0 +1,145 @@
+<!-- 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 calendar.open.file.label                          "Open Calendar File…">
+<!ENTITY calendar.open.file.key                            "O">
+<!ENTITY calendar.open.file.accesskey                      "O">
+
+<!ENTITY event.edit.event                                  "Edit Selection…">
+<!ENTITY event.edit.event.key                              "E">
+<!ENTITY event.edit.event.accesskey                        "E">
+
+<!ENTITY event.delete.event                                "Delete Selected Events">
+<!ENTITY event.delete.event.accesskey                      "D">
+
+<!ENTITY event.delete.tasks                                "Delete Selected Tasks">
+<!ENTITY event.delete.tasks.accesskey                      "T">
+
+<!ENTITY calendar.pagesetup.label                          "Page Setup…">
+<!ENTITY calendar.pagesetup.accesskey                      "u">
+
+<!ENTITY calendar.subscribe.label                          "Subscribe to Remote Calendar…">
+<!ENTITY calendar.subscribe.accesskey                      "R">
+
+<!ENTITY calendar.synccalendars.label                      "Synchronise Calendars">
+<!ENTITY calendar.synccalendars.key                        "R">
+<!ENTITY calendar.synccalendars.accesskey                  "S">
+
+<!ENTITY calendar.publish.calendar.label                   "Publish Calendar…">
+<!ENTITY calendar.publish.calendar.accesskey               "b">
+<!ENTITY calendar.publish.selection.label                  "Publish Selection…">
+<!ENTITY calendar.publish.selection.accesskey              "c">
+
+<!ENTITY calendar.quit.label                               "Quit">
+<!ENTITY calendar.quit.accesskey                           "Q">
+<!ENTITY calendar.quit.key                                 "Q">
+<!ENTITY calendar.quit.label.mac                           "Quit &brandShortName;">
+
+<!ENTITY calendar.exit.label                               "Exit">
+<!ENTITY calendar.exit.accesskey                           "x">
+
+<!ENTITY calendar.undo.label                               "Undo">
+<!ENTITY calendar.undo.key                                 "Z">
+<!ENTITY calendar.undo.accesskey                           "u">
+
+<!ENTITY calendar.redo.label                               "Redo">
+<!ENTITY calendar.redo.key                                 "Y">
+<!ENTITY calendar.redo.accesskey                           "r">
+
+<!ENTITY calendar.cut.label                                "Cut">
+<!ENTITY calendar.cut.key                                  "X">
+<!ENTITY calendar.cut.accesskey                            "t">
+
+<!ENTITY calendar.copy.label                               "Copy">
+<!ENTITY calendar.copy.key                                 "C">
+<!ENTITY calendar.copy.accesskey                           "C">
+
+<!ENTITY calendar.paste.label                              "Paste">
+<!ENTITY calendar.paste.key                                "V">
+<!ENTITY calendar.paste.accesskey                          "P">
+
+<!ENTITY calendar.selectall.label                          "Select All">
+<!ENTITY calendar.selectall.key                            "A">
+<!ENTITY calendar.selectall.accesskey                      "A">
+
+<!ENTITY toolbarsMenu.label                                "Toolbars">
+<!ENTITY toolbarsMenu.accesskey                            "T">
+
+<!ENTITY showStatusBarCmd.label                            "Status Bar">
+<!ENTITY showStatusBarCmd.accesskey                        "B">
+
+<!ENTITY showTaskBoxCmd.label                              "Task List">
+<!ENTITY showTaskBoxCmd.accesskey                          "L">
+
+<!ENTITY calendar.fullscreen.label                         "Full Screen">
+<!ENTITY calendar.fullscreen.accesskey                     "F">
+
+<!ENTITY calendar.addons.label                             "Add-ons">
+<!ENTITY calendar.addons.accesskey                         "d">
+
+<!ENTITY goMenu.label                                      "Go">
+<!ENTITY goMenu.accesskey                                  "G">
+
+<!ENTITY goDateCmd.label                                   "Date…">
+<!ENTITY goDateCmd.accesskey                               "D">
+
+<!ENTITY toolsMenu.label                                   "Tools">
+<!ENTITY toolsMenu.accesskey                               "T">
+
+<!ENTITY errorConsoleCmd.label                             "Error Console">
+<!ENTITY errorConsoleCmd.accesskey                         "C">
+
+<!ENTITY helpMenu.label                                    "Help">
+<!ENTITY helpMenu.accesskey                                "H">
+<!-- LOCALIZATION NOTE some localizations of Windows use "?"
+           for the help button in the menubar but Gnome does not.   -->
+<!ENTITY helpMenuWin.label                                 "Help">
+<!ENTITY helpMenuWin.accesskey                             "H">
+
+<!ENTITY fileMenu.label                                    "File">
+<!ENTITY fileMenu.accesskey                                "F">
+
+<!ENTITY editMenu.label                                    "Edit">
+<!ENTITY editMenu.accesskey                                "E">
+
+<!ENTITY optionsCmd.label                                  "Options…">
+<!ENTITY optionsCmd.accesskey                              "O">
+
+<!ENTITY preferencesCmd.label                              "Preferences">
+<!ENTITY preferencesCmd.accesskey                          "n">
+<!ENTITY preferencesCmdMac.label                           "Preferences…">
+<!ENTITY preferencesCmdMac.commandkey                      ",">
+<!ENTITY preferencesCmdMac.modifiers                       "accel">
+
+<!ENTITY viewMenu.label                                    "View">
+<!ENTITY viewMenu.accesskey                                "V">
+
+<!ENTITY releaseCmd.label                                  "Release Notes">
+<!ENTITY releaseCmd.accesskey                              "R">
+
+<!ENTITY aboutCmd.label                                    "About &brandFullName;">
+<!ENTITY aboutCmd.accesskey                                "A">
+
+<!ENTITY updateCmd.label                                   "Check for Updates…">
+<!ENTITY updateCmd.accesskey                               "o">
+
+<!ENTITY sunbird.export.calendar.label                     "Export Calendar…">
+<!ENTITY sunbird.export.calendar.accesskey                 "E">
+
+<!-- Mac OS X "Window" menu items -->
+<!ENTITY windowMenu.label                                  "Window">
+<!ENTITY minimizeWindow.label                              "Minimise">
+<!ENTITY zoomWindow.label                                  "Zoom">
+<!ENTITY minimizeWindow.key                                "M">
+<!ENTITY bringAllToFront.label                             "Bring All to Front">
+
+<!-- Mac OS X Application menu items -->
+<!ENTITY servicesMenuMac.label                             "Services">
+<!ENTITY hideThisAppCmdMac.label                           "Hide &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey                      "H">
+<!ENTITY hideThisAppCmdMac.modifiers                       "accel">
+<!ENTITY hideOtherAppsCmdMac.label                         "Hide Others">
+<!ENTITY hideOtherAppsCmdMac.commandkey                    "H">
+<!ENTITY hideOtherAppsCmdMac.modifiers                     "accel,alt">
+<!ENTITY showAllAppsCmdMac.label                           "Show All">
new file mode 100644
--- /dev/null
+++ b/calendar/chrome/sunbird/sunbird.dtd
@@ -0,0 +1,72 @@
+<!-- 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 sunbird.choosedate.button.tooltip                 "Choose date to go to" >
+<!ENTITY sunbird.cut.button.tooltip                        "Cut" >
+<!ENTITY sunbird.copy.button.tooltip                       "Copy" >
+<!ENTITY sunbird.paste.button.tooltip                      "Paste" >
+<!ENTITY sunbird.print.button.tooltip                      "Print calendar" >
+<!ENTITY sunbird.delete.button.tooltip                     "Delete selected event" >
+<!ENTITY sunbird.remotereload.button.tooltip               "Reload all remote calendars" >
+<!ENTITY sunbird.import.button.tooltip                     "Import events from a local file" >
+<!ENTITY sunbird.export.button.tooltip                     "Export events to a local file" >
+<!ENTITY sunbird.subscribe.button.tooltip                  "Subscribe to a calendar file on a remote machine" >
+<!ENTITY sunbird.publish.button.tooltip                    "Publish events to a remote machine" >
+<!ENTITY sunbird.unifinder.button.tooltip                  "Find and list events" >
+<!ENTITY sunbird.edit.button.tooltip                       "Edit selected event" >
+
+<!ENTITY sunbird.choosedate.button.label                   "Choose Date" >
+<!ENTITY sunbird.cut.button.label                          "Cut" >
+<!ENTITY sunbird.copy.button.label                         "Copy" >
+<!ENTITY sunbird.paste.button.label                        "Paste" >
+<!ENTITY sunbird.delete.button.label                       "Delete" >
+<!ENTITY sunbird.remotereload.button.label                 "Reload" >
+<!ENTITY sunbird.import.button.label                       "Import" >
+<!ENTITY sunbird.export.button.label                       "Export" >
+<!ENTITY sunbird.subscribe.button.label                    "Subscribe" >
+<!ENTITY sunbird.publish.button.label                      "Publish" >
+<!ENTITY sunbird.unifinder.button.label                    "Find Events" >
+<!ENTITY sunbird.edit.button.label                         "Edit" >
+
+<!ENTITY sunbird.flat.topbar.choosedate                    "Go to Date" >
+<!ENTITY sunbird.flat.topbar.dayview                       "Day View" >
+<!ENTITY sunbird.flat.topbar.weekview                      "Week View" >
+<!ENTITY sunbird.flat.topbar.monthview                     "Month View" >
+<!ENTITY sunbird.flat.topbar.multiweekview                 "Multiweek View" >
+
+<!ENTITY sunbird.dayview.accesskey                         "D" >
+<!ENTITY sunbird.weekview.accesskey                        "W" >
+<!ENTITY sunbird.monthview.accesskey                       "M" >
+<!ENTITY sunbird.multiweekview.accesskey                   "u" >
+
+
+<!ENTITY sunbird.calendartab.label                         "Date">
+<!ENTITY sunbird.listofcalendarstab.label                  "Calendars">
+
+<!ENTITY sunbird.find.key                                  "F">
+<!ENTITY sunbird.close.key                                 "W">
+
+<!ENTITY sunbird.menu.numberofweeks.label                  "Number of Weeks" >
+<!ENTITY sunbird.menu.numberofweeks.accesskey              "N" >
+<!ENTITY sunbird.menu.numberofweeks.1                      "1 Week" >
+<!ENTITY sunbird.menu.numberofweeks.2                      "2 Weeks" >
+<!ENTITY sunbird.menu.numberofweeks.3                      "3 Weeks" >
+<!ENTITY sunbird.menu.numberofweeks.4                      "4 Weeks" >
+<!ENTITY sunbird.menu.numberofweeks.5                      "5 Weeks" >
+<!ENTITY sunbird.menu.numberofweeks.6                      "6 Weeks" >
+
+<!-- customizable toolbars -->
+<!ENTITY sunbird.context.customize.label                   "Customise…">
+<!ENTITY sunbird.context.customize.accesskey               "C">
+<!ENTITY sunbird.menu.customize.label                      "Customise Toolbar…">
+<!ENTITY sunbird.menu.customize.accesskey                  "C">
+<!ENTITY sunbird.maintoolbar.name                          "Main Toolbar">
+<!ENTITY sunbird.maintoolbar.accesskey                     "M">
+
+<!-- Sunbird Help -->
+<!ENTITY sunbird.help.label                                "Help Contents">
+<!ENTITY sunbird.help.accesskey                            "H">
+
+<!-- LOCALIZATION NOTE (mainWindow.title): DONT_TRANSLATE -->
+<!ENTITY mainWindow.title                                  "&brandFullName;">
new file mode 100644
--- /dev/null
+++ b/calendar/defines.inc
@@ -0,0 +1,9 @@
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR Mark Tyndall
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+# variable definition and use the format specified.
+#define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Ian Neal</em:contributor>
+
+#unfilter emptyLines
new file mode 100644
--- /dev/null
+++ b/calendar/extra-jar.mn
@@ -0,0 +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/.
+
+# this is an empty file
+# locales can ship "extra" files from here, to ship a custom set
+# of files for the help system
+# do not put any blank lines in this file
new file mode 100644
--- /dev/null
+++ b/calendar/installer/custom.properties
@@ -0,0 +1,70 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+CONTEXT_OPTIONS=$BrandShortName &Options
+CONTEXT_SAFE_MODE=$BrandShortName &Safe Mode
+SAFE_MODE=Safe Mode
+OPTIONS_PAGE_TITLE=Setup Type
+OPTIONS_PAGE_SUBTITLE=Choose setup options
+SHORTCUTS_PAGE_TITLE=Set Up Shortcuts
+SHORTCUTS_PAGE_SUBTITLE=Create Program Icons
+SUMMARY_PAGE_TITLE=Summary
+SUMMARY_PAGE_SUBTITLE=Ready to start installing $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName will be installed to the following location:
+SUMMARY_REBOOT_REQUIRED_INSTALL=A restart of your computer may be required to complete the installation.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=A restart of your computer may be required to complete the uninstall.
+SUMMARY_CLICK=Click Install to continue.
+LAUNCH_TEXT=&Launch $BrandShortName now
+CREATE_ICONS_DESC=Create icons for $BrandShortName:
+ICONS_DESKTOP=On my &Desktop
+ICONS_STARTMENU=In my &Start Menu Programs folder
+ICONS_QUICKLAUNCH=In my &Quick Launch bar
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName must be closed to proceed with the installation.\n\nPlease close $BrandShortName to continue.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName must be closed to proceed with the uninstall.\n\nPlease close $BrandShortName to continue.
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName is already running.\n\nPlease close $BrandShortName prior to launching the version you have just installed.
+WARN_WRITE_ACCESS=You don't have access to write to the installation directory.\n\nClick OK to select a different directory.
+WARN_DISK_SPACE=You don't have sufficient disc space to install to this location.\n\nClick OK to select a different location.
+WARN_MIN_SUPPORTED_OS_MSG=Sorry, $BrandShortName can't be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer.
+WARN_RESTART_REQUIRED_UNINSTALL=Your computer must be restarted to complete a previous uninstall of $BrandShortName. Do you want to reboot now?
+WARN_RESTART_REQUIRED_UPGRADE=Your computer must be restarted to complete a previous upgrade of $BrandShortName. Do you want to reboot now?
+ERROR_CREATE_DIRECTORY_PREFIX=Error creating directory:
+ERROR_CREATE_DIRECTORY_SUFFIX=Click Cancel to stop the installation or\nRetry to try again.
+
+UN_CONFIRM_PAGE_TITLE=Uninstall $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=Remove $BrandFullName from your computer.
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName will be uninstalled from the following location:
+UN_CONFIRM_CLICK=Click Uninstall to continue.
+
+BANNER_CHECK_EXISTING=Checking existing installation…
+
+STATUS_INSTALL_APP=Installing $BrandShortName…
+STATUS_INSTALL_LANG=Installing Language Files (${AB_CD})…
+STATUS_UNINSTALL_MAIN=Uninstalling $BrandShortName…
+STATUS_CLEANUP=A Little Housekeeping…
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Choose the type of setup you prefer, then click Next.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName will be installed with the most common options.
+OPTION_STANDARD_RADIO=&Standard
+# Two lines
+OPTION_CUSTOM_DESC=You may choose individual options to be installed. Recommended for experienced users.
+OPTION_CUSTOM_RADIO=&Custom
new file mode 100644
--- /dev/null
+++ b/calendar/installer/mui.properties
@@ -0,0 +1,65 @@
+# 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/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=Welcome to the $BrandFullNameDA Setup Wizard
+MUI_TEXT_WELCOME_INFO_TEXT=This wizard will guide you through the installation of $BrandFullNameDA.\n\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\n\n$_CLICK
+MUI_TEXT_LICENSE_TITLE=Licence Agreement
+MUI_TEXT_LICENSE_SUBTITLE=Please review the licence terms before installing $BrandFullNameDA.
+MUI_INNERTEXT_LICENSE_TOP=Press Page Down to see the rest of the agreement.
+MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX=If you accept the terms of the agreement, tick the box below. You must accept the agreement to install $BrandFullNameDA. $_CLICK
+MUI_TEXT_COMPONENTS_TITLE=Choose Components
+MUI_TEXT_COMPONENTS_SUBTITLE=Choose which features of $BrandFullNameDA you want to install.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Description
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Position your mouse over a component to see its description.
+MUI_TEXT_DIRECTORY_TITLE=Choose Install Location
+MUI_TEXT_DIRECTORY_SUBTITLE=Choose the folder in which to install $BrandFullNameDA.
+MUI_TEXT_INSTALLING_TITLE=Installing
+MUI_TEXT_INSTALLING_SUBTITLE=Please wait while $BrandFullNameDA is being installed.
+MUI_TEXT_FINISH_TITLE=Installation Complete
+MUI_TEXT_FINISH_SUBTITLE=Setup was completed successfully.
+MUI_TEXT_ABORT_TITLE=Installation Aborted
+MUI_TEXT_ABORT_SUBTITLE=Setup was not completed successfully.
+MUI_BUTTONTEXT_FINISH=&Finish
+MUI_TEXT_FINISH_INFO_TITLE=Completing the $BrandFullNameDA Setup Wizard
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA has been installed on your computer.\n\nClick Finish to close this wizard.
+MUI_TEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the installation of $BrandFullNameDA. Do you want to reboot now?
+MUI_TEXT_FINISH_REBOOTNOW=Reboot now
+MUI_TEXT_FINISH_REBOOTLATER=I want to manually reboot later
+MUI_TEXT_STARTMENU_TITLE=Choose Start Menu Folder
+MUI_TEXT_STARTMENU_SUBTITLE=Choose a Start Menu folder for the $BrandFullNameDA shortcuts.
+MUI_INNERTEXT_STARTMENU_TOP=Select the Start Menu folder in which you would like to create the program's shortcuts. You can also enter a name to create a new folder.
+MUI_TEXT_ABORTWARNING=Are you sure you want to quit $BrandFullName Setup?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Welcome to the $BrandFullNameDA Uninstall Wizard
+MUI_UNTEXT_WELCOME_INFO_TEXT=This wizard will guide you through the uninstallation of $BrandFullNameDA.\n\nBefore starting the uninstallation, make sure $BrandFullNameDA is not running.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Uninstall $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=Remove $BrandFullNameDA from your computer.
+MUI_UNTEXT_UNINSTALLING_TITLE=Uninstalling
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Please wait while $BrandFullNameDA is being uninstalled.
+MUI_UNTEXT_FINISH_TITLE=Uninstallation Complete
+MUI_UNTEXT_FINISH_SUBTITLE=Uninstall was completed successfully.
+MUI_UNTEXT_ABORT_TITLE=Uninstallation Aborted
+MUI_UNTEXT_ABORT_SUBTITLE=Uninstall was not completed successfully.
+MUI_UNTEXT_FINISH_INFO_TITLE=Completing the $BrandFullNameDA Uninstall Wizard
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA has been uninstalled from your computer.\n\nClick Finish to close this wizard.
+MUI_UNTEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the uninstallation of $BrandFullNameDA. Do you want to reboot now?
+MUI_UNTEXT_ABORTWARNING=Are you sure you want to quit $BrandFullName Uninstall?
new file mode 100644
--- /dev/null
+++ b/calendar/installer/override.properties
@@ -0,0 +1,86 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=$BrandFullName Setup
+UninstallCaption=$BrandFullName Uninstall
+BackBtn=< &Back
+NextBtn=&Next >
+AcceptBtn=I &accept the terms in the Licence Agreement
+DontAcceptBtn=I &do not accept the terms in the Licence Agreement
+InstallBtn=&Install
+UninstallBtn=&Uninstall
+CancelBtn=Cancel
+CloseBtn=&Close
+BrowseBtn=B&rowse...
+ShowDetailsBtn=Show &details
+ClickNext=Click Next to continue.
+ClickInstall=Click Install to start the installation.
+ClickUninstall=Click Uninstall to start the uninstallation.
+Completed=Completed
+LicenseTextRB=Please review the licence agreement before installing $BrandFullNameDA. If you accept all terms of the agreement, select the first option below. $_CLICK
+ComponentsText=Tick the components you want to install and clear the components you don't want to install. $_CLICK
+ComponentsSubText2_NoInstTypes=Select components to install:
+DirText=Setup will install $BrandFullNameDA in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK
+DirSubText=Destination Folder
+DirBrowseText=Select the folder to install $BrandFullNameDA in:
+SpaceAvailable="Space available: "
+SpaceRequired="Space required: "
+UninstallingText=$BrandFullNameDA will be uninstalled from the following folder. $_CLICK
+UninstallingSubText=Uninstalling from:
+FileError=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Abort to stop the installation,\r\nRetry to try again, or\r\nIgnore to skip this file.
+FileError_NoIgnore=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Retry to try again, or\r\nCancel to stop the installation.
+CantWrite="Can't write: "
+CopyFailed=Copy failed
+CopyTo="Copy to "
+Registering="Registering: "
+Unregistering="Unregistering: "
+SymbolNotFound="Could not find symbol: "
+CouldNotLoad="Could not load: "
+CreateFolder="Create folder: "
+CreateShortcut="Create shortcut: "
+CreatedUninstaller="Created uninstaller: "
+Delete="Delete file: "
+DeleteOnReboot="Delete on reboot: "
+ErrorCreatingShortcut="Error creating shortcut: "
+ErrorCreating="Error creating: "
+ErrorDecompressing=Error decompressing data! Corrupted installer?
+ErrorRegistering=Error registering DLL
+ExecShell="ExecShell: "
+Exec="Execute: "
+Extract="Extract: "
+ErrorWriting="Extract: error writing to file "
+InvalidOpcode=Installer corrupted: invalid opcode
+NoOLE="No OLE for: "
+OutputFolder="Output folder: "
+RemoveFolder="Remove folder: "
+RenameOnReboot="Rename on reboot: "
+Rename="Rename: "
+Skipped="Skipped: "
+CopyDetails=Copy Details To Clipboard
+LogInstall=Log install process
+Byte=B
+Kilo=k
+Mega=M
+Giga=G
new file mode 100644
--- /dev/null
+++ b/calendar/lightning-l10n.js
@@ -0,0 +1,23 @@
+# 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/.
+
+#filter substitution
+
+# the default day to start the week on
+#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
+pref("calendar.week.start", 0);
+
+# default days off (not in work week)
+pref("calendar.week.d0sundaysoff", true);
+pref("calendar.week.d1mondaysoff", false);
+pref("calendar.week.d2tuesdaysoff", false);
+pref("calendar.week.d3wednesdaysoff", false);
+pref("calendar.week.d4thursdaysoff", false);
+pref("calendar.week.d5fridaysoff", false);
+pref("calendar.week.d6saturdaysoff", true);
+
+pref("general.useragent.locale", "@AB_CD@");
+
+# categories
+pref("calendar.categories.names", "Anniversary,Birthday,Business,Calls,Clients,Competition,Customer,Favourites,Follow up,Gifts,Holidays,Ideas,Issues,Meeting,Miscellaneous,Personal,Projects,Public Holiday,Status,Suppliers,Travel,Vacation");
new file mode 100644
--- /dev/null
+++ b/calendar/sunbird-l10n.js
@@ -0,0 +1,23 @@
+# 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/.
+
+#filter substitution
+
+# the default day to start the week on
+#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
+pref("calendar.week.start", 0);
+
+# default days off (not in work week)
+pref("calendar.week.d0sundaysoff", true);
+pref("calendar.week.d1mondaysoff", false);
+pref("calendar.week.d2tuesdaysoff", false);
+pref("calendar.week.d3wednesdaysoff", false);
+pref("calendar.week.d4thursdaysoff", false);
+pref("calendar.week.d5fridaysoff", false);
+pref("calendar.week.d6saturdaysoff", true);
+
+pref("general.useragent.locale", "@AB_CD@");
+
+# categories
+pref("calendar.categories.names", "Anniversary,Birthday,Business,Calls,Clients,Competition,Customer,Favourites,Follow up,Gifts,Holidays,Ideas,Issues,Meeting,Miscellaneous,Personal,Projects,Public Holiday,Status,Suppliers,Travel,Vacation");
new file mode 100644
--- /dev/null
+++ b/calendar/updater/updater.ini
@@ -0,0 +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/.
+
+; This file is in the UTF-8 encoding
+[Strings]
+TitleText=%MOZ_APP_DISPLAYNAME% Update
+InfoText=%MOZ_APP_DISPLAYNAME% is installing your updates and will start in a few moments…