summaryrefslogtreecommitdiffstats
path: root/l10n-de/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'l10n-de/calendar')
-rw-r--r--l10n-de/calendar/README.txt3
-rw-r--r--l10n-de/calendar/calendar/calendar-ics-file-dialog.ftl30
-rw-r--r--l10n-de/calendar/calendar/calendar-uri-redirect-dialog.ftl14
-rw-r--r--l10n-de/calendar/calendar/calendar-widgets.ftl6
-rw-r--r--l10n-de/calendar/calendar/category-dialog.ftl7
-rw-r--r--l10n-de/calendar/calendar/preferences.ftl192
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-alarms.properties39
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-event-dialog.dtd433
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-event-dialog.properties541
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-extract.properties294
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.properties10
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd14
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar.dtd412
-rw-r--r--l10n-de/calendar/chrome/calendar/calendar.properties820
-rw-r--r--l10n-de/calendar/chrome/calendar/calendarCreation.dtd51
-rw-r--r--l10n-de/calendar/chrome/calendar/calendarCreation.properties6
-rw-r--r--l10n-de/calendar/chrome/calendar/categories.properties7
-rw-r--r--l10n-de/calendar/chrome/calendar/dateFormat.properties146
-rw-r--r--l10n-de/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--l10n-de/calendar/chrome/calendar/global.dtd54
-rw-r--r--l10n-de/calendar/chrome/calendar/menuOverlay.dtd49
-rw-r--r--l10n-de/calendar/chrome/calendar/migration.dtd9
-rw-r--r--l10n-de/calendar/chrome/calendar/migration.properties13
-rw-r--r--l10n-de/calendar/chrome/calendar/provider-uninstall.dtd12
-rw-r--r--l10n-de/calendar/chrome/calendar/timezones.properties488
-rw-r--r--l10n-de/calendar/chrome/lightning/lightning-toolbar.dtd51
-rw-r--r--l10n-de/calendar/chrome/lightning/lightning.dtd114
-rw-r--r--l10n-de/calendar/chrome/lightning/lightning.properties231
-rw-r--r--l10n-de/calendar/lightning-l10n.js23
33 files changed, 4192 insertions, 0 deletions
diff --git a/l10n-de/calendar/README.txt b/l10n-de/calendar/README.txt
new file mode 100644
index 0000000000..8886c8d072
--- /dev/null
+++ b/l10n-de/calendar/README.txt
@@ -0,0 +1,3 @@
+For information about installing, running and configuring Lightning
+including a list of known issues and troubleshooting information,
+refer to: http://www.mozilla.org/projects/calendar/
diff --git a/l10n-de/calendar/calendar/calendar-ics-file-dialog.ftl b/l10n-de/calendar/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..5be130ddd1
--- /dev/null
+++ b/l10n-de/calendar/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,30 @@
+# 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-ics-file-window =
+ .title = Import von Terminen in Kalender
+
+calendar-ics-file-dialog =
+ .buttonlabelaccept = Importieren
+
+calendar-ics-file-window-2 =
+ .title = Import von Terminen und Aufgaben in Kalender
+
+calendar-ics-file-dialog-import-event-button-label = Termin importieren
+calendar-ics-file-dialog-import-task-button-label = Aufgabe importieren
+
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = Alle importieren
+
+calendar-ics-file-accept-button-ok-label = OK
+
+# $fileName (string) - The name of the file.
+calendar-ics-file-dialog-message = Soll die Datei "{ $fileName }" importiert werden?
+
+calendar-ics-file-dialog-message-2 = Import aus Datei:
+calendar-ics-file-dialog-calendar-menu-label = Import in Kalender:
+calendar-ics-file-import-success = Erfolgreich importiert.
+calendar-ics-file-import-error = Beim Importieren trat ein Fehler auf.
+
+calendar-ics-file-dialog-no-calendars = Es gibt derzeit keine Kalender, die Termine oder Aufgaben importieren können.
diff --git a/l10n-de/calendar/calendar/calendar-uri-redirect-dialog.ftl b/l10n-de/calendar/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..cf87d01b7d
--- /dev/null
+++ b/l10n-de/calendar/calendar/calendar-uri-redirect-dialog.ftl
@@ -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-uri-redirect-window =
+ .title = Weiterleitung der Kalenderadresse
+
+calendar-uri-redirect-description =
+ Der Server leitet die Adresse für den Kalender "{ $calendarName }" weiter.
+ Soll die Weiterleitung erlaubt und die neue Adresse für den Kalender verwendet werden?
+
+calendar-uri-redirect-original-uri-label = Aktuelle Adresse:
+
+calendar-uri-redirect-target-uri-label = Neue Adresse nach Weiterleitung:
diff --git a/l10n-de/calendar/calendar/calendar-widgets.ftl b/l10n-de/calendar/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..862879d60a
--- /dev/null
+++ b/l10n-de/calendar/calendar/calendar-widgets.ftl
@@ -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/.
+
+calendar-deactivated-notification-events = Derzeit sind alle Kalender deaktiviert. Aktivieren Sie einen bestehenden Kalender oder fügen Sie einen neuen hinzu, um Termine zu erstellen und bearbeiten.
+calendar-deactivated-notification-tasks = Derzeit sind alle Kalender deaktiviert. Aktivieren Sie einen bestehenden Kalender oder fügen Sie einen neuen hinzu, um Aufgaben zu erstellen und bearbeiten.
diff --git a/l10n-de/calendar/calendar/category-dialog.ftl b/l10n-de/calendar/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..0855b6318d
--- /dev/null
+++ b/l10n-de/calendar/calendar/category-dialog.ftl
@@ -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/.
+
+category-name-label = Name
+category-color-label =
+ .label = Farbe verwenden
diff --git a/l10n-de/calendar/calendar/preferences.ftl b/l10n-de/calendar/calendar/preferences.ftl
new file mode 100644
index 0000000000..de61944765
--- /dev/null
+++ b/l10n-de/calendar/calendar/preferences.ftl
@@ -0,0 +1,192 @@
+# 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-title = Kalender
+calendar-title-reminder = Erinnerungen
+calendar-title-category = Kategorien
+
+dateformat-label =
+ .value = Datums-Textformat:
+ .accesskey = D
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Lang: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Kurz: { $date }
+timezone-label =
+ .value = Zeitzone:
+weekstart-label =
+ .value = Erster Tag der Woche:
+ .accesskey = r
+day-1-name =
+ .label = Sonntag
+day-2-name =
+ .label = Montag
+day-3-name =
+ .label = Dienstag
+day-4-name =
+ .label = Mittwoch
+day-5-name =
+ .label = Donnerstag
+day-6-name =
+ .label = Freitag
+day-7-name =
+ .label = Samstag
+show-weeknumber-label =
+ .label = Wochennummer in Ansichten und Miniaturkalender anzeigen
+ .accesskey = W
+
+workdays-label =
+ .value = Tage der Arbeitswoche:
+
+day-1-checkbox =
+ .label = So
+ .accesskey = S
+day-2-checkbox =
+ .label = Mo
+ .accesskey = M
+day-3-checkbox =
+ .label = Di
+ .accesskey = D
+day-4-checkbox =
+ .label = Mi
+ .accesskey = i
+day-5-checkbox =
+ .label = Do
+ .accesskey = o
+day-6-checkbox =
+ .label = Fr
+ .accesskey = F
+day-7-checkbox =
+ .label = Sa
+ .accesskey = a
+
+dayweek-legend = Tages- und Wochenansichten
+visible-hours-label =
+ .value = Anzeigen:
+ .accesskey = n
+visible-hours-end-label =
+ .value = Stunde(n)
+day-start-label =
+ .value = Tag beginnt um:
+ .accesskey = t
+day-end-label =
+ .value = Tag endet um:
+ .accesskey = e
+midnight-label =
+ .label = Mitternacht
+noon-label =
+ .label = Mittag
+location-checkbox =
+ .label = Adresse anzeigen
+ .accesskey = A
+multiweek-legend = Mehrwöchige Ansicht
+number-of-weeks-label =
+ .value = Gesamtanzahl der Wochen (inkl. vergangener Wochen):
+ .accesskey = G
+week-0-label =
+ .label = keine
+week-1-label =
+ .label = 1 Woche
+week-2-label =
+ .label = 2 Wochen
+week-3-label =
+ .label = 3 Wochen
+week-4-label =
+ .label = 4 Wochen
+week-5-label =
+ .label = 5 Wochen
+week-6-label =
+ .label = 6 Wochen
+previous-weeks-label =
+ .value = Anzahl der vergangenen Wochen:
+ .accesskey = v
+todaypane-legend = Tagesplan
+# Note: "Upcoming" is the name of a section and the translation must match the
+# translation of that section name (calendar.upcoming.button.label). Also,
+# it should be upper case (as a proper name) if the target language permits.
+soon-label =
+ .value = Der Bereich "Demnächst" zeigt:
+ .accesskey = m
+event-task-legend = Termine und Aufgaben
+
+default-length-label =
+ .value = Standarddauer von Terminen und Aufgaben:
+ .accesskey = d
+
+task-start-label =
+ .value = Beginn:
+task-start-1-label =
+ .label = Keine
+task-start-2-label =
+ .label = Tagesanfang
+task-start-3-label =
+ .label = Tagesende
+task-start-4-label =
+ .label = Morgen
+task-start-5-label =
+ .label = Nächste Woche
+task-start-6-label =
+ .label = In Relation zum aktuellen Zeitpunkt
+task-start-7-label =
+ .label = In Relation zum Beginn
+task-start-8-label =
+ .label = In Relation zur folgenden Stunde
+task-due-label =
+ .value = Fällig:
+edit-intab-label =
+ .label = Termine und Aufgaben in einem Tab anstatt in einem Dialogfenster bearbeiten
+ .accesskey = T
+accessibility-legend = Barrierefreiheit
+accessibility-colors-label =
+ .label = Farben für eine barrierefreie Darstellung optimieren
+ .accesskey = F
+reminder-legend = Wenn eine Erinnerung fällig ist:
+reminder-play-checkbox =
+ .label = Einen Klang abspielen
+ .accesskey = k
+reminder-play-alarm-button =
+ .label = Abspielen
+ .accesskey = b
+reminder-default-sound-label =
+ .label = Standardklang verwenden
+ .accesskey = s
+reminder-custom-sound-label =
+ .label = Audiodatei verwenden:
+ .accesskey = v
+reminder-browse-sound-label =
+ .label = Durchsuchen…
+ .accesskey = D
+reminder-dialog-label =
+ .label = Den Erinnerungen-Dialog anzeigen
+ .accesskey = n
+missed-reminder-label =
+ .label = Erinnerungen für nicht schreibgeschützte Kalender anzeigen
+ .accesskey = z
+reminder-default-legend = Standardeinstellungen für Erinnerungen
+default-snooze-label =
+ .value = Standardintervall für das Zurückstellen:
+ .accesskey = R
+event-alarm-label =
+ .value = Standardeinstellung für Erinnerungen bei Terminen:
+ .accesskey = e
+alarm-on-label =
+ .label = Ein
+alarm-off-label =
+ .label = Aus
+task-alarm-label =
+ .value = Standardeinstellung für Erinnerungen bei Aufgaben:
+ .accesskey = a
+event-alarm-time-label =
+ .value = Erinnerungszeitpunkt vor Terminbeginn:
+ .accesskey = u
+task-alarm-time-label =
+ .value = Erinnerungszeitpunkt vor Aufgabenbeginn:
+ .accesskey = o
+category-new-label = Kategorie hinzufügen
+category-edit-label = Kategorie bearbeiten
+category-overwrite-title = Warnung: Doppelter Name
+category-overwrite = Eine Kategorie mit diesem Namen existiert bereits. Wollen Sie diese überschreiben?
+category-blank-warning = Sie müssen einen Kategorienamen eingeben.
diff --git a/l10n-de/calendar/chrome/calendar/calendar-alarms.properties b/l10n-de/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..ffb4b2a2e7
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,39 @@
+# 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 = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=Sobald der Termin beginnt
+reminderTitleAtStartTask=Sobald die Aufgabe beginnt
+reminderTitleAtEndEvent=Sobald der Termin endet
+reminderTitleAtEndTask=Sobald die Aufgabe endet
+
+# 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 unit*
+reminderSnoozeOkA11y=Zurückstellen für %1$S
+
+reminderCustomOriginBeginBeforeEvent=bevor der Termin beginnt
+reminderCustomOriginBeginAfterEvent=nachdem der Termin beginnt
+reminderCustomOriginEndBeforeEvent=bevor der Termin endet
+reminderCustomOriginEndAfterEvent=nachdem der Termin endet
+reminderCustomOriginBeginBeforeTask=bevor die Aufgabe beginnt
+reminderCustomOriginBeginAfterTask=nachdem die Aufgabe beginnt
+reminderCustomOriginEndBeforeTask=bevor die Aufgabe endet
+reminderCustomOriginEndAfterTask=nachdem die Aufgabe endet
+
+reminderErrorMaxCountReachedEvent=Der gewählte Kalender hat eine Begrenzung auf #1 Erinnerung pro Termin.;Der gewählte Kalender hat eine Begrenzung auf #1 Erinnerungen pro Termin.
+reminderErrorMaxCountReachedTask=Der gewählte Kalender hat eine Begrenzung auf #1 Erinnerung pro Aufgabe.;Der gewählte Kalender hat eine Begrenzung auf #1 Erinnerungen pro Aufgabe.
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calendars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=Erinnerungen für schreibgeschützte Kalender können derzeit nicht zurückgestellt werden, sie können nur geschlossen werden - die Schaltfläche "%1$S" stellt nur zurück, wenn der verwendete Kalender nicht schreibgeschützt ist.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=Erinnerungen für schreibgeschützte Kalender können nicht zurückgestellt werden.
diff --git a/l10n-de/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/l10n-de/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..4921fe9fa6
--- /dev/null
+++ b/l10n-de/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 = Benötigter Teilnehmer
+event.attendee.role.optional = Optionaler Teilnehmer
+event.attendee.role.nonparticipant = Kein Teilnehmer
+event.attendee.role.chair = Leitung
+event.attendee.role.unknown = Unbekannter Teilnehmer (%1$S)
+
+event.attendee.usertype.individual = Person
+event.attendee.usertype.group = Gruppe
+event.attendee.usertype.resource = Ressource
+event.attendee.usertype.room = Raum
+event.attendee.usertype.unknown = Unbekannter Typ (%1$S)
diff --git a/l10n-de/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-de/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..56a4026e8e
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,433 @@
+<!-- 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 "Eintrag bearbeiten">
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Terminlänge beim Ändern des Enddatums beibehalten">
+<!ENTITY event.dialog.keepDurationButton.accesskey "h">
+
+<!ENTITY newevent.from.label "Beginn">
+<!ENTITY newevent.to.label "Ende">
+
+<!ENTITY newevent.status.label "Status">
+<!ENTITY newevent.status.accesskey "S">
+<!ENTITY newevent.eventStatus.none.label "Nicht angegeben">
+<!ENTITY newevent.eventStatus.none.accesskey "N" >
+<!ENTITY newevent.todoStatus.none.label "Nicht angegeben">
+<!ENTITY newevent.eventStatus.cancelled.label "Abgesagt">
+<!ENTITY newevent.eventStatus.cancelled.accesskey "A" >
+<!ENTITY newevent.todoStatus.cancelled.label "Abgebrochen">
+<!ENTITY newevent.status.tentative.label "Vorläufig">
+<!ENTITY newevent.status.tentative.accesskey "V" >
+<!ENTITY newevent.status.confirmed.label "Bestätigt">
+<!ENTITY newevent.status.confirmed.accesskey "B" >
+<!ENTITY newevent.status.needsaction.label "Benötigt Eingriff">
+<!ENTITY newevent.status.inprogress.label "In Arbeit">
+<!ENTITY newevent.status.completed.label "Abgeschlossen am">
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#037; fertig">
+
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+ event.attendees.disallowcounter.label)
+ - These three labels are displayed side by side in the event dialog, make sure
+ - they still fit in. -->
+<!ENTITY event.attendees.notify.label "Teilnehmer benachrichtigen">
+<!ENTITY event.attendees.notify.accesskey "q">
+<!ENTITY event.attendees.notifyundisclosed.label "Separate Einladung je Teilnehmer">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "j">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Mit dieser Einstellung erhält jeder Teilnehmer eine separate Einladungs-E-Mail. Jede Einladung nennt dabei nur den jeweiligen Empfänger als Teilnehmer, sodass andere Teilnehmer nicht offengelegt werden.">
+<!ENTITY event.attendees.disallowcounter.label "Gegenvorschläge verbieten">
+<!ENTITY event.attendees.disallowcounter.accesskey "v">
+<!ENTITY event.attendees.disallowcounter.tooltip "Weist darauf hin, dass Sie Gegenvorschläge nicht akzeptieren werden">
+
+<!-- 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 "Neu">
+<!ENTITY event.menu.item.new.accesskey "N">
+<!ENTITY event.menu.item.new.event.label "Termin">
+<!ENTITY event.menu.item.new.event.accesskey "T">
+<!ENTITY event.menu.item.new.task.label "Aufgabe">
+<!ENTITY event.menu.item.new.task.accesskey "u">
+<!ENTITY event.menu.item.new.message.label "Nachricht">
+<!ENTITY event.menu.item.new.message.accesskey "a">
+<!ENTITY event.menu.item.new.contact.label "Kontakt">
+<!ENTITY event.menu.item.new.contact.accesskey "K">
+<!ENTITY event.menu.item.close.label "Schließen">
+<!ENTITY event.menu.item.close.accesskey "c">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.save.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a dialog window.
+ - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.save.label "Speichern">
+<!ENTITY event.menu.item.save.accesskey "p">
+<!ENTITY event.menu.item.save.tab.accesskey "x">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.saveandclose.label "Speichern und schließen">
+<!ENTITY event.menu.item.saveandclose.accesskey "s">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "i">
+
+<!ENTITY event.menu.item.delete.label "Löschen…">
+<!ENTITY event.menu.item.delete.accesskey "L">
+<!ENTITY event.menu.item.page.setup.label "Seite einrichten">
+<!ENTITY event.menu.item.page.setup.accesskey "e">
+<!ENTITY event.menu.item.print.label "Drucken">
+<!ENTITY event.menu.item.print.accesskey "D">
+
+<!ENTITY event.menu.edit.label "Bearbeiten">
+<!ENTITY event.menu.edit.accesskey "B">
+<!ENTITY event.menu.edit.undo.label "Rückgängig">
+<!ENTITY event.menu.edit.undo.accesskey "R">
+<!ENTITY event.menu.edit.redo.label "Wiederherstellen">
+<!ENTITY event.menu.edit.redo.accesskey "W">
+<!ENTITY event.menu.edit.cut.label "Ausschneiden">
+<!ENTITY event.menu.edit.cut.accesskey "A">
+<!ENTITY event.menu.edit.copy.label "Kopieren">
+<!ENTITY event.menu.edit.copy.accesskey "K">
+<!ENTITY event.menu.edit.paste.label "Einfügen">
+<!ENTITY event.menu.edit.paste.accesskey "i">
+<!ENTITY event.menu.edit.select.all.label "Alles auswählen">
+<!ENTITY event.menu.edit.select.all.accesskey "u">
+
+<!ENTITY event.menu.view.label "Ansicht">
+<!ENTITY event.menu.view.accesskey "A">
+<!ENTITY event.menu.view.toolbars.label "Symbolleisten">
+<!ENTITY event.menu.view.toolbars.accesskey "S">
+<!ENTITY event.menu.view.toolbars.event.label "Termin-Symbolleiste">
+<!ENTITY event.menu.view.toolbars.event.accesskey "T">
+<!ENTITY event.menu.view.toolbars.customize.label "Anpassen…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "A">
+<!ENTITY event.menu.view.showlink.label "Zugehörigen Link anzeigen">
+<!ENTITY event.menu.view.showlink.accesskey "Z">
+
+<!ENTITY event.menu.options.label "Einstellungen">
+<!ENTITY event.menu.options.accesskey "E">
+<!ENTITY event.menu.options.attendees.label "Teilnehmer einladen…">
+<!ENTITY event.menu.options.attendees.accesskey "T">
+<!ENTITY event.menu.options.timezone2.label "Zeitzonen anzeigen">
+<!ENTITY event.menu.options.timezone2.accesskey "Z">
+<!ENTITY event.menu.options.priority2.label "Priorität">
+<!ENTITY event.menu.options.priority2.accesskey "P">
+<!ENTITY event.menu.options.priority.notspecified.label "Nicht angegeben">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "a">
+<!ENTITY event.menu.options.priority.low.label "Niedrig">
+<!ENTITY event.menu.options.priority.low.accesskey "i">
+<!ENTITY event.menu.options.priority.normal.label "Normal">
+<!ENTITY event.menu.options.priority.normal.accesskey "N">
+<!ENTITY event.menu.options.priority.high.label "Hoch">
+<!ENTITY event.menu.options.priority.high.accesskey "H">
+<!ENTITY event.menu.options.privacy.label "Privatsphäre">
+<!ENTITY event.menu.options.privacy.accesskey "r">
+<!ENTITY event.menu.options.privacy.public.label "Öffentlicher Termin">
+<!ENTITY event.menu.options.privacy.public.accesskey "Ö">
+<!ENTITY event.menu.options.privacy.confidential.label "Nur Zeit und Datum anzeigen">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "N">
+<!ENTITY event.menu.options.privacy.private.label "Privater Termin">
+<!ENTITY event.menu.options.privacy.private.accesskey "r">
+<!ENTITY event.menu.options.show.time.label "Zeit anzeigen als">
+<!ENTITY event.menu.options.show.time.accesskey "a">
+<!ENTITY event.menu.options.show.time.busy.label "Beschäftigt">
+<!ENTITY event.menu.options.show.time.busy.accesskey "B">
+<!ENTITY event.menu.options.show.time.free.label "Verfügbar">
+<!ENTITY event.menu.options.show.time.free.accesskey "V">
+
+<!ENTITY event.invite.attendees.label "Teilnehmer einladen…">
+<!ENTITY event.invite.attendees.accesskey "T">
+<!ENTITY event.email.attendees.label "E-Mail an alle Teilnehmer erstellen…">
+<!ENTITY event.email.attendees.accesskey "a">
+<!ENTITY event.email.tentative.attendees.label "E-Mail an unentschlossene Teilnehmer erstellen…">
+<!ENTITY event.email.tentative.attendees.accesskey "u">
+<!ENTITY event.remove.attendees.label2 "Alle Teilnehmer entfernen">
+<!ENTITY event.remove.attendees.accesskey "e">
+<!ENTITY event.remove.attendee.label "Teilnehmer entfernen">
+<!ENTITY event.remove.attendee.accesskey "n">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Speichern">
+<!ENTITY event.toolbar.saveandclose.label "Speichern und schließen">
+<!ENTITY event.toolbar.delete.label "Löschen">
+<!ENTITY event.toolbar.attendees.label "Teilnehmer einladen">
+<!ENTITY event.toolbar.privacy.label "Privatsphäre">
+
+<!ENTITY event.toolbar.save.tooltip2 "Speichern">
+<!ENTITY event.toolbar.saveandclose.tooltip "Speichern und schließen">
+<!ENTITY event.toolbar.delete.tooltip "Löschen">
+<!ENTITY event.toolbar.attendees.tooltip "Teilnehmer einladen">
+<!ENTITY event.toolbar.attachments.tooltip "Anhänge anfügen">
+<!ENTITY event.toolbar.privacy.tooltip "Privatsphäre ändern">
+<!ENTITY event.toolbar.priority.tooltip "Priorität ändern">
+<!ENTITY event.toolbar.status.tooltip "Status ändern">
+<!ENTITY event.toolbar.freebusy.tooltip "Frei/Gebucht-Informationen ändern">
+
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+ - This is only visible in the UI if you have received a counterproposal before and are going to
+ - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+ - populate the form fields in the dialog, there's no other immediate action on clicking like with
+ - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+ - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+<!ENTITY counter.button.proposal.label "Vorschlag anwenden">
+<!ENTITY counter.button.proposal.accesskey "n">
+<!ENTITY counter.button.proposal.tooltip2 "Die Werte des Gegenvorschlags werden in die Felder des Termins eingefügt. Nur das Speichern mit oder ohne zusätzliche Änderungen wird alle Teilnehmer darüber informieren.">
+<!ENTITY counter.button.original.label "Ursprüngliche Daten verwenden">
+<!ENTITY counter.button.original.accesskey "U">
+<!ENTITY counter.button.original.tooltip2 "Die Werte des ursprünglichen Termins bevor der Gegenvorschlag gemacht wurde werden in die Felder eingefügt.">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Titel:">
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Ort:">
+<!ENTITY event.location.accesskey "O">
+<!ENTITY event.categories.label "Kategorie:">
+<!ENTITY event.categories.accesskey "i">
+<!ENTITY event.categories.textbox.label "Neue Kategorie anlegen">
+<!ENTITY event.calendar.label "Kalender:">
+<!ENTITY event.calendar.accesskey "K">
+<!ENTITY event.attendees.label "Teilnehmer:">
+<!ENTITY event.attendees.accesskey "l">
+<!ENTITY event.alldayevent.label "Ganztägig">
+<!ENTITY event.alldayevent.accesskey "z">
+<!ENTITY event.from.label "Beginn:">
+<!ENTITY event.from.accesskey "g">
+<!ENTITY task.from.label "Beginn:">
+<!ENTITY task.from.accesskey "g">
+<!ENTITY event.to.label "Ende:">
+<!ENTITY event.to.accesskey "n">
+<!ENTITY task.to.label "Fällig:">
+<!ENTITY task.to.accesskey "F">
+<!ENTITY task.status.label "Status:">
+<!ENTITY task.status.accesskey "S">
+<!ENTITY event.repeat.label "Wiederholen:">
+<!ENTITY event.repeat.accesskey "W">
+<!ENTITY event.until.label "Serienende:">
+<!ENTITY event.until.accesskey "d">
+<!ENTITY event.reminder.label "Erinnerung:">
+<!ENTITY event.reminder.accesskey "r">
+<!ENTITY event.description.label "Beschreibung:">
+<!ENTITY event.description.accesskey "c">
+<!ENTITY event.attachments.label "Anhänge:">
+<!ENTITY event.attachments.accesskey "ä">
+<!ENTITY event.attachments.menubutton.label "Anhängen">
+<!ENTITY event.attachments.menubutton.accesskey "ä">
+<!ENTITY event.attachments.url.label "Webseite…">
+<!ENTITY event.attachments.url.accesskey "W">
+<!ENTITY event.attachments.popup.remove.label "Löschen">
+<!ENTITY event.attachments.popup.remove.accesskey "L">
+<!ENTITY event.attachments.popup.open.label "Öffnen">
+<!ENTITY event.attachments.popup.open.accesskey "Ö">
+<!ENTITY event.attachments.popup.removeAll.label "Alles löschen">
+<!ENTITY event.attachments.popup.removeAll.accesskey "A">
+<!ENTITY event.attachments.popup.attachPage.label "Webseite anhängen…">
+<!ENTITY event.attachments.popup.attachPage.accesskey "W">
+<!ENTITY event.url.label "Zugehöriger Link:">
+<!ENTITY event.priority2.label "Priorität:">
+
+<!ENTITY event.reminder.none.label "Keine Erinnerung ">
+<!ENTITY event.reminder.0minutes.before.label "0 Minuten vorher" >
+<!ENTITY event.reminder.5minutes.before.label "5 Minuten vorher">
+<!ENTITY event.reminder.15minutes.before.label "15 Minuten vorher">
+<!ENTITY event.reminder.30minutes.before.label "30 Minuten vorher">
+<!ENTITY event.reminder.1hour.before.label "1 Stunde vorher">
+<!ENTITY event.reminder.2hours.before.label "2 Stunden vorher">
+<!ENTITY event.reminder.12hours.before.label "12 Stunden vorher">
+<!ENTITY event.reminder.1day.before.label "1 Tag vorher">
+<!ENTITY event.reminder.2days.before.label "2 Tage vorher">
+<!ENTITY event.reminder.1week.before.label "1 Woche vorher">
+<!ENTITY event.reminder.custom.label "Benutzerdefiniert…">
+
+<!ENTITY event.reminder.multiple.label "Mehrere Erinnerungen…">
+
+<!ENTITY event.statusbarpanel.freebusy.label "Zeit als:">
+<!ENTITY event.statusbarpanel.privacy.label "Privatsphäre:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Wiederholung bearbeiten">
+
+<!ENTITY event.repeat.does.not.repeat.label "Wiederholt sich nicht">
+<!ENTITY event.repeat.daily.label "Täglich">
+<!ENTITY event.repeat.weekly.label "Wöchentlich">
+<!ENTITY event.repeat.every.weekday.label "Jeden Werktag">
+<!ENTITY event.repeat.bi.weekly.label "Alle 2 Wochen">
+<!ENTITY event.repeat.monthly.label "Monatlich">
+<!ENTITY event.repeat.yearly.label "Jährlich">
+<!ENTITY event.repeat.custom.label "Benutzerdefiniert…">
+
+<!ENTITY event.recurrence.pattern.label "Wiederholungsschema">
+<!ENTITY event.recurrence.occurs.label "Wiederhole">
+<!ENTITY event.recurrence.day.label "täglich">
+<!ENTITY event.recurrence.week.label "wöchentlich">
+<!ENTITY event.recurrence.month.label "monatlich">
+<!ENTITY event.recurrence.year.label "jährlich">
+
+<!ENTITY event.recurrence.pattern.every.label "Jeden">
+<!ENTITY repeat.units.days.both "Tag">
+<!ENTITY event.recurrence.pattern.every.weekday.label "Jeden Werktag">
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Jede">
+<!ENTITY repeat.units.weeks.both "Woche">
+<!ENTITY event.recurrence.on.label "Am:">
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Jeden">
+<!ENTITY repeat.units.months.both "Monat(e)">
+<!ENTITY event.recurrence.monthly.every.label "Jeden">
+<!ENTITY event.recurrence.monthly.first.label "Am ersten">
+<!ENTITY event.recurrence.monthly.second.label "Am zweiten">
+<!ENTITY event.recurrence.monthly.third.label "Am dritten">
+<!ENTITY event.recurrence.monthly.fourth.label "Am vierten">
+<!ENTITY event.recurrence.monthly.fifth.label "Am fünften">
+<!ENTITY event.recurrence.monthly.last.label "Am letzten">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Sonntag">
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Montag">
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Dienstag">
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Mittwoch">
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Donnerstag">
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Freitag">
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Samstag">
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Tag des Monats">
+<!ENTITY event.recurrence.repeat.recur.label "Wiederholung an Tag(en)">
+
+<!ENTITY event.recurrence.every.label "Jedes">
+<!ENTITY repeat.units.years.both "Jahr">
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Jeden">
+
+<!-- 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 "Januar">
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Februar">
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "März">
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "April">
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Mai">
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Juni">
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Juli">
+<!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 "Oktober">
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "November">
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Dezember">
+<!ENTITY event.recurrence.yearly.every.label "Jeden">
+<!ENTITY event.recurrence.yearly.first.label "Am ersten">
+<!ENTITY event.recurrence.yearly.second.label "Am zweiten">
+<!ENTITY event.recurrence.yearly.third.label "Am dritten">
+<!ENTITY event.recurrence.yearly.fourth.label "Am vierten">
+<!ENTITY event.recurrence.yearly.fifth.label "Am fünften">
+<!ENTITY event.recurrence.yearly.last.label "Am letzten">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Sonntag">
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Montag">
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Dienstag">
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Mittwoch">
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Donnerstag">
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Freitag">
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "Samstag">
+<!ENTITY event.recurrence.pattern.yearly.day.label "Tag" >
+<!ENTITY event.recurrence.of.label "im">
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Januar">
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Februar">
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "März">
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "April">
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Mai">
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Juni">
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Juli">
+<!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 "Oktober">
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "November">
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Dezember">
+
+<!ENTITY event.recurrence.range.label "Bereich der Wiederholung">
+<!ENTITY event.recurrence.forever.label "Kein Enddatum">
+<!ENTITY event.recurrence.repeat.for.label "Erstelle">
+<!ENTITY event.recurrence.appointments.label "Termin(e)">
+<!ENTITY event.repeat.until.label "Wiederhole bis">
+<!ENTITY event.recurrence.preview.label "Vorschau">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Teilnehmer einladen">
+<!ENTITY event.organizer.label "Organisator">
+<!ENTITY event.freebusy.suggest.slot "Zeitfenster vorschlagen:">
+<!ENTITY event.freebusy.button.next.slot "Nächstes Zeitfenster">
+<!ENTITY event.freebusy.button.previous.slot "Früheres Zeitfenster">
+<!ENTITY event.freebusy.zoom "Zoom:">
+<!ENTITY event.freebusy.legend.free "Verfügbar">
+<!ENTITY event.freebusy.legend.busy "Beschäftigt">
+<!ENTITY event.freebusy.legend.busy_tentative "Vorläufig" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Außer Haus" >
+<!ENTITY event.freebusy.legend.unknown "Keine Information">
+<!ENTITY event.attendee.role.required "Benötigter Teilnehmer">
+<!ENTITY event.attendee.role.optional "Optionaler Teilnehmer">
+<!ENTITY event.attendee.role.chair "Leitung">
+<!ENTITY event.attendee.role.nonparticipant "Kein Teilnehmer">
+<!ENTITY event.attendee.usertype.individual "Person">
+<!ENTITY event.attendee.usertype.group "Gruppe">
+<!ENTITY event.attendee.usertype.resource "Ressource">
+<!ENTITY event.attendee.usertype.room "Raum">
+<!ENTITY event.attendee.usertype.unknown "Unbekannt">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Bitte geben Sie die Zeitzone an">
+<!ENTITY event.timezone.custom.label "Mehr Zeitzonen…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "Allgemein">
+<!ENTITY read.only.title.label "Titel:">
+<!ENTITY read.only.calendar.label "Kalender:">
+<!ENTITY read.only.event.start.label "Beginn:">
+<!ENTITY read.only.task.start.label "Beginn:">
+<!ENTITY read.only.event.end.label "Ende:">
+<!ENTITY read.only.task.due.label "Fällig:">
+<!ENTITY read.only.repeat.label "Wiederholen:">
+<!ENTITY read.only.location.label "Ort:">
+<!ENTITY read.only.category.label "Kategorie:">
+<!ENTITY read.only.organizer.label "Organisator:">
+<!ENTITY read.only.reply.label "Antwort:">
+<!ENTITY read.only.accept.label "Ich nehme teil">
+<!ENTITY read.only.decline.label "Ich nehme nicht teil">
+<!ENTITY read.only.tentative.label "Ich nehme eventuell teil">
+<!ENTITY read.only.needs.action.label "Ich bestätige später">
+<!ENTITY read.only.reminder.label "Erinnerung:">
+<!ENTITY read.only.attachments.label "Anhänge:">
+<!ENTITY read.only.attendees.label "Teilnehmer">
+<!ENTITY read.only.description.label "Beschreibung">
+<!ENTITY read.only.link.label "Zugehöriger Link">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Speichern und schließen">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Änderungen speichern und Fenster schließen, ohne Teilnahmestatus zu ändern und ohne Antwort zu senden">
+<!ENTITY summary.dialog.accept.label "Annehmen">
+<!ENTITY summary.dialog.accept.tooltiptext "Einladung annehmen">
+<!ENTITY summary.dialog.tentative.label "Vorläufig">
+<!ENTITY summary.dialog.tentative.tooltiptext "Einladung vorläufig annehmen">
+<!ENTITY summary.dialog.decline.label "Ablehnen">
+<!ENTITY summary.dialog.decline.tooltiptext "Einladung ablehnen">
+<!ENTITY summary.dialog.dontsend.label "Keine Antwort senden">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Teilnahmestatus ändern, ohne Antwort an Organisator zu senden, und Fenster schließen">
+<!ENTITY summary.dialog.send.label "Antwort jetzt senden">
+<!ENTITY summary.dialog.send.tooltiptext "Antwort an Organisator senden und Fenster schließen">
diff --git a/l10n-de/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-de/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..29f78fce8c
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# 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=jeden Tag;alle #1 Tage
+repeatDetailsRuleDaily4=jeden Werktag
+
+# 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=jeden %1$S;alle #2 Wochen am %1$S
+weeklyNthOnNounclass2=jeden %1$S;alle #2 Wochen am %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=jede Woche;alle #1 Wochen
+
+# 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=Sonntag
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=Montag
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Dienstag
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Mittwoch
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Donnerstag
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Freitag
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=Samstag
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=und
+
+# 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 jedes Monats;%1$S jedes #2. Monats
+monthlyRuleNthOfEveryNounclass2=%1$S jedes Monats;%1$S jedes #2. Monats
+
+# 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=jeden %1$S jedes Monats;jeden %1$S jedes #2. Monats
+monthlyEveryOfEveryNounclass2=jeden %1$S jedes Monats;jeden %1$S jedes #2. Monats
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+monthlyDaysOfNth_day=am Tag %1$S;an den Tagen %1$S
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=%1$S jedes Monats;%1$S jedes #2. Monats
+
+# 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=am letzten Tag des Monats; am letzten Tag jedes #1. Monats
+
+# 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=jeden Tag jedes Monats;jeden Tag jedes #2. Monats
+
+# 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=am ersten
+repeatOrdinal2Nounclass1=am zweiten
+repeatOrdinal3Nounclass1=am dritten
+repeatOrdinal4Nounclass1=am vierten
+repeatOrdinal5Nounclass1=am fünften
+repeatOrdinal-1Nounclass1=am letzten
+repeatOrdinal1Nounclass2=am ersten
+repeatOrdinal2Nounclass2=am zweiten
+repeatOrdinal3Nounclass2=am dritten
+repeatOrdinal4Nounclass2=am vierten
+repeatOrdinal5Nounclass2=am fünften
+repeatOrdinal-1Nounclass2=am letzten
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+yearlyNthOn=jedes Jahr am %2$S %1$S;alle #3 Jahre am %2$S %1$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=jedes Jahr %1$S %2$S im %3$S;alle #4 Jahre %1$S %2$S im %3$S
+yearlyNthOnNthOfNounclass2=jedes Jahr %1$S %2$S im %3$S;alle #4 Jahre %1$S %2$S im %3$S
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...):
+# 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=jeden %1$S im %2$S;alle #3 Jahre jeden %1$S im %2$S
+yearlyOnEveryNthOfNthNounclass2=jeden %1$S im %2$S;alle #3 Jahre jeden %1$S im %2$S
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+yearlyEveryDayOf=jeden Tag im %1$S;alle #2 Jahre jeden Tag im %1$S
+
+repeatDetailsMonth1=Januar
+repeatDetailsMonth2=Februar
+repeatDetailsMonth3=März
+repeatDetailsMonth4=April
+repeatDetailsMonth5=Mai
+repeatDetailsMonth6=Juni
+repeatDetailsMonth7=Juli
+repeatDetailsMonth8=August
+repeatDetailsMonth9=September
+repeatDetailsMonth10=Oktober
+repeatDetailsMonth11=November
+repeatDetailsMonth12=Dezember
+
+# 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=Wiederholt sich %1$S\nab dem %2$S für #5 Wiederholungen\nvon %3$S to %4$S.;Wiederholt sich %1$S\nab dem %2$S für #5 Wiederholungen\nvon %3$S bis %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=Wiederholt sich %1$S\nab dem %2$S für #3 Wiederholung.;Wiederholt sich %1$S\nab dem %2$S für #3 Wiederholungen.
+
+# 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=Wiederholt sich %1$S\nab dem %2$S bis %3$S\nvon %4$S bis %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 monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=Wiederholt sich %1$S\nab dem %2$S bis %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 monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=Wiederholt sich %1$S\nab dem %2$S\nvon %3$S bis %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 monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+repeatDetailsInfiniteAllDay=Wiederholt sich %1$S\nab dem %2$S.
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+monthlyLastDay=am letzten Tag
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=Für Details hier klicken
+
+# 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=Wiederholungsdetails unbekannt
+
+# differences between the dialog for an Event or a Task
+newEvent=Neuer Termin
+newTask=Neue Aufgabe
+itemMenuLabelEvent=Termin
+itemMenuAccesskeyEvent2=m
+itemMenuLabelTask=Aufgabe
+itemMenuAccesskeyTask2=u
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Bitte geben Sie die Link-Adresse an
+enterLinkLocation=Bitte geben Sie eine Website oder den Speicherort eines Dokuments ein.
+
+summaryDueTaskLabel=Fällig:
+
+# Attach File Dialog
+attachViaFilelink=Datei mit %1$S
+selectAFile=Bitte anzuhängende Datei(en) auswählen
+removeCalendarsTitle=Anhänge löschen
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=Möchten Sie wirklich #1 Anhang löschen?;Möchten Sie wirklich #1 Anhänge löschen?
+
+# 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=Sonntag
+repeatDetailsDay2Plural=Montag
+repeatDetailsDay3Plural=Dienstag
+repeatDetailsDay4Plural=Mittwoch
+repeatDetailsDay5Plural=Donnerstag
+repeatDetailsDay6Plural=Freitag
+repeatDetailsDay7Plural=Samstag
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+eventRecurrenceForeverLabel=Keins
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
+eventRecurrenceMonthlyLastDayLabel=Letzter Tag
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S hat die Einladung angenommen, aber einen Gegenvorschlag gemacht:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S hat die Einladung abgelehnt, aber einen Gegenvorschlag gemacht:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S hat die Einladung weitergeleitet, aber einen Gegenvorschlag gemacht:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S hat sich noch nicht zur Teilnahme geäußert und einen Gegenvorschlag gemacht:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S hat eine vorläufige Zusage zur Teilnahme gegeben und einen Gegenvorschlag gemacht:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Dies ist ein Gegenvorschlag für eine ältere Version des Termins.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Sie haben das Einreichen von Gegenvorschlägen beim Senden der Einladung verboten.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Sie haben die Einladung angenommen.
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Sie haben eine vorläufige Zusage zur Teilnahme gegeben.
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Sie haben die Einladung abgelehnt.
+
+# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her participation to one
+# or more other participants (without attending / working on it his/herself)
+eventDelegated=Sie haben die Einladung weitergeleitet.
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=Sie haben sich noch nicht zur Teilnahme geäußert.
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Sie haben zugesagt, diese Aufgabe zu übernehmen.
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Sie haben vorläufig zugesagt, diese Aufgabe zu übernehmen.
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Sie haben abgelehnt, diese Aufgabe zu übernehmen.
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignement to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=Sie haben die Übernahme dieser Aufgabe weitergeleitet.
+
+# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to the task assignment
+taskNeedsAction=Sie haben sich noch nicht zur Übernahme dieser Aufgabe geäußert.
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Sie haben mit der Arbeit an dieser durch Sie verantworteten Aufgabe begonnen.
+
+# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification
+# in the summary dialog if the user has completed the work on this assigned task
+taskCompleted=Sie haben die Arbeit an dieser durch Sie verantworteten Aufgabe abgeschlossen.
+
+# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for
+# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonLabel=Senden und schließen
+
+# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for
+# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonTooltip=Teilnehmer benachrichtigen und schließen
+
+# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for
+# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonLabel=Senden und speichern
+
+# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement
+# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonTooltip=Speichern und Teilnehmer benachrichtigen
+
+# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for
+# event.menu.item.save.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendMenuLabel=Senden und speichern
+
+# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for
+# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+sendandcloseMenuLabel=Senden und schließen
+
+# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for
+# event.attendees.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attendee
+# %1$S - the number of attendee (1-n)
+attendeesTabLabel=Teilnehmer (%1$S):
+
+# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for
+# event.attachments.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attachment
+# %1$S - the number of attachments (1-n)
+attachmentsTabLabel=Anhänge (%1$S):
diff --git a/l10n-de/calendar/chrome/calendar/calendar-extract.properties b/l10n-de/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..293c684e42
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# 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:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet.
+# patterns. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix = von | vom | ab | zwischen | beginnt | beginnt am | beginnt gegen | beginnt um
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = bis | - | bis um | bis zum | bis gegen | und
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes followed by these are extracted as end times
+end.prefix = bis | - | bis um | bis zum | bis gegen | bis am | und | fällig: | Fällig: | fällig | endet | endet am | endet gegen | endet um | Deadline ist der | Deadline ist um | Deadline:
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+no.datetime.prefix = letzte Woche | Email | E-Mail | außer | anstatt |anstatt des | anstelle | anstelle des | an Stelle des | > | unglücklicherweise | leider | nicht | Hausnummer | Kanal | Reihe | Flur | Etage | Stockwerk
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes follwed by these won't be used
+no.datetime.suffix = gesendet | geschickt | Hausnummer | Kanal | Reihe | Flur | Etage | Stockwerk | : | Email | E-Mail | > | % | USD | Dollars | $ | EUR | Euro
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = heute
+
+from.tomorrow = morgen
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow = bis morgen | - morgen
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+# should not have "#1" as this would match any single number in email to a time
+from.ordinal.date = #1.
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = Mittag | mittags
+until.noon = bis Mittag | - Mittag | bis mittags | - mittags
+
+# LOCALIZATION NOTE (from.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should not have "#1" as this would match any single number in email to a time
+from.hour = um #1 | gegen #1 | von #1 | von etwa #1 | von ungefähr #1 | ab #1 | ab etwa #1 | ab ungefähr #1 | zwischen #1 | #1 - | #1 bis
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour = - #1 | bis #1 | bis etwa #1 | bis ungefähr #1 | und #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am =
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.pm =
+
+# LOCALIZATION NOTE (until.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = halb #1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before = bis halb #1 | - halb #1
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = #1 Uhr dreißig | #1:30 Uhr
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after = bis #1 Uhr dreißig | bis #1:30 Uhr | - #1 Uhr dreißig | - #1:30 Uhr
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | #1 Uhr #2
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes = - #1:#2 | bis #1:#2 | und #1:#2
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.am =
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.pm =
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+from.monthname.day = #1 #2 | #1. #2
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day = - #1 #2 | bis #1 #2 | und #1 #2 | - #1. #2 | bis #1. #2 | und #1. #2
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #1.#2.
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day = - #1.#2. | bis #1.#2. | und #1.#2. | - #1 #2. | bis #1 #2. | und #1 #2.
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+from.year.month.day = #1/#2/#3 | #3/#2/#1 | #3-#2-#1 | #1.#2.#3 | #1-#2-#3
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day = - #1/#2/#3 | - #3/#2/#1 | - #3-#2-#1 | - #1.#2.#3 | - #1-#2-#3 | bis #1/#2/#3 | bis #3/#2/#1 | bis #3-#2-#1 | bis #1.#2.#3 | bis #1-#2-#3 | und #1/#2/#3 | und #3/#2/#1 | und #3-#2-#1 | und #1.#2.#3 | und #1-#2-#3
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+from.year.monthname.day = #1 #2 #3 | #1. #2 #3
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day = - #1 #2 #3 | - #1. #2 #3 | bis #1 #2 #3 | bis #1. #2 #3 | und #1 #2 #3 | und #1. #2 #3
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = #1 Minuten | #1 Min | #1 Min. | #1 min | #1 mins
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 Stunde | #1 Stunden
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 Tag | #1 Tage | #1 Tagen
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = Januar | Jan | Jan.
+month.2 = Februar | Feb | Feb.
+month.3 = März | Mär | Mär.
+month.4 = April | Apr | Apr.
+month.5 = Mai
+month.6 = Juni | Jun | Jun.
+month.7 = Juli | Jul | Jul.
+month.8 = August | Aug | Aug.
+month.9 = September | Sep | Sep. | Sept.
+month.10 = Oktober | Okt | Okt.
+month.11 = November | Nov | Nov.
+month.12 = Dezember | Dez | Dez.
+
+# LOCALIZATION NOTE (from.weekday.*):
+# used to derive start date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (from.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+from.weekday.0 = Sonntag | Sonntags | sonntags
+from.weekday.1 = Montag | Montags | montags
+from.weekday.2 = Dienstag | Dienstags | dienstags
+from.weekday.3 = Mittwoch | Mittwochs | mittwochs
+from.weekday.4 = Donnerstag | Donnerstags | donnerstags
+from.weekday.5 = Freitag | Freitags | freitags
+from.weekday.6 = Samstag | Samstags | samstags
+
+# LOCALIZATION NOTE (until.weekday.*):
+# used to derive end date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (until.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+until.weekday.0 = bis Sonntag | - Sonntag | und Sonntag | bis Sonntags | - Sonntags | und Sonntags | bis sonntags | - sonntags | und sonntags
+until.weekday.1 = bis Montag | - Montag | und Montag | bis Montags | - Montags | und Montags | bis montags | - montags | und montags
+until.weekday.2 = bis Dienstag | - Dienstag | und Dienstag | bis Dienstags | - Dienstags | und Dienstags | bis dienstags | - dienstags | und dienstags
+until.weekday.3 = bis Mittwoch | - Mittwoch | und Mittwoch | bis Mittwochs | - Mittwochs | und Mittwochs | bis mittwochs | - mittwochs | und mittwochs
+until.weekday.4 = bis Donnerstag | - Donnerstag | und Donnerstag | bis Donnerstags | - Donnerstags | und Donnerstags | bis donnerstags | - donnerstags | und donnerstags
+until.weekday.5 = bis Freitag | - Freitag | und Freitag | bis Freitags | - Freitags | und Freitags | bis freitags | - freitags | und freitags
+until.weekday.6 = bis Samstag | - Samstag | und Samstag | bis Samstags | - Samstags | und Samstags | bis samstags | - samstags | und samstags
+
+# LOCALIZATION NOTE (number.*):
+# used within other patterns to understand dates where day of month isn't written with digits
+# can be a list of values, separate variants by |
+number.0 = null
+number.1 = eine | einen | eins | erste | ersten | erstem
+number.2 = zwei | zweite | zweiten | zweitem
+number.3 = drei | dritte | dritten | drittem
+number.4 = vier | vierte | vierten | viertem
+number.5 = fünf | fünfte | fünften | fünftem
+number.6 = sechs | sechste | sechsten | sechstem
+number.7 = sieben | siebte | siebten | siebtem
+number.8 = acht | achte | achten | achtem
+number.9 = neun | neunte | neunten | neuntem
+number.10 = zehn | zehnte | zehnten | zehntem
+number.11 = elf | elfte | elften | elftem
+number.12 = zwölf | zwölfte | zwölften | zwölftem
+number.13 = dreizehn | dreizehnte | dreizehnten | dreizehntem
+number.14 = vierzehn | vierzehnte | vierzehnten | vierzehntem
+number.15 = fünfzehn | fünfzehnte | fünfzehnten | fünfzehntem
+number.16 = sechzehn | sechzehnte | sechzehnten | sechzehntem
+number.17 = siebzehn | siebzehnte | siebzehnten | siebzehntem
+number.18 = achtzehn | achtzehnte | achtzehnten | achtzehntem
+number.19 = neunzehn | neunzehnte | neunzehnten | neunzehntem
+number.20 = zwanzig | zwanzigste | zwanzigsten | zwanzigstem
+number.21 = einundzwanzig | einundzwanzigste | einundzwanzigsten | einundzwanzigstem
+number.22 = zweiundzwanzig | zweiundzwanzigste | zweiundzwanzigsten | zweiundzwanzigstem
+number.23 = dreiundzwanzig | dreiundzwanzigste | dreiundzwanzigsten | dreiundzwanzigstem
+number.24 = vierundzwanzig | vierundzwanzigste | vierundzwanzigsten | vierundzwanzigstem
+number.25 = fünfundzwanzig | fünfundzwanzigste | fünfundzwanzigsten | fünfundzwanzigstem
+number.26 = sechsundzwanzig | sechsundzwanzigste | sechsundzwanzigsten | sechsundzwanzigstem
+number.27 = siebenundzwanzig | siebenundzwanzigste | siebenundzwanzigsten | siebenundzwanzigstem
+number.28 = achtundzwanzig | achtundzwanzigste | achtundzwanzigsten | achtundzwanzigstem
+number.29 = neunundzwanzig | neunundzwanzigste | neunundzwanzigsten | neunundzwanzigstem
+number.30 = dreißig | dreißigste | dreißigsten | dreißigstem
+number.31 = einunddreißig | einunddreißigste | einunddreißigsten | einunddreißigstem
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
diff --git a/l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..44434d394f
--- /dev/null
+++ b/l10n-de/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 "Einladungen">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Liste der Einladungen aktualisieren.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Keine unbestätigten Einladungen gefunden.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Annehmen">
+<!ENTITY calendar.invitations.list.decline.button.label "Ablehnen">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Wiederholender Termin">
+<!ENTITY calendar.invitations.list.alldayevent.text "Ganztägig">
+<!ENTITY calendar.invitations.list.location.text "Ort: ">
+<!ENTITY calendar.invitations.list.organizer.text "Organisator: ">
+<!ENTITY calendar.invitations.list.attendee.text "Teilnehmer: ">
+<!ENTITY calendar.invitations.list.none.text "keine">
diff --git a/l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.properties b/l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..618cb2a694
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar-invitations-dialog.properties
@@ -0,0 +1,10 @@
+# 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/.
+
+allday-event=Ganztägig
+recurrent-event=Wiederholender Termin
+location=Ort: %S
+organizer=Organisator: %S
+attendee=Teilnehmer: %S
+none=keine
diff --git a/l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..d0ff802fa4
--- /dev/null
+++ b/l10n-de/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 "d">
+<!ENTITY buttons.allfollowing.accesskey "z">
+<!ENTITY buttons.parent.accesskey "a">
diff --git a/l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..f2ea11477d
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar-occurrence-prompt.properties
@@ -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/.
+
+header.isrepeating.event.label=ist ein sich wiederholender Termin
+header.isrepeating.task.label=ist eine sich wiederholende Aufgabe
+
+header.containsrepeating.event.label=enthält sich wiederholende Termine
+header.containsrepeating.task.label=enthält sich wiederholende Aufgaben
+header.containsrepeating.mixed.label=enthält sich wiederholende Einträge verschiedener Art
+
+windowtitle.event.copy=Sich wiederholenden Termin kopieren
+windowtitle.task.copy=Sich wiederholende Aufgabe kopieren
+windowtitle.mixed.copy=Sich wiederholende Einträge kopieren
+windowtitle.event.cut=Sich wiederholenden Termin ausschneiden
+windowtitle.task.cut=Sich wiederholende Aufgabe ausschneiden
+windowtitle.mixed.cut=Sich wiederholende Einträge ausschneiden
+windowtitle.event.delete=Sich wiederholenden Termin löschen
+windowtitle.task.delete=Sich wiederholende Aufgabe löschen
+windowtitle.mixed.delete=Sich wiederholende Einträge löschen
+windowtitle.event.edit=Sich wiederholenden Termin bearbeiten
+windowtitle.task.edit=Sich wiederholende Aufgabe bearbeiten
+
+buttons.occurrence.delete.label=Nur diesen Termin löschen
+buttons.occurrence.edit.label=Nur diesen Termin bearbeiten
+
+buttons.allfollowing.delete.label=Diesen und alle zukünftigen Termine löschen
+buttons.allfollowing.edit.label=Diesen und alle zukünftigen Termine bearbeiten
+
+buttons.parent.delete.label=Alle Termine löschen
+buttons.parent.edit.label=Alle Termine bearbeiten
+windowtitle.mixed.edit=Sich wiederholende Einträge bearbeiten
+windowtitle.multipleitems=Ausgewählte Einträge
+
+buttons.single.occurrence.copy.label=Nur diesen Termin kopieren
+buttons.single.occurrence.cut.label=Nur diesen Termin ausschneiden
+buttons.single.occurrence.delete.label=Nur diesen Termin löschen
+buttons.single.occurrence.edit.label=Nur diesen Termin bearbeiten
+
+buttons.multiple.occurrence.copy.label=Nur ausgewählte Termine kopieren
+buttons.multiple.occurrence.cut.label=Nur ausgewählte Termine ausschneiden
+buttons.multiple.occurrence.delete.label=Nur ausgewählte Termine löschen
+buttons.multiple.occurrence.edit.label=Nur ausgewählte Termine bearbeiten
+
+buttons.single.allfollowing.copy.label=Diesen und zukünftige Termine kopieren
+buttons.single.allfollowing.cut.label=Diesen und zukünftige Termine ausschneiden
+buttons.single.allfollowing.delete.label=Diesen und zukünftige Termine löschen
+buttons.single.allfollowing.edit.label=Diesen und zukünftige Termine bearbeiten
+
+buttons.multiple.allfollowing.copy.label=Ausgewählte und zukünftige Termine kopieren
+buttons.multiple.allfollowing.cut.label=Ausgewählte und zukünftige Termine ausschneiden
+buttons.multiple.allfollowing.delete.label=Ausgewählte und zukünftige Termine löschen
+buttons.multiple.allfollowing.edit.label=Ausgewählte und zukünftige Termine bearbeiten
+
+buttons.single.parent.copy.label=Alle Termine kopieren
+buttons.single.parent.cut.label=Alle Termine ausschneiden
+buttons.single.parent.delete.label=Alle Termine löschen
+buttons.single.parent.edit.label=Alle Termine bearbeiten
+
+buttons.multiple.parent.copy.label=Alle Termine der ausgewählten Einträge kopieren
+buttons.multiple.parent.cut.label=Alle Termine der ausgewählten Einträge ausschneiden
+buttons.multiple.parent.delete.label=Alle Termine der ausgewählten Einträge löschen
+buttons.multiple.parent.edit.label=Alle Termine der ausgewählten Einträge bearbeiten
diff --git a/l10n-de/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/l10n-de/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 0000000000..57ce2564ef
--- /dev/null
+++ b/l10n-de/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 "Kalender abonnieren">
+<!ENTITY calendar.subscriptions.dialog.search.label.value "Nach Kalendern suchen:">
+<!ENTITY calendar.subscriptions.dialog.search.button.label "Suchen">
+<!ENTITY calendar.subscriptions.dialog.select.label.value "Kalender auswählen, die abonniert werden sollen:">
+<!ENTITY calendar.subscriptions.dialog.subscribe.button.label "Abonnieren">
+<!ENTITY calendar.subscriptions.dialog.unsubscribe.button.label "Abbestellen">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.busy.label "Suchen…">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.nomatches.label "Keine Übereinstimmungen gefunden.">
diff --git a/l10n-de/calendar/chrome/calendar/calendar.dtd b/l10n-de/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..0ed6dac9cb
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,412 @@
+<!-- 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 "Kalender">
+<!ENTITY calendar.calendar.accesskey "K">
+
+<!ENTITY calendar.newevent.button.tooltip "Neuen Termin erstellen">
+<!ENTITY calendar.newtask.button.tooltip "Neue Aufgabe erstellen">
+
+<!ENTITY calendar.unifinder.todoitems.label "Aufgaben">
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Abgeschlossene anzeigen">
+
+<!ENTITY calendar.today.button.label "Heute">
+<!ENTITY calendar.tomorrow.button.label "Morgen">
+<!ENTITY calendar.upcoming.button.label "Demnächst">
+
+<!ENTITY calendar.events.filter.all.label "Alle Termine">
+<!ENTITY calendar.events.filter.today.label "Heutige Termine">
+<!ENTITY calendar.events.filter.future.label "Alle zukünftigen Termine">
+<!ENTITY calendar.events.filter.current.label "Momentan gewählter Tag">
+<!ENTITY calendar.events.filter.currentview.label "Termine in der aktuellen Ansicht">
+<!ENTITY calendar.events.filter.next7Days.label "Termine in den nächsten 7 Tagen">
+<!ENTITY calendar.events.filter.next14Days.label "Termine in den nächsten 14 Tagen">
+<!ENTITY calendar.events.filter.next31Days.label "Termine in den nächsten 31 Tagen">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Termine in diesem Kalendermonat">
+
+<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip)
+ - This label and tooltip is used for the column with the checkbox in the
+ - task tree view. -->
+<!ENTITY calendar.unifinder.tree.done.label "Fertig">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Nach Fertig sortieren">
+<!ENTITY calendar.unifinder.tree.priority.label "Priorität">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Nach Priorität sortieren">
+<!ENTITY calendar.unifinder.tree.title.label "Titel">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Nach Titel sortieren">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "&#037; fertig">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Nach &#037; fertig sortieren">
+<!ENTITY calendar.unifinder.tree.startdate.label "Beginn">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Nach Beginn sortieren">
+<!ENTITY calendar.unifinder.tree.enddate.label "Ende">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Nach Ende sortieren">
+<!ENTITY calendar.unifinder.tree.duedate.label "Fällig">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Nach Fällig sortieren">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Abgeschlossen">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Nach Abgeschlossen sortieren">
+<!ENTITY calendar.unifinder.tree.categories.label "Kategorie">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Nach Kategorie sortieren">
+<!ENTITY calendar.unifinder.tree.location.label "Ort">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Nach Ort sortieren">
+<!ENTITY calendar.unifinder.tree.status.label "Status">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Nach Status sortieren">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Kalendername">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Nach Kalendername sortieren">
+<!ENTITY calendar.unifinder.tree.duration.label "Fällig in">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Nach Fällig in sortieren">
+<!ENTITY calendar.unifinder.close.tooltip "Terminsuche/-liste schließen">
+
+<!ENTITY calendar.today.button.tooltip "Zu Heute wechseln">
+<!ENTITY calendar.todaypane.button.tooltip "Tagesplan anzeigen">
+
+<!ENTITY calendar.day.button.tooltip "Zur Tagesansicht wechseln">
+<!ENTITY calendar.week.button.tooltip "Zur Wochenansicht wechseln">
+<!ENTITY calendar.month.button.tooltip "Zur Monatsansicht wechseln">
+<!ENTITY calendar.multiweek.button.tooltip "Zur mehrwöchigen Ansicht wechseln">
+
+<!ENTITY calendar.nextday.label "Nächster Tag">
+<!ENTITY calendar.prevday.label "Vorheriger Tag">
+<!ENTITY calendar.nextday.accesskey "N" >
+<!ENTITY calendar.prevday.accesskey "V" >
+<!ENTITY calendar.nextweek.label "Nächste Woche">
+<!ENTITY calendar.prevweek.label "Vorherige Woche">
+<!ENTITY calendar.nextweek.accesskey "N" >
+<!ENTITY calendar.prevweek.accesskey "V" >
+<!ENTITY calendar.nextmonth.label "Nächster Monat">
+<!ENTITY calendar.prevmonth.label "Vorheriger Monat">
+<!ENTITY calendar.nextmonth.accesskey "N" >
+<!ENTITY calendar.prevmonth.accesskey "V" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "Einen Tag vor">
+<!ENTITY calendar.navigation.prevday.tooltip "Einen Tag zurück">
+<!ENTITY calendar.navigation.nextweek.tooltip "Eine Woche vor">
+<!ENTITY calendar.navigation.prevweek.tooltip "Eine Woche zurück">
+<!ENTITY calendar.navigation.nextmonth.tooltip "Einen Monat vor" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "Einen Monat zurück">
+
+<!ENTITY calendar.newevent.button.label "Neuer Termin">
+<!ENTITY calendar.newtask.button.label "Neue Aufgabe">
+<!ENTITY calendar.print.button.label "Drucken">
+<!ENTITY calendar.print.button.accesskey "D">
+
+<!ENTITY calendar.day.button.label "Tag">
+<!ENTITY calendar.week.button.label "Woche">
+<!ENTITY calendar.month.button.label "Monat">
+<!ENTITY calendar.multiweek.button.label "Mehrere Wochen">
+<!ENTITY calendar.onlyworkday.checkbox.label "Nur Werktage">
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "N">
+<!ENTITY calendar.displaytodos.checkbox.label "Aufgaben in der Ansicht">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "f">
+<!ENTITY calendar.completedtasks.checkbox.label "Abgeschlossene Aufgaben anzeigen">
+<!ENTITY calendar.completedtasks.checkbox.accesskey "g">
+
+<!ENTITY calendar.orientation.label "Ansicht rotieren">
+<!ENTITY calendar.orientation.accesskey "o">
+
+<!ENTITY calendar.search.options.searchfor " enthält">
+
+<!ENTITY calendar.list.header.label "Kalender">
+
+<!ENTITY calendar.task.filter.title.label "Anzeigen">
+<!ENTITY calendar.task.filter.all.label "Alle">
+<!ENTITY calendar.task.filter.all.accesskey "A">
+<!ENTITY calendar.task.filter.today.label "Heute">
+<!ENTITY calendar.task.filter.today.accesskey "H">
+<!ENTITY calendar.task.filter.next7days.label "Nächste sieben Tage">
+<!ENTITY calendar.task.filter.next7days.accesskey "N">
+<!ENTITY calendar.task.filter.notstarted.label "Zukünftige Aufgaben">
+<!ENTITY calendar.task.filter.notstarted.accesskey "Z">
+<!ENTITY calendar.task.filter.overdue.label "Überfällige Aufgaben">
+<!ENTITY calendar.task.filter.overdue.accesskey "Ü">
+<!ENTITY calendar.task.filter.completed.label "Abgeschlossene Aufgaben">
+<!ENTITY calendar.task.filter.completed.accesskey "b">
+<!ENTITY calendar.task.filter.open.label "Offene Aufgaben">
+<!ENTITY calendar.task.filter.open.accesskey "O">
+
+<!-- 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 "Aktuelle Aufgaben">
+<!ENTITY calendar.task.filter.current.accesskey "u">
+
+<!ENTITY calendar.task-details.title.label "Titel">
+<!ENTITY calendar.task-details.organizer.label "Organisator">
+<!ENTITY calendar.task-details.priority.label "Priorität">
+<!ENTITY calendar.task-details.priority.low.label "Niedrig">
+<!ENTITY calendar.task-details.priority.normal.label "Normal">
+<!ENTITY calendar.task-details.priority.high.label "Hoch">
+<!ENTITY calendar.task-details.status.label "Status">
+<!ENTITY calendar.task-details.category.label "Kategorie">
+<!ENTITY calendar.task-details.repeat.label "Wiederholung">
+<!ENTITY calendar.task-details.attachments.label "Anhänge">
+<!ENTITY calendar.task-details.start.label "Beginn">
+<!ENTITY calendar.task-details.due.label "Fällig">
+
+<!ENTITY calendar.task.category.button.tooltip "Aufgaben kategorisieren">
+<!ENTITY calendar.task.complete.button.tooltip "Ausgewählte Aufgaben als abgeschlossen markieren">
+<!ENTITY calendar.task.priority.button.tooltip "Priorität ändern">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Aufgaben suchen #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;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "Öffnen">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "Ö">
+<!ENTITY calendar.context.modifyorviewtask.label "Aufgabe öffnen…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "ö">
+<!ENTITY calendar.context.newevent.label "Neuer Termin…">
+<!ENTITY calendar.context.newevent.accesskey "T">
+<!ENTITY calendar.context.newtodo.label "Neue Aufgabe…">
+<!ENTITY calendar.context.newtodo.accesskey "U">
+<!ENTITY calendar.context.deletetask.label "Aufgabe löschen">
+<!ENTITY calendar.context.deletetask.accesskey "l">
+<!ENTITY calendar.context.deleteevent.label "Termin löschen">
+<!ENTITY calendar.context.deleteevent.accesskey "l">
+<!ENTITY calendar.context.cutevent.label "Ausschneiden">
+<!ENTITY calendar.context.cutevent.accesskey "A">
+<!ENTITY calendar.context.copyevent.label "Kopieren">
+<!ENTITY calendar.context.copyevent.accesskey "K">
+<!ENTITY calendar.context.pasteevent.label "Einfügen">
+<!ENTITY calendar.context.pasteevent.accesskey "E">
+<!ENTITY calendar.context.button.label "Tagesplan">
+<!ENTITY calendar.context.button.accesskey "T">
+
+<!ENTITY calendar.context.attendance.menu.label "Teilnahme" >
+<!ENTITY calendar.context.attendance.menu.accesskey "n" >
+<!ENTITY calendar.context.attendance.occurrence.label "Dieses Ereignis" >
+<!ENTITY calendar.context.attendance.all.label "Alle Ereignisse" >
+
+<!ENTITY calendar.context.attendance.all2.label "Gesamte Terminreihe">
+<!ENTITY calendar.context.attendance.send.label "Benachrichtigung jetzt senden">
+<!ENTITY calendar.context.attendance.send.accesskey "B">
+<!ENTITY calendar.context.attendance.dontsend.label "Keine Benachrichtigung senden">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "K">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "Z">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Zugesagt">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "V">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Vorläufig zugesagt">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "g">
+<!ENTITY calendar.context.attendance.occ.declined.label "Abgelehnt">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "W">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Weitergeleitet">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "E">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Entscheidung erforderlich">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "B">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "In Bearbeitung">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "s">
+<!ENTITY calendar.context.attendance.occ.completed.label "Abgeschlossen">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "u">
+<!ENTITY calendar.context.attendance.all.accepted.label "Zugesagt">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "o">
+<!ENTITY calendar.context.attendance.all.tentative.label "Vorläufig zugesagt">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "h">
+<!ENTITY calendar.context.attendance.all.declined.label "Abgelehnt">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "r">
+<!ENTITY calendar.context.attendance.all.delegated.label "Weitergeleitet">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "k">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Aktion nötig">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "n">
+<!ENTITY calendar.context.attendance.all.inprogress.label "In Arbeit">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "o">
+<!ENTITY calendar.context.attendance.all.completed.label "Abgeschlossen">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Fortschritt">
+<!ENTITY calendar.context.progress.accesskey "F">
+<!ENTITY calendar.context.priority.label "Priorität">
+<!ENTITY calendar.context.priority.accesskey "P">
+<!ENTITY calendar.context.postpone.label "Aufgabe aufschieben">
+<!ENTITY calendar.context.postpone.accesskey "g">
+
+<!ENTITY percnt "&#37;"><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Als abgeschlossen markieren">
+<!ENTITY calendar.context.markcompleted.accesskey "o">
+
+<!ENTITY progress.level.0 "0&percnt; fertig">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "25&percnt; fertig">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "50&percnt; fertig">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "75&percnt; fertig">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "100&percnt; fertig">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "Nicht angegeben">
+<!ENTITY priority.level.none.accesskey "a">
+<!ENTITY priority.level.low "Niedrig">
+<!ENTITY priority.level.low.accesskey "N">
+<!ENTITY priority.level.normal "Normal">
+<!ENTITY priority.level.normal.accesskey "o">
+<!ENTITY priority.level.high "Hoch">
+<!ENTITY priority.level.high.accesskey "H">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 Stunde">
+<!ENTITY calendar.context.postpone.1hour.accesskey "S">
+<!ENTITY calendar.context.postpone.1day.label "1 Tag">
+<!ENTITY calendar.context.postpone.1day.accesskey "T">
+<!ENTITY calendar.context.postpone.1week.label "1 Woche">
+<!ENTITY calendar.context.postpone.1week.accesskey "W">
+
+<!ENTITY calendar.copylink.label "Link-Adresse kopieren">
+<!ENTITY calendar.copylink.accesskey "z">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "Löschen">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Neuer Kalender…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "Kalender suchen…">
+<!ENTITY calendar.context.findcalendar.accesskey "S">
+<!ENTITY calendar.context.deleteserver2.label "Kalender löschen…">
+<!ENTITY calendar.context.deleteserver2.accesskey "Ö">
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+<!ENTITY calendar.context.removeserver.label "Kalender entfernen…">
+<!ENTITY calendar.context.removeserver.accesskey "R">
+<!ENTITY calendar.context.unsubscribeserver.label "Kalender abbestellen…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "B">
+<!ENTITY calendar.context.synccalendars.label "Kalender synchronisieren">
+<!ENTITY calendar.context.synccalendars.accesskey "L">
+<!ENTITY calendar.context.publish.label "Kalender publizieren…">
+<!ENTITY calendar.context.publish.accesskey "K">
+<!ENTITY calendar.context.export.label "Kalender exportieren…">
+<!ENTITY calendar.context.export.accesskey "X">
+<!ENTITY calendar.context.properties.label "Eigenschaften">
+<!ENTITY calendar.context.properties.accesskey "E">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "a">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "a">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "U">
+<!ENTITY calendar.context.showall.label "Alle Kalender anzeigen">
+<!ENTITY calendar.context.showall.accesskey "D">
+
+<!ENTITY calendar.context.convertmenu.label "Umwandeln in">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "m">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "w">
+<!ENTITY calendar.context.convertmenu.event.label "Termin…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "T">
+<!ENTITY calendar.context.convertmenu.message.label "Nachricht…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "N">
+<!ENTITY calendar.context.convertmenu.task.label "Aufgabe…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "A">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Monatsübersicht">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "n">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Kalenderliste">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "l">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Aufgaben suchen">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "s">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Ort:">
+<!ENTITY calendar.alarm.details.label "Details…">
+
+<!ENTITY calendar.alarm.snoozefor.label "Zurückstellen für">
+<!ENTITY calendar.alarm.snoozeallfor.label "Alle zurückstellen für">
+<!ENTITY calendar.alarm.title.label "Kalendererinnerungen">
+<!ENTITY calendar.alarm.dismiss.label "Schließen">
+<!ENTITY calendar.alarm.dismissall.label "Alle schließen">
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 Minuten">
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 Minuten">
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 Minuten">
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 Minuten">
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 Minuten">
+<!ENTITY calendar.alarm.snooze.1hour.label "1 Stunde">
+<!ENTITY calendar.alarm.snooze.2hours.label "2 Stunden">
+<!ENTITY calendar.alarm.snooze.1day.label "1 Tag">
+
+<!-- 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 "Zurückstellen abbrechen">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Kalender bearbeiten">
+<!ENTITY calendar.server.dialog.name.label "Kalendername:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Farbe:">
+<!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 "Adresse:">
+<!ENTITY calendarproperties.refreshInterval.label "Kalender aktualisieren:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Manuell">
+<!ENTITY calendarproperties.name.label "Name:">
+<!ENTITY calendarproperties.readonly.label "Schreibgeschützt">
+<!ENTITY calendarproperties.firealarms.label "Erinnerungen anzeigen">
+<!ENTITY calendarproperties.cache3.label "Offline-Unterstützung">
+<!ENTITY calendarproperties.enabled.label "Diesen Kalender aktivieren">
+<!ENTITY calendarproperties.enabled2.label "Diesen Kalender aktivieren">
+<!ENTITY calendarproperties.forceDisabled.label "Der Provider für diesen Kalender konnte nicht gefunden werden. Ursache hierfür ist häufig, dass Sie bestimmte Add-ons deaktiviert oder deinstalliert haben.">
+<!ENTITY calendarproperties.unsubscribe.label "Abbestellen">
+<!ENTITY calendarproperties.unsubscribe.accesskey "A">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Kalender veröffentlichen">
+<!ENTITY calendar.publish.url.label "URL zum Publizieren">
+<!ENTITY calendar.publish.publish.button "Publizieren">
+<!ENTITY calendar.publish.close.button "Schließen">
+
+<!ENTITY calendar.publish.example.url.description "Beispiel: http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Kalender auswählen">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "Einen Kalender drucken">
+<!ENTITY calendar.print.title.label "Titel:">
+<!ENTITY calendar.print.layout.label "Layout:">
+<!ENTITY calendar.print.range.label "Druckauswahl">
+<!ENTITY calendar.print.currentView2.label "Aktuelle Ansicht">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Markierte Termine/Aufgaben">
+<!ENTITY calendar.print.tasks.label "Aufgaben">
+<!ENTITY calendar.print.events.label "Termine">
+<!ENTITY calendar.print.custom.label "Benutzerdefinierter Zeitraum:">
+<!ENTITY calendar.print.from.label "Beginn:">
+<!ENTITY calendar.print.to.label "Ende:">
+<!ENTITY calendar.print.settingsGroup.label "Druckeinstellungen">
+<!ENTITY calendar.print.optionsGroup.label "Einstellungen">
+<!ENTITY calendar.print.taskswithnoduedate.label "Aufgaben ohne Fälligkeitsdatum">
+<!ENTITY calendar.print.completedtasks.label "Abgeschlossene Aufgaben">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Details…">
+<!ENTITY calendar.error.code "Fehlercode:">
+<!ENTITY calendar.error.description "Beschreibung:">
+<!ENTITY calendar.error.title "Ein Fehler ist aufgetreten">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Als Termin eintragen">
+<!ENTITY calendar.extract.task.button "Als Aufgabe eintragen">
+<!ENTITY calendar.extract.event.button.tooltip "Kalenderinformationen aus der Nachricht auslesen und als Termin zum Kalender hinzufügen">
+<!ENTITY calendar.extract.task.button.tooltip "Kalenderinformationen aus der Nachricht auslesen und als Aufgabe zum Kalender hinzufügen">
diff --git a/l10n-de/calendar/chrome/calendar/calendar.properties b/l10n-de/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 0000000000..79dfbf8199
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,820 @@
+# 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=Druckvorschau von %1$S
+Untitled=Unbenannt
+
+# Default name for new events
+newEvent=Neuer Termin
+
+# Titles for the event/task dialog
+newEventDialog=Neuer Termin
+editEventDialog=Termin bearbeiten
+newTaskDialog=Neue Aufgabe
+editTaskDialog=Aufgabe bearbeiten
+
+# Do you want to save changes?
+askSaveTitleEvent=Termin speichern
+askSaveTitleTask=Aufgabe speichern
+askSaveMessageEvent=Der Termin wurde noch nicht gespeichert. Möchten Sie ihn speichern?
+askSaveMessageTask=Die Aufgabe wurde noch nicht gespeichert. Möchten Sie sie speichern?
+
+# Event Dialog Warnings
+warningEndBeforeStart=Das eingegebene Enddatum liegt vor dem Startdatum.
+warningUntilDateBeforeStart=Das eingegebene Enddatum dieser Serie liegt vor dem Startdatum.
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Privat
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Unbenannter Kalender
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Vorläufig
+statusConfirmed =Bestätigt
+eventStatusCancelled=Abgesagt
+todoStatusCancelled =Abgebrochen
+statusNeedsAction =Benötigt Eingriff
+statusInProcess =In Arbeit
+statusCompleted =Abgeschlossen
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Hoch
+normalPriority=Normal
+lowPriority=Niedrig
+
+importPrompt=In welchen Kalender wollen Sie diese Einträge importieren?
+exportPrompt=Aus welchem Kalender wollen Sie exportieren?
+pastePrompt=In welchen nicht schreibgeschützten Kalender soll eingefügt werden?
+publishPrompt=Welchen Kalender wollen Sie publizieren?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Es wird ein Termin eingefügt.
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Es werden Termine eingefügt.
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Es wird eine zugewiesene Aufgabe eingefügt.
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Es werden zugewiesene Aufgaben eingefügt.
+# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among
+# others also assigned task(s) and meeting invitation(s) - this is used as a affix
+# in pasteNotifyAbout
+pasteItemsAlso=Es werden Termine und zugewiesene Aufgaben eingefügt.
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Es wird ein Termin eingefügt.
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Es werden Termine eingefügt.
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Es wird eine zugewiesene Aufgabe eingefügt.
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Es werden zugewiesene Aufgaben eingefügt.
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Es werden Termine und zugewiesene Aufgaben eingefügt.
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S Soll eine Aktualisierung an alle Beteiligten gesendet werden?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Einfügen und jetzt senden
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Einfügen ohne zu senden
+
+# 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 Einträge konnten nicht importiert werden. Die letzte Fehlermeldung war: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=Import aus %1$S fehlgeschlagen. Es gibt keine importierbaren Einträge in der Datei.
+
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=Import aus %1$S nicht möglich. Es gibt keine importierbaren Einträge in der Datei.
+
+#spaces needed at the end of the following lines
+eventDescription=Beschreibung:
+
+unableToRead=Konnte nicht von Datei lesen:
+unableToWrite=Konnte nicht in Datei schreiben:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Mozilla Kalender
+
+# 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=Es wurde eine unbekannte und undefinierte Zeitzone beim Lesen von %1$S gefunden.
+
+# 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 Eintrag/Einträge wurden ignoriert, da sie sowohl im Ziel-Kalender als auch in %2$S existieren.
+
+unableToCreateProvider=Beim Bereitstellen des Kalenders mit der Adresse %1$S ist ein Fehler aufgetreten. Er wird nicht verfügbar sein.
+unknownTimezonesError=Beim Bereitstellen des Kalenders mit der Adresse %1$S ist ein Fehler aufgetreten. Der Kalender könnte auf unbekannte Zeitzonen verweisen. Bitte installieren Sie die neueste calendar-timezones.xpi.
+missingCalendarTimezonesError=Keine Zeitzonen gefunden! Bitte calendar-timezones.xpi installieren.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Unbekannte Zeitzone "%1$S" in "%2$S". Verwendet wird stattdessen die Zeitzone "Lokale Zeit": %3$S
+TimezoneErrorsAlertTitle=Zeitzonenfehler
+TimezoneErrorsSeeConsole=Vergleiche Fehlerkonsole: Für unbekannte Zeitzonen wird die Zeitzone "Lokale Zeit" verwendet.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Kalender entfernen
+removeCalendarButtonDelete=Kalender löschen
+removeCalendarButtonUnsubscribe=Abbestellen
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Möchten Sie den Kalender "%1$S" entfernen? Durch Abbestellen wird der Kalender aus der Kalenderliste entfernt, durch Löschen werden auch die Daten dieses Kalenders endgültig gelöscht.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=Möchten Sie den Kalender "%1$S" endgültig löschen?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=Möchten Sie den Kalender "%1$S" abbestellen?
+
+WeekTitle=Woche %1$S
+None=Keine
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+tooNewSchemaErrorBoxTitle=Ihre Kalenderdaten sind nicht kompatibel mit dieser Version von %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=Die Kalenderdaten in Ihrem Profil wurden durch eine neuere Version von %1$S aktualisiert. Ein Fortfahren wird wahrscheinlich einen Datenverlust oder -fehler hervorrufen. %1$S wird nun deaktiviert und %2$S neu gestartet.
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=%1$S neu starten
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=%1$S beenden
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+
+# LOCALIZATION NOTE (tooNewSchemaErrorText):
+# %1$S will be replaced with the name of the host application, e.g. 'Thunderbird'
+# %2$S will be replaced with the name of the new copy of the file, e.g. 'local-2020-05-11T21-30-17.sqlite'
+tooNewSchemaErrorText=Ihre Kalenderdaten sind nicht kompatibel mit dieser Version von %1$S. Die Kalenderdaten in Ihrem Profil wurden durch eine neuere Version von %1$S aktualisiert. Dabei wurde eine Sicherheitskopie mit dem Dateinamen "%2$S" erstellt. Es wird mit einer neu erstellen Datendatei fortgefahren.
+
+# List of events or todos (unifinder)
+eventUntitled=Ohne Titel
+
+# Tooltips of events or todos
+tooltipTitle=Titel:
+tooltipLocation=Ort:
+# 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=Datum:
+# event calendar name
+tooltipCalName=Kalendername:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Status:
+# event organizer
+tooltipOrganizer=Organisator:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Beginn:
+tooltipDue=Fällig:
+tooltipPriority=Priorität:
+tooltipPercent=% fertig:
+tooltipCompleted=Fertiggestellt:
+
+# Tooltips for attendees and organizer in event and summary dialog
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendee.combined): tooltip for itip icon in summary/event dialog.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of dialog.tooltip.attendeeRole2.*
+# %2$S - value of dialog.tooltip.attendeePartStat2.*
+dialog.tooltip.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.CHAIR): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.CHAIR=%1$S leitet den Termin.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.NON-PARTICIPANT=%1$S nimmt an dem Termin nicht teil.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.OPT-PARTICIPANT=Die Anwesenheit von %1$S ist freiwillig.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.REQ-PARTICIPANT=Die Anwesenheit von %1$S ist notwendig.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.ACCEPTED=%1$S hat die Teilnahme zugesagt.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DECLINED=%1$S hat die Teilnahme abgesagt.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DELEGATED=%1$S hat die Teilnahme übertragen.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.NEEDS-ACTION=%1$S muss noch antworten.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.TENTATIVE=%1$S hat eine vorläufige Zusage zur Teilnahme gegeben.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing individual attendee
+dialog.tooltip.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+dialog.tooltip.attendeeUserType2.GROUP=%1$S (Gruppe)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+dialog.tooltip.attendeeUserType2.RESOURCE=%1$S (Ressource)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+dialog.tooltip.attendeeUserType2.ROOM=%1$S (Raum)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+dialog.tooltip.attendeeUserType2.UNKNOWN=%1$S
+
+#File commands and dialogs
+New=Neu
+Open=Öffnen
+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 Doument (%1$S)
+filterHtml=Webseite (%1$S)
+filterOutlookCsv=Outlook, Komma getrennte Werte (%1$S)
+filterWav=Wave-Sound (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Ein Fehler ist aufgetreten.
+httpPutError=Publizieren der Kalenderdatei fehlgeschlagen.\nStatuscode: %1$S: %2$S
+otherPutError=Publizieren der Kalenderdatei fehlgeschlagen.\nStatuscode: 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=Fehler beim Lesen von Daten für Kalender: %1$S. Er wurde daher in den schreibgeschützten Modus gesetzt, da Änderungen in diesem Kalender wahrscheinlich Datenverlust verursachen. Sie können diese Einstellung ändern, indem Sie "Kalender bearbeiten" wählen.
+
+# 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=Es wurde ein Fehler beim Lesen des Kalenders festgestellt: %1$S. Der Kalender wurde deaktiviert bis er sicher genutzt werden kann.
+
+# 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=Fehler beim Lesen von Daten für Kalender: %1$S. Allerdings ist dieser Fehler wahrscheinlich vernachlässigbar, daher versucht das Programm fortzufahren.
+
+# 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=Fehler beim Lesen von Daten für Kalender: %1$S.
+utf8DecodeError=Ein Fehler ist beim Dekodieren einer iCalendar(ics)-Datei als UTF-8 aufgetreten. Überprüfen Sie, dass die Datei, inklusive Symbolen und akzentierten Buchstaben, mit dem UTF-8-Zeichensatz kodiert ist.
+icsMalformedError=Einlesen einer iCalendar(ics)-Datei fehlgeschlagen. Überprüfen Sie, dass die Datei mit der iCalendar(ics)-Dateisyntax übereinstimmt.
+itemModifiedOnServerTitle=Eintrag wurde auf dem Server geändert
+itemModifiedOnServer=Dieser Eintrag wurde kürzlich auf dem Server geändert.\n
+modifyWillLoseData=Das Übertragen der Änderungen wird die Änderungen, die auf dem Server gemacht wurden, überschreiben.
+deleteWillLoseData=Durch das Löschen dieses Eintrags gehen alle Änderungen auf dem Server verloren.
+updateFromServer=Änderungen verwerfen und neu laden
+proceedModify=Änderungen trotzdem übertragen
+proceedDelete=Trotzdem löschen
+dav_notDav=Die Ressource auf %1$S ist entweder keine DAV-Sammlung oder sie ist nicht verfügbar
+dav_davNotCaldav=Die Ressource auf %1$S ist eine DAV-Sammlung, aber kein CalDAV-Kalender
+itemPutError=Beim Speichern des Eintrags auf dem Server ist ein Fehler aufgetreten.
+itemDeleteError=Beim Löschen des Eintrags vom Server ist ein Fehler aufgetreten.
+caldavRequestError=Beim Senden der Einladung ist ein Fehler aufgetreten.
+caldavResponseError=Beim Senden der Antwort ist ein Fehler aufgetreten.
+caldavRequestStatusCode=Status-Code: %1$S
+caldavRequestStatusCodeStringGeneric=Die Anfrage kann nicht verarbeitet werden.
+caldavRequestStatusCodeString400=Die Anfrage enthält fehlerhafte Syntax und kann nicht verarbeitet werden.
+caldavRequestStatusCodeString403=Der Benutzer verfügt nicht über die notwendigen Rechte, um diese Anfrage auszuführen.
+caldavRequestStatusCodeString404=Ressource nicht gefunden.
+caldavRequestStatusCodeString409=Ressourcen-Konflikt.
+caldavRequestStatusCodeString412=Voraussetzung nicht erfüllt.
+caldavRequestStatusCodeString500=Interner Serverfehler.
+caldavRequestStatusCodeString502=Fehlerhafter Gateway (Proxy-Konfiguration?).
+caldavRequestStatusCodeString503=Interner Serverfehler (temporärer Serverausfall?).
+caldavRedirectTitle=Adresse für Kalender %1$S aktualisieren?
+caldavRedirectText=Die Anfragen für %1$S werden auf eine neue Adresse umgeleitet. Möchten Sie die Adresse durch den folgenden Wert ersetzen?
+caldavRedirectDisableCalendar=Kalender deaktivieren
+
+# 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=Europe/Berlin, Europe/Zurich, Europe/Vienna, Europe/Luxembourg
+
+# 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=Die Zeitzone des Betriebssystems "%1$S"\nstimmt nicht mehr mit der Zeitzone "%2$S" überein.
+
+# "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=Ignoriere für Betriebssystem eingestellte Zeitzone '%1$S'.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Ignoriere lokale Zeitzone '%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=Warnung: Genutzt wird die lokale Zeit.\nEs wurde kein Datensatz der Zeitzonentabellen gefunden, der mit der Zeitzone des Betriebssystems übereinstimmt. Die Zeitzone wird nicht berücksichtigt, bis diese vom Benutzer eingestellt wurde.
+
+# "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=Warnung: Genutzt wird die automatisch bestimmte Zeitzone\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Diese Zeitzone stimmt überwiegend mit der für das Betriebssystem eingestellten Zeitzone überein.\nDemnach erfolgt der nächste Übergang zwischen Sommer- und Winterzeit mit einer Abweichung von höchstens\neiner Woche im Vergleich zu dem von der für das Betriebssystem eingestellten Zeitzone angegebenen Zeitpunkt.\nEs kann Unstimmigkeiten in den Daten geben, wie z.B. abweichende Startdaten,\nsonstige Abweichungen oder Näherungen für Regeln, die nicht dem Gregorianischen Kalender entsprechen.
+
+TZSeemsToMatchOS=Diese Zeitzone scheint dieses Jahr mit der für das Betriebssystem eingestellten Zeitzone übereinzustimmen.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=Diese Zeitzone wurde auf Grundlage der für das Betriebssystem eingestellten Zeitzone\n"%1$S" ausgewählt.
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=Diese Zeitzone wurde aus für deutschsprachige Nutzer wahrscheinlichen Zeitzonen ausgewählt,\ndie mit der für das Betriebssystem eingestellten Zeitzone übereinstimmen.
+
+TZFromKnownTimezones=Diese Zeitzone wurde ausgewählt, indem die bekannten Zeitzonen, in alphabetischer Reihenfolge sortiert nach ihren\nZeitzonenkennungen, nach einer Übereinstimmung mit der für das Betriebssystem eingestellten Zeitzone durchsucht wurden.
+
+# Print Layout
+formatListName = Liste
+weekPrinterName = Wochenplanung
+monthPrinterName = Monatsübersicht
+tasksWithNoDueDate = Aufgaben ohne Fälligkeitsdatum
+
+# Providers
+caldavName=CalDAV
+compositeName=Composite
+icsName=iCalendar (ICS)
+memoryName=Temporär (Speicher)
+storageName=Lokal (SQLite)
+
+# Used in created html code for list layout print and html export
+htmlPrefixTitle=Titel
+htmlPrefixWhen=Wann
+htmlPrefixLocation=Ort
+htmlPrefixDescription=Beschreibung
+htmlTaskCompleted=%1$S (abgeschlossen)
+
+# Categories
+addCategory=Kategorie hinzufügen
+multipleCategories=Mehrere Kategorien
+
+today=Heute
+tomorrow=Morgen
+yesterday=Gestern
+
+#Today pane
+eventsonly=Termine
+eventsandtasks=Termine und Aufgaben
+tasksonly=Aufgaben
+shortcalendarweek=KW
+
+go=Gehe
+
+# 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=nächster
+next2=nächster
+last1=letzter
+last2=letzter
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+alarmWindowTitle.label=#1 Erinnerung;#1 Erinnerungen
+
+# 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=Start: %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=Heute um %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=Morgen um %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=Gestern um %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=Mozilla Standardbeschreibung
+alarmDefaultSummary=Mozilla Standardzusammenfassung
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=Sie können eine Erinnerung nicht länger als #1 Monat zurückstellen.;Sie können eine Erinnerung nicht länger als #1 Monate zurückstellen.
+
+taskDetailsStatusNeedsAction=Benötigt Eingriff
+
+# 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%% fertig
+taskDetailsStatusCompleted=Abgeschlossen
+
+# 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=Abgeschlossen am %1$S
+taskDetailsStatusCancelled=Abgebrochen
+
+gettingCalendarInfoCommon=Überprüfe Kalender…
+
+# 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=Überprüfe Kalender %1$S von %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Fehlercode: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Beschreibung: %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=Beim Schreiben in den Kalender %1$S ist ein Fehler aufgetreten!
+
+errorWriting2=Beim Schreiben in den Kalender %1$S ist ein Fehler aufgetreten! Weitere Informationen stehen weiter unten.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Falls diese Nachricht nach dem Verwenden von "Zurückstellen" oder "Schließen" für eine Erinnerung angezeigt wird, aber Sie für diesen Kalender keine Termine hinzufügen oder bearbeiten wollen, so können Sie diesen Kalender als schreibgeschützt markieren, um diese Mitteilung nicht mehr angezeigt zu bekommen. Klicken Sie dazu mit der rechten Maustaste auf den Kalender in der Kalenderliste der Termin- oder Aufgabenansicht und öffnen Sie die Eigenschaften.
+
+# 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=Der Kalender %1$S ist momentan nicht verfügbar
+
+# 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=Der Kalender %1$S ist schreibgeschützt
+
+taskEditInstructions=Zum Erstellen einer Aufgabe hier klicken
+taskEditInstructionsReadonly=Bitte einen Kalender mit Schreibrechten auswählen
+taskEditInstructionsCapability=Bitte einen Kalender auswählen, der Aufgaben unterstützt
+
+eventDetailsStartDate=Beginn:
+eventDetailsEndDate=Ende:
+
+# 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=Kalenderwoche: %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=Kalenderwochen: %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=KW: %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=KW: %1$S-%2$S
+
+# LOCALIZATION NOTE (abbreviationOfWeek):
+# Used for displaying the week number in the first day box of every week
+# in multiweek and month views.
+# It allows to localize the label with the week number in case your locale
+# requires it.
+# Take into account that this label is placed in the same room of the day label
+# inside the day boxes, exactly on left side, hence a possible string shouldn't
+# be too long otherwise it will create confusion between the week number and
+# the day number other than a possible crop when the window is resized.
+#
+# %1$S is a number from 1 to 53 that represents the week number.
+abbreviationOfWeek=%1$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+dueInDays=#1 Tag;#1 Tagen
+dueInHours=#1 Stunde;#1 Stunden
+dueInLessThanOneHour=< 1 Stunde
+
+# 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 (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S %2$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# 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 possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalInMonth=%2$S – %3$S %1$S %4$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth.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.
+daysIntervalInMonth.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# 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 possibly followed by an ordinal symbol
+# %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 possibly followed by an ordinal symbol
+# %5$S will be replaced with the commmon year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%2$S %1$S – %4$S %3$S %5$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.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.
+daysIntervalBetweenMonths.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# 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 possibly followed by an ordinal symbol
+# %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 possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%2$S %1$S %3$S – %5$S %4$S %6$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.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.
+daysIntervalBetweenYears.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=kein Start oder Fälligkeitsdatum
+# 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=Beginn %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=Fällig %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Beginn um
+dragLabelTasksWithOnlyDueDate=Fällig um
+
+deleteTaskLabel=Aufgabe löschen
+deleteTaskMessage=Möchten Sie diese Aufgabe wirklich löschen?
+deleteTaskAccesskey=l
+deleteItemLabel=Löschen
+deleteItemMessage=Möchten Sie diesen Eintrag wirklich löschen?
+deleteItemAccesskey=L
+deleteEventLabel=Termin löschen
+deleteEventMessage=Möchten Sie diesen Termin wirklich löschen?
+deleteEventAccesskey=l
+
+calendarPropertiesEveryMinute=Jede Minute;Alle #1 Minuten
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=Verwende %1$S
+
+# LOCALIZATION NOTE (extractUsingRegion)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+# %2$S will be replaced with region like US in en-US
+extractUsingRegion=Verwende %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 Minute;#1 Minuten
+unitHours=#1 Stunde;#1 Stunden
+unitDays=#1 Tag;#1 Tage
+unitWeeks=#1 Woche;#1 Wochen
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+showCalendar=%1$S anzeigen
+hideCalendar=%1$S ausblenden
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Nur %1$S anzeigen
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Bearbeitungskonflikt
+modifyConflictPromptMessage=Das im Dialog bearbeitete Ereignis wurde geändert, nachdem der Dialog geöffnet worden ist.
+modifyConflictPromptButton1=Andere Änderungen überschreiben
+modifyConflictPromptButton2=Diese Änderungen verwerfen
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+dialog.attendee.append.delegatedFrom=(übertragen von %1$S)
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+dialog.attendee.append.delegatedTo=(übertragen an %1$S)
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Kein Datum ausgewählt
diff --git a/l10n-de/calendar/chrome/calendar/calendarCreation.dtd b/l10n-de/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..fbd6d49962
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+<!-- 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 "Neuen Kalender erstellen">
+<!ENTITY wizard.label "Einen neuen Kalender erstellen">
+<!ENTITY wizard.description "Ort Ihres Kalenders feststellen">
+
+<!ENTITY initialpage.description "Ihr Kalender kann auf Ihrem Computer oder auf einem Server gespeichert werden, sodass Sie von anderen Orten darauf zugreifen bzw. ihn mit Freunden oder Arbeitskollegen gemeinsam verwenden können.">
+<!ENTITY initialpage.computer.label "Auf meinem Computer">
+<!ENTITY initialpage.network.label "Im Netzwerk">
+
+<!ENTITY locationpage.description "Geben Sie die benötigten Informationen an, um auf Ihren externen Kalender zuzugreifen">
+<!ENTITY locationpage.login.description "Optional: Geben Sie Benutzernamen und Passwort an">
+<!ENTITY locationpage.username.label "Benutzername:">
+<!ENTITY locationpage.password.label "Passwort:">
+
+<!ENTITY custompage.shortdescription "Ihren Kalender anpassen">
+<!ENTITY custompage.longdescription "Sie können Ihrem Kalender einen Namen geben und Ereignisse dieses Kalenders einfärben.">
+
+<!ENTITY finishpage.shortdescription "Kalender erstellt">
+<!ENTITY finishpage.longdescription "Ihr Kalender wurde erstellt.">
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Sonstiges">
+
+<!ENTITY buttons.create.label "Kalender erstellen">
+<!ENTITY buttons.create.accesskey "e">
+
+<!ENTITY buttons.find.label "Kalender suchen">
+<!ENTITY buttons.find.accesskey "s">
+
+<!ENTITY buttons.back.label "Zurück">
+<!ENTITY buttons.back.accesskey "Z">
+
+<!ENTITY buttons.subscribe.label "Abonnieren">
+<!ENTITY buttons.subscribe.accesskey "A">
+
+<!ENTITY calendartype.label "Kalendertyp:">
+<!ENTITY location.label "Adresse:">
+<!ENTITY location.placeholder "Adresse oder Host-Name des Kalender-Servers">
+
+<!ENTITY network.nocredentials.label "Diese Adresse verlangt keine Zugangsdaten.">
+<!ENTITY network.loading.description "Bitte warten, es wird nach Kalendern gesucht.">
+<!ENTITY network.notfound.description "Keine Kalender unter dieser Adresse gefunden. Bitte die Einstellungen überprüfen.">
+<!ENTITY network.authfail.description "Die eingegebenen Zugangsdaten wurden abgelehnt. Bitte die Einstellungen überprüfen.">
+
+<!ENTITY network.subscribe.single.description "Bitte die zu abonnierenden Kalender auswählen.">
+<!ENTITY network.subscribe.multiple.description "Unter dieser Adresse stehen verschiedene Kalendertypen zur Auswahl. Wählen Sie zuerst den Kalendertyp und anschließend die zu abonnierenden Kalender.">
diff --git a/l10n-de/calendar/chrome/calendar/calendarCreation.properties b/l10n-de/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..2373276975
--- /dev/null
+++ b/l10n-de/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=Bitte geben Sie eine gültige Adresse an.
+error.alreadyExists=Den Kalender mit dieser Adresse haben Sie bereits abonniert.
diff --git a/l10n-de/calendar/chrome/calendar/categories.properties b/l10n-de/calendar/chrome/calendar/categories.properties
new file mode 100644
index 0000000000..86e2c1ae9b
--- /dev/null
+++ b/l10n-de/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=Jubiläum,Geburtstag,Geschäft,Anrufe,Klienten,Konkurrenz,Kunde,Favoriten,Nachgehen,Geschenke,Ferien,Ideen,Fragen,Besprechung,Verschiedenes,Persönlich,Projekte,Feiertag,Status,Lieferanten,Reise,Urlaub
diff --git a/l10n-de/calendar/chrome/calendar/dateFormat.properties b/l10n-de/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..88f29aed00
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,146 @@
+# 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=Januar
+month.2.name=Februar
+month.3.name=März
+month.4.name=April
+month.5.name=Mai
+month.6.name=Juni
+month.7.name=Juli
+month.8.name=August
+month.9.name=September
+month.10.name=Oktober
+month.11.name=November
+month.12.name=Dezember
+
+# 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=Januar
+month.2.genitive=Februar
+month.3.genitive=März
+month.4.genitive=April
+month.5.genitive=Mai
+month.6.genitive=Juni
+month.7.genitive=Juli
+month.8.genitive=August
+month.9.genitive=September
+month.10.genitive=Oktober
+month.11.genitive=November
+month.12.genitive=Dezember
+
+month.1.Mmm=Jan
+month.2.Mmm=Feb
+month.3.Mmm=Mär
+month.4.Mmm=Apr
+month.5.Mmm=Mai
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Aug
+month.9.Mmm=Sep
+month.10.Mmm=Okt
+month.11.Mmm=Nov
+month.12.Mmm=Dez
+
+day.1.name=Sonntag
+day.2.name=Montag
+day.3.name=Dienstag
+day.4.name=Mittwoch
+day.5.name=Donnerstag
+day.6.name=Freitag
+day.7.name=Samstag
+
+day.1.Mmm=So
+day.2.Mmm=Mo
+day.3.Mmm=Di
+day.4.Mmm=Mi
+day.5.Mmm=Do
+day.6.Mmm=Fr
+day.7.Mmm=Sa
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=So
+day.2.short=Mo
+day.3.short=Di
+day.4.short=Mi
+day.5.short=Do
+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
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=.
+
+noon=Mittag
+midnight=Mitternacht
+
+AllDay=Ganztägig
+Repeating=(Wiederkehrend)
diff --git a/l10n-de/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/l10n-de/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..1345d84513
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY reminderdialog.title "Erinnerung einrichten">
+<!ENTITY reminder.add.label "Hinzufügen">
+<!ENTITY reminder.add.accesskey "H">
+<!ENTITY reminder.remove.label "Entfernen">
+<!ENTITY reminder.remove.accesskey "F">
+
+<!ENTITY reminder.reminderDetails.label "Erinnerungsdetails">
+<!ENTITY reminder.action.label "Erinnerungsfunktion auswählen">
+
+<!ENTITY reminder.action.alert.label "Erinnerung anzeigen">
+<!ENTITY reminder.action.email.label "E-Mail senden">
+
+<!ENTITY alarm.units.minutes "Minuten" >
+<!ENTITY alarm.units.hours "Stunden" >
+<!ENTITY alarm.units.days "Tage" >
diff --git a/l10n-de/calendar/chrome/calendar/global.dtd b/l10n-de/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..7243651b4c
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,54 @@
+<!-- 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 "Mitternacht">
+<!ENTITY time.noon "Mittag">
+
+<!-- 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 "So">
+<!ENTITY day.1.Ddd.accesskey "S">
+<!ENTITY day.2.Ddd "Mo">
+<!ENTITY day.2.Ddd.accesskey "M">
+<!ENTITY day.3.Ddd "Di">
+<!ENTITY day.3.Ddd.accesskey "D">
+<!ENTITY day.4.Ddd "Mi">
+<!ENTITY day.4.Ddd.accesskey "i">
+<!ENTITY day.5.Ddd "Do">
+<!ENTITY day.5.Ddd.accesskey "o">
+<!ENTITY day.6.Ddd "Fr">
+<!ENTITY day.6.Ddd.accesskey "F">
+<!ENTITY day.7.Ddd "Sa">
+<!ENTITY day.7.Ddd.accesskey "a">
+
+<!ENTITY day.1.name "Sonntag">
+<!ENTITY day.2.name "Montag">
+<!ENTITY day.3.name "Dienstag">
+<!ENTITY day.4.name "Mittwoch">
+<!ENTITY day.5.name "Donnerstag">
+<!ENTITY day.6.name "Freitag">
+<!ENTITY day.7.name "Samstag">
+
+<!ENTITY month.1.name "Januar">
+<!ENTITY month.2.name "Februar">
+<!ENTITY month.3.name "März">
+<!ENTITY month.4.name "April">
+<!ENTITY month.5.name "Mai">
+<!ENTITY month.6.name "Juni">
+<!ENTITY month.7.name "Juli">
+<!ENTITY month.8.name "August">
+<!ENTITY month.9.name "September">
+<!ENTITY month.10.name "Oktober">
+<!ENTITY month.11.name "November">
+<!ENTITY month.12.name "Dezember">
+
+<!ENTITY onemonthbackward.tooltip "Einen Monat zurück">
+<!ENTITY onemonthforward.tooltip "Einen Monat vor">
+<!ENTITY oneyearbackward.tooltip "Ein Jahr zurück" >
+<!ENTITY oneyearforward.tooltip "Ein Jahr vor" >
+<!ENTITY showToday.tooltip "Zu Heute wechseln">
+<!ENTITY onedayforward.tooltip "Einen Tag vor">
+<!ENTITY onedaybackward.tooltip "Einen Tag zurück">
+<!ENTITY showselectedday.tooltip "Termine des ausgewählten Tages anzeigen">
diff --git a/l10n-de/calendar/chrome/calendar/menuOverlay.dtd b/l10n-de/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..4b91a1bae0
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/menuOverlay.dtd
@@ -0,0 +1,49 @@
+<!-- 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 "Neuer Termin…">
+<!ENTITY event.new.event.accesskey "T">
+
+<!ENTITY event.new.task "Neue Aufgabe…">
+<!ENTITY event.new.task.accesskey "u">
+
+<!ENTITY calendar.import.label "Importieren…">
+<!ENTITY calendar.import.accesskey "I">
+
+<!ENTITY calendar.export.label "Exportieren…">
+<!ENTITY calendar.export.accesskey "E">
+
+<!ENTITY calendar.publish.label "Publizieren…">
+<!ENTITY calendar.publish.accesskey "z">
+
+<!ENTITY calendar.deletecalendar.label "Ausgewählten Kalender löschen…">
+<!ENTITY calendar.deletecalendar.accesskey "w">
+<!ENTITY calendar.unsubscribecalendar.label "Ausgewählten Kalender abbestellen…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "b">
+
+<!-- LOCALIZATION NOTE (calendar.removecalendar.label): Removing the calendar
+ is the general action of removing it, while deleting means to clear the
+ data and unsubscribing means just taking it out of the calendar list. -->
+<!ENTITY calendar.removecalendar.label "Ausgewählten Kalender entfernen…">
+<!ENTITY calendar.removecalendar.accesskey "R">
+
+<!ENTITY calendar.menu.customize.label "Anpassen…">
+<!ENTITY calendar.menu.customize.accesskey "A">
+
+<!ENTITY showUnifinderCmd.label "Termine suchen">
+<!ENTITY showUnifinderCmd.accesskey "s">
+<!ENTITY showUnifinderCmd.tooltip "Terminsuche anzeigen/ausblenden">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Aufgaben im Kalender anzeigen">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "A">
+
+<!ENTITY goTodayCmd.label "Heute">
+<!ENTITY goTodayCmd.accesskey "H">
+
+<!ENTITY showCurrentView.label "Aktuelle Ansicht">
+<!ENTITY showCurrentView.accesskey "k">
+
+<!ENTITY calendar.properties.label "Kalender-Eigenschaften…">
+<!ENTITY calendar.properties.accesskey "E">
diff --git a/l10n-de/calendar/chrome/calendar/migration.dtd b/l10n-de/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 0000000000..acf63b1fb9
--- /dev/null
+++ b/l10n-de/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;: Daten-Import">
+<!ENTITY migration.welcome "Willkommen">
+<!ENTITY migration.importing "Importieren">
+<!ENTITY migration.list.description "&brandShortName; kann Kalenderdaten von vielen bekannten Programmen importieren. Es wurden Daten von folgenden Programmen auf Ihrem Computer gefunden. Bitte wählen Sie aus, von welchen Programmen Sie Daten importieren möchten.">
+<!ENTITY migration.progress.description "Importieren der ausgewählten Daten">
diff --git a/l10n-de/calendar/chrome/calendar/migration.properties b/l10n-de/calendar/chrome/calendar/migration.properties
new file mode 100644
index 0000000000..8ac8a9f6a8
--- /dev/null
+++ b/l10n-de/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 = Konvertieren von %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: Daten-Import
+migrationDescription=%1$S kann Kalenderdaten von vielen bekannten Programmen importieren. Es wurden Daten von folgenden Programmen auf Ihrem Computer gefunden. Bitte wählen Sie aus, von welchen Programmen Sie Daten importieren möchten.
+finished = Komplett
+disableExtTitle = Inkompatible Erweiterung gefunden
+disableExtText = Sie haben die alte Mozilla Kalendererweiterung installiert, welche mit Lightning nicht kompatibel ist. Sie wird deaktiviert und %1$S wird neu gestartet.
diff --git a/l10n-de/calendar/chrome/calendar/provider-uninstall.dtd b/l10n-de/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..ca180d58e0
--- /dev/null
+++ b/l10n-de/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 "Einen Provider deinstallieren">
+<!ENTITY providerUninstall.accept.label "Ausgewählte abbestellen">
+<!ENTITY providerUninstall.accept.accesskey "b">
+<!ENTITY providerUninstall.cancel.label "Add-on behalten">
+<!ENTITY providerUninstall.cancel.accesskey "h">
+<!ENTITY providerUninstall.preName.label "Sie möchten folgenden Provider deinstallieren oder deaktivieren:">
+<!ENTITY providerUninstall.postName.label "Dies wird dazu führen, dass die unten aufgeführten Kalender deaktiviert werden.">
+<!ENTITY providerUninstall.reinstallNote.label "Falls Sie nicht vorhaben, diesen Provider erneut zu installieren, können Sie die betroffenen Kalender abbestellen.">
diff --git a/l10n-de/calendar/chrome/calendar/timezones.properties b/l10n-de/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 0000000000..b3584898e9
--- /dev/null
+++ b/l10n-de/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,488 @@
+# 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=Zeitzonendefinitionen für Mozilla Calendar
+extensions.calendar-timezones@mozilla.org.description=Von Lightning benötigte Zeitzonendefinitionen
+extensions.calendar-timezones@mozilla.org.creator=Mozilla Calendar Project
+
+pref.timezone.floating=Lokale Zeit
+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=Afrika/Abidjan
+pref.timezone.Africa.Accra=Afrika/Accra
+pref.timezone.Africa.Addis_Ababa=Afrika/Addis Abeba
+pref.timezone.Africa.Algiers=Afrika/Algier
+pref.timezone.Africa.Asmara=Afrika/Asmara
+pref.timezone.Africa.Bamako=Afrika/Bamako
+pref.timezone.Africa.Bangui=Afrika/Bangui
+pref.timezone.Africa.Banjul=Afrika/Banjul
+pref.timezone.Africa.Bissau=Afrika/Bissau
+pref.timezone.Africa.Blantyre=Afrika/Blantyre
+pref.timezone.Africa.Brazzaville=Afrika/Brazzaville
+pref.timezone.Africa.Bujumbura=Afrika/Bujumbura
+pref.timezone.Africa.Cairo=Afrika/Kairo
+pref.timezone.Africa.Casablanca=Afrika/Casablanca
+pref.timezone.Africa.Ceuta=Afrika/Ceuta
+pref.timezone.Africa.Conakry=Afrika/Conakry
+pref.timezone.Africa.Dakar=Afrika/Dakar
+pref.timezone.Africa.Dar_es_Salaam=Afrika/Dar es Salaam
+pref.timezone.Africa.Djibouti=Afrika/Dschibuti
+pref.timezone.Africa.Douala=Afrika/Douala
+pref.timezone.Africa.El_Aaiun=Afrika/El Aaiún
+pref.timezone.Africa.Freetown=Afrika/Freetown
+pref.timezone.Africa.Gaborone=Afrika/Gaborone
+pref.timezone.Africa.Harare=Afrika/Harare
+pref.timezone.Africa.Johannesburg=Afrika/Johannesburg
+pref.timezone.Africa.Kampala=Afrika/Kampala
+pref.timezone.Africa.Khartoum=Afrika/Khartum
+pref.timezone.Africa.Kigali=Afrika/Kigali
+pref.timezone.Africa.Kinshasa=Afrika/Kinshasa
+pref.timezone.Africa.Lagos=Afrika/Lagos
+pref.timezone.Africa.Libreville=Afrika/Libreville
+pref.timezone.Africa.Lome=Afrika/Lome
+pref.timezone.Africa.Luanda=Afrika/Luanda
+pref.timezone.Africa.Lubumbashi=Afrika/Lubumbashi
+pref.timezone.Africa.Lusaka=Afrika/Lusaka
+pref.timezone.Africa.Malabo=Afrika/Malabo
+pref.timezone.Africa.Maputo=Afrika/Maputo
+pref.timezone.Africa.Maseru=Afrika/Maseru
+pref.timezone.Africa.Mbabane=Afrika/Mbabane
+pref.timezone.Africa.Mogadishu=Afrika/Mogadischu
+pref.timezone.Africa.Monrovia=Afrika/Monrovia
+pref.timezone.Africa.Nairobi=Afrika/Nairobi
+pref.timezone.Africa.Ndjamena=Afrika/N’Djamena
+pref.timezone.Africa.Niamey=Afrika/Niamey
+pref.timezone.Africa.Nouakchott=Afrika/Nouakchott
+pref.timezone.Africa.Ouagadougou=Afrika/Ouagadougou
+pref.timezone.Africa.Porto-Novo=Afrika/Porto Novo
+pref.timezone.Africa.Sao_Tome=Afrika/São Tomé
+pref.timezone.Africa.Tripoli=Afrika/Tripolis
+pref.timezone.Africa.Tunis=Afrika/Tunis
+pref.timezone.Africa.Windhoek=Afrika/Windhuk
+pref.timezone.America.Adak=Amerika/Adak
+pref.timezone.America.Anchorage=Amerika/Anchorage
+pref.timezone.America.Anguilla=Amerika/Anguilla
+pref.timezone.America.Antigua=Amerika/Antigua
+pref.timezone.America.Araguaina=Amerika/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=Amerika/Argentinien/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=Amerika/Argentinien/Catamarca
+pref.timezone.America.Argentina.Cordoba=Amerika/Argentinien/Córdoba
+pref.timezone.America.Argentina.Jujuy=Amerika/Argentinien/Jujuy
+pref.timezone.America.Argentina.La_Rioja=Amerika/Argentinien/La Rioja
+pref.timezone.America.Argentina.Mendoza=Amerika/Argentinien/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=Amerika/Argentinien/Río Gallegos
+pref.timezone.America.Argentina.San_Juan=Amerika/Argentinien/San Juan
+pref.timezone.America.Argentina.Tucuman=Amerika/Argentinien/Tucumán
+pref.timezone.America.Argentina.Ushuaia=Amerika/Argentinien/Ushuaia
+pref.timezone.America.Aruba=Amerika/Aruba
+pref.timezone.America.Asuncion=Amerika/Asunción
+pref.timezone.America.Atikokan=Amerika/Atikokan
+pref.timezone.America.Bahia=Amerika/Bahia
+pref.timezone.America.Barbados=Amerika/Barbados
+pref.timezone.America.Belem=Amerika/Belem
+pref.timezone.America.Belize=Amerika/Belize
+pref.timezone.America.Blanc-Sablon=Amerika/Blanc-Sablon
+pref.timezone.America.Boa_Vista=Amerika/Boa Vista
+pref.timezone.America.Bogota=Amerika/Bogotá
+pref.timezone.America.Boise=Amerika/Boise
+pref.timezone.America.Cambridge_Bay=Amerika/Cambridge Bay
+pref.timezone.America.Campo_Grande=Amerika/Campo Grande
+pref.timezone.America.Cancun=Amerika/Cancún
+pref.timezone.America.Caracas=Amerika/Caracas
+pref.timezone.America.Cayenne=Amerika/Cayenne
+pref.timezone.America.Cayman=Amerika/Cayman
+pref.timezone.America.Chicago=Amerika/Chicago
+pref.timezone.America.Chihuahua=Amerika/Chihuahua
+pref.timezone.America.Costa_Rica=Amerika/Costa Rica
+pref.timezone.America.Cuiaba=Amerika/Cuiabá
+pref.timezone.America.Curacao=Amerika/Curaçao
+pref.timezone.America.Danmarkshavn=Amerika/Danmarkshavn
+pref.timezone.America.Dawson=Amerika/Dawson
+pref.timezone.America.Dawson_Creek=Amerika/Dawson Creek
+pref.timezone.America.Denver=Amerika/Denver
+pref.timezone.America.Detroit=Amerika/Detroit
+pref.timezone.America.Dominica=Amerika/Dominica
+pref.timezone.America.Edmonton=Amerika/Edmonton
+pref.timezone.America.Eirunepe=Amerika/Eirunepe
+pref.timezone.America.El_Salvador=Amerika/El Salvador
+pref.timezone.America.Fortaleza=Amerika/Fortaleza
+pref.timezone.America.Glace_Bay=Amerika/Glace Bay
+pref.timezone.America.Godthab=Amerika/Nuuk
+pref.timezone.America.Goose_Bay=Amerika/Goose Bay
+pref.timezone.America.Grand_Turk=Amerika/Cockburn Town
+pref.timezone.America.Grenada=Amerika/Grenada
+pref.timezone.America.Guadeloupe=Amerika/Guadeloupe
+pref.timezone.America.Guatemala=Amerika/Guatemala
+pref.timezone.America.Guayaquil=Amerika/Guayaquil
+pref.timezone.America.Guyana=Amerika/Guyana
+pref.timezone.America.Halifax=Amerika/Halifax
+pref.timezone.America.Havana=Amerika/Havanna
+pref.timezone.America.Hermosillo=Amerika/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=Amerika/Indiana/Indianapolis
+pref.timezone.America.Indiana.Knox=Amerika/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=Amerika/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=Amerika/Indiana/Petersburg
+pref.timezone.America.Indiana.Vevay=Amerika/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=Amerika/Indiana/Vincennes
+pref.timezone.America.Inuvik=Amerika/Inuvik
+pref.timezone.America.Iqaluit=Amerika/Iqaluit
+pref.timezone.America.Jamaica=Amerika/Jamaika
+pref.timezone.America.Juneau=Amerika/Juneau
+pref.timezone.America.Kentucky.Louisville=Amerika/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=Amerika/Kentucky/Monticello
+pref.timezone.America.La_Paz=Amerika/La Paz
+pref.timezone.America.Lima=Amerika/Lima
+pref.timezone.America.Los_Angeles=Amerika/Los Angeles
+pref.timezone.America.Maceio=Amerika/Maceió
+pref.timezone.America.Managua=Amerika/Managua
+pref.timezone.America.Manaus=Amerika/Manaus
+pref.timezone.America.Martinique=Amerika/Martinique
+pref.timezone.America.Mazatlan=Amerika/Mazatlán
+pref.timezone.America.Menominee=Amerika/Menominee
+pref.timezone.America.Merida=Amerika/Merida
+pref.timezone.America.Mexico_City=Amerika/Mexiko-Stadt
+pref.timezone.America.Miquelon=Amerika/Miquelon
+pref.timezone.America.Moncton=Amerika/Moncton
+pref.timezone.America.Monterrey=Amerika/Monterrey
+pref.timezone.America.Montevideo=Amerika/Montevideo
+pref.timezone.America.Montreal=Amerika/Montreal
+pref.timezone.America.Montserrat=Amerika/Montserrat
+pref.timezone.America.Nassau=Amerika/Nassau
+pref.timezone.America.New_York=Amerika/New York
+pref.timezone.America.Nipigon=Amerika/Nipigon
+pref.timezone.America.Nome=Amerika/Nome
+pref.timezone.America.Noronha=Amerika/Noronha
+pref.timezone.America.North_Dakota.Center=Amerika/North Dakota/Center
+pref.timezone.America.North_Dakota.New_Salem=Amerika/North Dakota/New Salem
+pref.timezone.America.Panama=Amerika/Panama
+pref.timezone.America.Pangnirtung=Amerika/Pangnirtung
+pref.timezone.America.Paramaribo=Amerika/Paramaribo
+pref.timezone.America.Phoenix=Amerika/Phoenix
+pref.timezone.America.Port-au-Prince=Amerika/Port-au-Prince
+pref.timezone.America.Port_of_Spain=Amerika/Port-of-Spain
+pref.timezone.America.Porto_Velho=Amerika/Porto Velho
+pref.timezone.America.Puerto_Rico=Amerika/Puerto Rico
+pref.timezone.America.Rainy_River=Amerika/Rainy River
+pref.timezone.America.Rankin_Inlet=Amerika/Rankin Inlet
+pref.timezone.America.Recife=Amerika/Recife
+pref.timezone.America.Regina=Amerika/Régina
+pref.timezone.America.Rio_Branco=Amerika/Rio Branco
+pref.timezone.America.Santiago=Amerika/Santiago
+pref.timezone.America.Santo_Domingo=Amerika/Santo Domingo
+pref.timezone.America.Sao_Paulo=Amerika/São Paulo
+pref.timezone.America.Scoresbysund=Amerika/Scoresbysund
+pref.timezone.America.Shiprock=Amerika/Shiprock
+pref.timezone.America.St_Johns=Amerika/St. Johns
+pref.timezone.America.St_Kitts=Amerika/St. Kitts
+pref.timezone.America.St_Lucia=Amerika/St. Lucia
+pref.timezone.America.St_Thomas=Amerika/St. Thomas
+pref.timezone.America.St_Vincent=Amerika/St. Vincent
+pref.timezone.America.Swift_Current=Amerika/Swift Current
+pref.timezone.America.Tegucigalpa=Amerika/Tegucigalpa
+pref.timezone.America.Thule=Amerika/Thule
+pref.timezone.America.Thunder_Bay=Amerika/Thunder Bay
+pref.timezone.America.Tijuana=Amerika/Tijuana
+pref.timezone.America.Toronto=Amerika/Toronto
+pref.timezone.America.Tortola=Amerika/Tortola
+pref.timezone.America.Vancouver=Amerika/Vancouver
+pref.timezone.America.Whitehorse=Amerika/Whitehorse
+pref.timezone.America.Winnipeg=Amerika/Winnipeg
+pref.timezone.America.Yakutat=Amerika/Yakutat
+pref.timezone.America.Yellowknife=Amerika/Yellowknife
+pref.timezone.Antarctica.Casey=Antarktis/Casey-Station
+pref.timezone.Antarctica.Davis=Antarktis/Davis-Station
+pref.timezone.Antarctica.DumontDUrville=Antarktis/Dumont-d’Urville-Station
+pref.timezone.Antarctica.Mawson=Antarktis/Mawson-Station
+pref.timezone.Antarctica.McMurdo=Antarktis/McMurdo-Station
+pref.timezone.Antarctica.Palmer=Antarktis/Palmer-Station
+pref.timezone.Antarctica.Rothera=Antarktis/Rothera-Station
+pref.timezone.Antarctica.South_Pole=Antarktis/Südpol
+pref.timezone.Antarctica.Syowa=Antarktis/Shōwa-Station
+pref.timezone.Antarctica.Vostok=Antarktis/Wostok-Station
+pref.timezone.Arctic.Longyearbyen=Arktis/Longyearbyen
+pref.timezone.Asia.Aden=Asien/Aden
+pref.timezone.Asia.Almaty=Asien/Almaty
+pref.timezone.Asia.Amman=Asien/Amman
+pref.timezone.Asia.Anadyr=Asien/Anadyr
+pref.timezone.Asia.Aqtau=Asien/Aqtau
+pref.timezone.Asia.Aqtobe=Asien/Aqtöbe
+pref.timezone.Asia.Ashgabat=Asien/Aschgabat
+pref.timezone.Asia.Baghdad=Asien/Bagdad
+pref.timezone.Asia.Bahrain=Asien/Bahrain
+pref.timezone.Asia.Baku=Asien/Baku
+pref.timezone.Asia.Bangkok=Asien/Bangkok
+pref.timezone.Asia.Beirut=Asien/Beirut
+pref.timezone.Asia.Bishkek=Asien/Bischkek
+pref.timezone.Asia.Brunei=Asien/Brunei
+pref.timezone.Asia.Choibalsan=Asien/Choibalsan
+pref.timezone.Asia.Chongqing=Asien/Chongqing
+pref.timezone.Asia.Colombo=Asien/Colombo
+pref.timezone.Asia.Damascus=Asien/Damaskus
+pref.timezone.Asia.Dhaka=Asien/Dhaka
+pref.timezone.Asia.Dili=Asien/Dili
+pref.timezone.Asia.Dubai=Asien/Dubai
+pref.timezone.Asia.Dushanbe=Asien/Duschanbe
+pref.timezone.Asia.Gaza=Asien/Gaza
+pref.timezone.Asia.Harbin=Asien/Harbin
+pref.timezone.Asia.Hong_Kong=Asien/Hongkong
+pref.timezone.Asia.Hovd=Asien/Chovd
+pref.timezone.Asia.Irkutsk=Asien/Irkutsk
+pref.timezone.Asia.Istanbul=Asien/Istanbul
+pref.timezone.Asia.Jakarta=Asien/Jakarta
+pref.timezone.Asia.Jayapura=Asien/Jayapura
+pref.timezone.Asia.Jerusalem=Asien/Jerusalem
+pref.timezone.Asia.Kabul=Asien/Kabul
+pref.timezone.Asia.Kamchatka=Asien/Kamtschatka
+pref.timezone.Asia.Karachi=Asien/Karatschi
+pref.timezone.Asia.Kashgar=Asien/Kaschgar
+pref.timezone.Asia.Kathmandu=Asien/Kathmandu
+pref.timezone.Asia.Krasnoyarsk=Asien/Krasnojarsk
+pref.timezone.Asia.Kuala_Lumpur=Asien/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asien/Kuching
+pref.timezone.Asia.Kuwait=Asien/Kuwait
+pref.timezone.Asia.Macau=Asien/Macao
+pref.timezone.Asia.Magadan=Asien/Magadan
+pref.timezone.Asia.Makassar=Asien/Makassar
+pref.timezone.Asia.Manila=Asien/Manila
+pref.timezone.Asia.Muscat=Asien/Maskat
+pref.timezone.Asia.Nicosia=Asien/Nicosia
+pref.timezone.Asia.Novosibirsk=Asien/Nowosibirsk
+pref.timezone.Asia.Omsk=Asien/Omsk
+pref.timezone.Asia.Oral=Asien/Oral
+pref.timezone.Asia.Phnom_Penh=Asien/Phnom Penh
+pref.timezone.Asia.Pontianak=Asien/Pontianak
+pref.timezone.Asia.Pyongyang=Asien/Pjöngjang
+pref.timezone.Asia.Qatar=Asien/Katar
+pref.timezone.Asia.Qyzylorda=Asien/Qysylorda
+pref.timezone.Asia.Rangoon=Asien/Rangun
+pref.timezone.Asia.Riyadh=Asien/Riad
+pref.timezone.Asia.Sakhalin=Asien/Sachalin
+pref.timezone.Asia.Samarkand=Asien/Samarkand
+pref.timezone.Asia.Seoul=Asien/Seoul
+pref.timezone.Asia.Shanghai=Asien/Shanghai
+pref.timezone.Asia.Singapore=Asien/Singapur
+pref.timezone.Asia.Taipei=Asien/Taipeh
+pref.timezone.Asia.Tashkent=Asien/Taschkent
+pref.timezone.Asia.Tbilisi=Asien/Tiflis
+pref.timezone.Asia.Tehran=Asien/Teheran
+pref.timezone.Asia.Thimphu=Asien/Thimphu
+pref.timezone.Asia.Tokyo=Asien/Tokio
+pref.timezone.Asia.Ulaanbaatar=Asien/Ulaanbaatar
+pref.timezone.Asia.Urumqi=Asien/Ürümqi
+pref.timezone.Asia.Vientiane=Asien/Vientiane
+pref.timezone.Asia.Vladivostok=Asien/Wladiwostok
+pref.timezone.Asia.Yakutsk=Asien/Jakutsk
+pref.timezone.Asia.Yekaterinburg=Asien/Jekaterinburg
+pref.timezone.Asia.Yerevan=Asien/Eriwan
+pref.timezone.Atlantic.Azores=Atlantik/Azoren
+pref.timezone.Atlantic.Bermuda=Atlantik/Bermuda
+pref.timezone.Atlantic.Canary=Atlantik/Kanarische Inseln
+pref.timezone.Atlantic.Cape_Verde=Atlantik/Cabo Verde
+pref.timezone.Atlantic.Faroe=Atlantik/Färöer
+pref.timezone.Atlantic.Madeira=Atlantik/Madeira
+pref.timezone.Atlantic.Reykjavik=Atlantik/Reykjavík
+pref.timezone.Atlantic.South_Georgia=Atlantik/Südgeorgien
+pref.timezone.Atlantic.St_Helena=Atlantik/St. Helena
+pref.timezone.Atlantic.Stanley=Atlantik/Stanley
+pref.timezone.Australia.Adelaide=Australien/Adelaide
+pref.timezone.Australia.Brisbane=Australien/Brisbane
+pref.timezone.Australia.Broken_Hill=Australien/Broken Hill
+pref.timezone.Australia.Currie=Australien/Currie
+pref.timezone.Australia.Darwin=Australien/Darwin
+pref.timezone.Australia.Eucla=Australien/Eucla
+pref.timezone.Australia.Hobart=Australien/Hobart
+pref.timezone.Australia.Lindeman=Australien/Lindeman
+pref.timezone.Australia.Lord_Howe=Australien/Lord-Howe-Insel
+pref.timezone.Australia.Melbourne=Australien/Melbourne
+pref.timezone.Australia.Perth=Australien/Perth
+pref.timezone.Australia.Sydney=Australien/Sydney
+pref.timezone.Europe.Amsterdam=Europa/Amsterdam
+pref.timezone.Europe.Andorra=Europa/Andorra
+pref.timezone.Europe.Athens=Europa/Athen
+pref.timezone.Europe.Belgrade=Europa/Belgrad
+pref.timezone.Europe.Berlin=Europa/Berlin
+pref.timezone.Europe.Bratislava=Europa/Bratislava
+pref.timezone.Europe.Brussels=Europa/Brüssel
+pref.timezone.Europe.Bucharest=Europa/Bukarest
+pref.timezone.Europe.Budapest=Europa/Budapest
+pref.timezone.Europe.Chisinau=Europa/Chişinău
+pref.timezone.Europe.Copenhagen=Europa/Kopenhagen
+pref.timezone.Europe.Dublin=Europa/Dublin
+pref.timezone.Europe.Gibraltar=Europa/Gibraltar
+pref.timezone.Europe.Guernsey=Europa/Guernsey
+pref.timezone.Europe.Helsinki=Europa/Helsinki
+pref.timezone.Europe.Isle_of_Man=Europa/Isle of Man
+pref.timezone.Europe.Istanbul=Europa/Istanbul
+pref.timezone.Europe.Jersey=Europa/Jersey
+pref.timezone.Europe.Kaliningrad=Europa/Kaliningrad
+pref.timezone.Europe.Kiev=Europa/Kiew
+pref.timezone.Europe.Lisbon=Europa/Lissabon
+pref.timezone.Europe.Ljubljana=Europa/Ljubljana
+pref.timezone.Europe.London=Europa/London
+pref.timezone.Europe.Luxembourg=Europa/Luxemburg
+pref.timezone.Europe.Madrid=Europa/Madrid
+pref.timezone.Europe.Malta=Europa/Malta
+pref.timezone.Europe.Mariehamn=Europa/Mariehamn
+pref.timezone.Europe.Minsk=Europa/Minsk
+pref.timezone.Europe.Monaco=Europa/Monaco
+pref.timezone.Europe.Moscow=Europa/Moskau
+pref.timezone.Europe.Nicosia=Europa/Nicosia
+pref.timezone.Europe.Oslo=Europa/Oslo
+pref.timezone.Europe.Paris=Europa/Paris
+pref.timezone.Europe.Podgorica=Europa/Podgorica
+pref.timezone.Europe.Prague=Europa/Prag
+pref.timezone.Europe.Riga=Europa/Riga
+pref.timezone.Europe.Rome=Europa/Rom
+pref.timezone.Europe.Samara=Europa/Samara
+pref.timezone.Europe.San_Marino=Europa/San Marino
+pref.timezone.Europe.Sarajevo=Europa/Sarajevo
+pref.timezone.Europe.Simferopol=Europa/Simferopol
+pref.timezone.Europe.Skopje=Europa/Skopje
+pref.timezone.Europe.Sofia=Europa/Sofia
+pref.timezone.Europe.Stockholm=Europa/Stockholm
+pref.timezone.Europe.Tallinn=Europa/Tallinn
+pref.timezone.Europe.Tirane=Europa/Tirana
+pref.timezone.Europe.Uzhgorod=Europa/Uschhorod
+pref.timezone.Europe.Vaduz=Europa/Vaduz
+pref.timezone.Europe.Vatican=Europa/Vatikan
+pref.timezone.Europe.Vienna=Europa/Wien
+pref.timezone.Europe.Vilnius=Europa/Vilnius
+pref.timezone.Europe.Volgograd=Europa/Wolgograd
+pref.timezone.Europe.Warsaw=Europa/Warschau
+pref.timezone.Europe.Zagreb=Europa/Zagreb
+pref.timezone.Europe.Zaporozhye=Europa/Saporischschja
+pref.timezone.Europe.Zurich=Europa/Zürich
+pref.timezone.Indian.Antananarivo=Indien/Antananarivo
+pref.timezone.Indian.Chagos=Indien/Chagos-Archipel
+pref.timezone.Indian.Christmas=Indien/Weihnachtsinsel
+pref.timezone.Indian.Cocos=Indien/Kokosinseln
+pref.timezone.Indian.Comoro=Indien/Komoren
+pref.timezone.Indian.Kerguelen=Indien/Kerguelen
+pref.timezone.Indian.Mahe=Indien/Mahé
+pref.timezone.Indian.Maldives=Indien/Malediven
+pref.timezone.Indian.Mauritius=Indien/Mauritius
+pref.timezone.Indian.Mayotte=Indien/Mayotte
+pref.timezone.Indian.Reunion=Indien/Réunion
+pref.timezone.Pacific.Apia=Pazifik/Apia
+pref.timezone.Pacific.Auckland=Pazifik/Auckland
+pref.timezone.Pacific.Chatham=Pazifik/Chatham-Inseln
+pref.timezone.Pacific.Easter=Pazifik/Osterinseln
+pref.timezone.Pacific.Efate=Pazifik/Éfaté
+pref.timezone.Pacific.Enderbury=Pazifik/Enderbury
+pref.timezone.Pacific.Fakaofo=Pazifik/Fakaofo
+pref.timezone.Pacific.Fiji=Pazifik/Fidschi
+pref.timezone.Pacific.Funafuti=Pazifik/Funafuti
+pref.timezone.Pacific.Galapagos=Pazifik/Galápagos-Inseln
+pref.timezone.Pacific.Gambier=Pazifik/Gambier
+pref.timezone.Pacific.Guadalcanal=Pazifik/Guadalcanal
+pref.timezone.Pacific.Guam=Pazifik/Guam
+pref.timezone.Pacific.Honolulu=Pazifik/Honolulu
+pref.timezone.Pacific.Johnston=Pazifik/Johnston-Atoll
+pref.timezone.Pacific.Kiritimati=Pazifik/Kiritimati
+pref.timezone.Pacific.Kosrae=Pazifik/Kosrae
+pref.timezone.Pacific.Kwajalein=Pazifik/Kwajalein-Atoll
+pref.timezone.Pacific.Majuro=Pazifik/Majuro
+pref.timezone.Pacific.Marquesas=Pazifik/Marquesas
+pref.timezone.Pacific.Midway=Pazifik/Midwayinseln
+pref.timezone.Pacific.Nauru=Pazifik/Nauru
+pref.timezone.Pacific.Niue=Pazifik/Niue
+pref.timezone.Pacific.Norfolk=Pazifik/Norfolk
+pref.timezone.Pacific.Noumea=Pazifik/Nouméa
+pref.timezone.Pacific.Pago_Pago=Pazifik/PagoPago
+pref.timezone.Pacific.Palau=Pazifik/Palau
+pref.timezone.Pacific.Pitcairn=Pazifik/Pitcairn
+pref.timezone.Pacific.Ponape=Pazifik/Pohnpei
+pref.timezone.Pacific.Port_Moresby=Pazifik/Port Moresby
+pref.timezone.Pacific.Rarotonga=Pazifik/Rarotonga
+pref.timezone.Pacific.Saipan=Pazifik/Saipan
+pref.timezone.Pacific.Tahiti=Pazifik/Tahiti
+pref.timezone.Pacific.Tarawa=Pazifik/Tarawa
+pref.timezone.Pacific.Tongatapu=Pazifik/Tongatapu
+pref.timezone.Pacific.Truk=Pazifik/Chuuk
+pref.timezone.Pacific.Wake=Pazifik/Wake
+pref.timezone.Pacific.Wallis=Pazifik/Wallis-Inseln
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=Amerika/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=Amerika/Indiana/Winamac
+pref.timezone.America.Marigot=Amerika/Marigot
+pref.timezone.America.Resolute=Amerika/Resolute
+pref.timezone.America.St_Barthelemy=Amerika/St. Barthelemy
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=Amerika/Argentinien/San Luis
+pref.timezone.America.Santarem=Amerika/Santarém
+pref.timezone.Asia.Ho_Chi_Minh=Asien/Ho-Chi-Minh-Stadt
+pref.timezone.Asia.Kolkata=Asien/Kolkata
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=Amerika/Argentinien/Salta
+
+# added with 2010i
+pref.timezone.America.Matamoros=Amerika/Matamoros
+pref.timezone.America.Ojinaga=Amerika/Ojinaga
+pref.timezone.America.Santa_Isabel=Amerika/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antarktis/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asien/Nowokusnezk
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=Amerika/Bahia Banderas
+pref.timezone.America.North_Dakota.Beulah=Amerika/North Dakota/Beulah
+pref.timezone.Pacific.Chuuk=Pazifik/Chuuk
+pref.timezone.Pacific.Pohnpei=Pazifik/Pohnpei
+
+#added with 2011n
+pref.timezone.Africa.Juba=Afrika/Juba
+pref.timezone.America.Kralendijk=Amerika/Kralendijk
+pref.timezone.America.Lower_Princes=Amerika/Lower Princes
+pref.timezone.America.Metlakatla=Amerika/Metlakatla
+pref.timezone.America.Sitka=Amerika/Sitka
+pref.timezone.Asia.Hebron=Asien/Hebron
+
+#added with 2013a
+pref.timezone.America.Creston=Amerika/Creston
+pref.timezone.Asia.Khandyga=Asien/Khandyga
+pref.timezone.Asia.Ust-Nera=Asien/Ust-Nera
+pref.timezone.Europe.Busingen=Europa/Büsingen
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Antarktis/Troll
+
+#added with 2014j
+pref.timezone.Asia.Chita=Asien/Chita
+pref.timezone.Asia.Srednekolymsk=Asien/Srednekolymsk
+pref.timezone.Pacific.Bougainville=Pazifik/Bougainville
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=Amerika/Fort Nelson
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Europa/Uljanowsk
+pref.timezone.Europe.Astrakhan=Europa/Astrachan
+pref.timezone.Asia.Barnaul=Asien/Barnaul
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asien/Rangun
+pref.timezone.Asia.Tomsk=Asien/Tomsk
+pref.timezone.Asia.Famagusta=Asien/Famagusta
+pref.timezone.Europe.Kirov=Europa/Kirow
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Europa/Saratow
+pref.timezone.Asia.Atyrau=Asien/Atyrau
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=Amerika/Punta Arenas
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Asien/Qostanai
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=Amerika/Nuuk
diff --git a/l10n-de/calendar/chrome/lightning/lightning-toolbar.dtd b/l10n-de/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..ef7a57ec6b
--- /dev/null
+++ b/l10n-de/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+<!-- 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 "Kalender-Symbolleiste">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "K">
+<!ENTITY lightning.toolbar.task.name "Aufgaben-Symbolleiste">
+<!ENTITY lightning.toolbar.task.name.accesskey "u">
+
+<!ENTITY lightning.toolbar.sync.label "Synchronisieren">
+<!ENTITY lightning.toolbar.sync.tooltip "Kalender neu laden und Änderungen synchronisieren">
+<!ENTITY lightning.toolbar.delete.label "Löschen">
+<!ENTITY lightning.toolbar.delete.tooltip "Ausgewählte Termine oder Aufgaben löschen">
+<!ENTITY lightning.toolbar.edit.label "Bearbeiten">
+<!ENTITY lightning.toolbar.edit.tooltip "Ausgewählte(n) Termin oder Aufgabe bearbeiten">
+<!ENTITY lightning.toolbar.gototoday.label "Heute">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Zu Heute wechseln">
+<!ENTITY lightning.toolbar.print.label "Drucken">
+<!ENTITY lightning.toolbar.print.tooltip "Termine oder Aufgaben drucken">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Kalender">
+<!ENTITY lightning.toolbar.calendar.tooltip "Zum Kalender-Tab wechseln">
+<!ENTITY lightning.toolbar.calendar.accesskey "K">
+<!ENTITY lightning.toolbar.task.label "Aufgaben">
+<!ENTITY lightning.toolbar.task.tooltip "Zum Aufgaben-Tab wechseln">
+<!ENTITY lightning.toolbar.task.accesskey "A">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Termin">
+<!ENTITY lightning.toolbar.newevent.tooltip "Neuen Termin erstellen">
+<!ENTITY lightning.toolbar.newtask.label "Aufgabe">
+<!ENTITY lightning.toolbar.newtask.tooltip "Neue Aufgabe erstellen">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "Tag">
+<!ENTITY lightning.toolbar.day.accesskey "T">
+<!ENTITY lightning.toolbar.week.label "Woche">
+<!ENTITY lightning.toolbar.week.accesskey "W">
+<!ENTITY lightning.toolbar.multiweek.label "Mehrere Wochen">
+<!ENTITY lightning.toolbar.multiweek.accesskey "h">
+<!ENTITY lightning.toolbar.month.label "Monat">
+<!ENTITY lightning.toolbar.month.accesskey "M">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "Menü">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "&brandShortName;-Menü öffnen">
+<!ENTITY lightning.toolbar.calendarmenu.label "Seitenleiste">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "S">
+<!ENTITY lightning.toolbar.calendarpane.label "Seitenleiste anzeigen">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "S">
diff --git a/l10n-de/calendar/chrome/lightning/lightning.dtd b/l10n-de/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 0000000000..b0faa249ae
--- /dev/null
+++ b/l10n-de/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,114 @@
+<!-- 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 "Kalender">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "Termin…">
+<!ENTITY lightning.menupopup.new.event.accesskey "T">
+<!ENTITY lightning.menupopup.new.task.label "Aufgabe…">
+<!ENTITY lightning.menupopup.new.task.accesskey "u">
+<!ENTITY lightning.menupopup.new.calendar.label "Kalender…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "l">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label "Öffnen">
+<!ENTITY lightning.menupopup.open.accesskey "Ö">
+<!ENTITY lightning.menupopup.open.message.label "Gespeicherte Nachricht…">
+<!ENTITY lightning.menupopup.open.message.accesskey "N">
+<!ENTITY lightning.menupopup.open.calendar.label "Kalenderdatei…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "K">
+
+<!-- Messenger Sidebar -->
+<!ENTITY lightning.menu.view.calendar.label "Kalender">
+<!ENTITY lightning.menu.view.calendar.accesskey "K">
+<!ENTITY lightning.menu.view.tasks.label "Aufgaben">
+<!ENTITY lightning.menu.view.tasks.accesskey "b">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Termine und Aufgaben">
+<!ENTITY lightning.menu.eventtask.accesskey "T">
+
+<!-- properties dialog, calendar creation wizard -->
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.email.label,
+ lightning.calendarproperties.forceEmailScheduling.label)
+ These strings are used in the calendar wizard and the calendar properties dialog, but are only
+ displayed when setting/using a caldav calendar -->
+<!ENTITY lightning.calendarproperties.email.label "E-Mail:">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "Versenden der E-Mails über den Klienten bevorzugen">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "Derzeit kann diese Einstellung nur aktiviert werden, nachdem der Kalender in seinen Einstellungen entsprechend konfiguriert wurde und der Kalenderserver das Versenden übernimmt.">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Diese Einstellung ist nur verfügbar, falls der Kalenderserver das Versenden übernimmt. Das Aktivieren ermöglicht das normale Versenden von E-Mails anstatt dem Versenden durch den Server, falls es bei Letzterem zu Problemen kommt.">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Akzeptieren">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Termineinladung akzeptieren">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Alle akzeptieren">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Termineinladung für alle Ereignisse des Termins akzeptieren">
+<!ENTITY lightning.imipbar.btnAdd.label "Hinzufügen">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Termin zum Kalender hinzufügen">
+<!ENTITY lightning.imipbar.btnDecline.label "Ablehnen">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Termineinladung ablehnen">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Alle ablehnen">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Termineinladung für alle Ereignisse des Termins ablehnen">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Ablehnen">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Gegenvorschlag ablehnen">
+<!ENTITY lightning.imipbar.btnDelete.label "Löschen">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Aus Kalender löschen">
+<!ENTITY lightning.imipbar.btnDetails.label "Details…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Termindetails anzeigen">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "Diese Mitteilungen nicht mehr anzeigen">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "Kalender">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Zum Kalender-Tab wechseln">
+<!ENTITY lightning.imipbar.btnMore.label "Mehr">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Klicken, um mehr Optionen anzuzeigen">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Erneut bestätigen">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Erneute Bestätigung an Organisator senden">
+<!ENTITY lightning.imipbar.btnReschedule.label "Verschieben">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Termin verschieben">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Kopie speichern">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Eine Kopie des Termins im Kalender speichern, unabhängig von einer Antwort an den Organisator. Die Teilnehmerliste wird geleert werden.">
+<!ENTITY lightning.imipbar.btnTentative.label "Vorläufig">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Termineinladung vorläufig akzeptieren">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Alle vorläufig">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Termineinladung vorläufig für alle Ereignisse des Termins akzeptieren">
+<!ENTITY lightning.imipbar.btnUpdate.label "Aktualisierung">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Termin in Kalender aktualisieren">
+<!ENTITY lightning.imipbar.description "Diese Nachricht enthält eine Termineinladung.">
+
+<!ENTITY lightning.imipbar.btnSend.label "Antwort jetzt senden">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "Antwort an den Organisierer senden">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Antwort für die gesamte Terminreihe an den Organisierer senden">
+<!ENTITY lightning.imipbar.btnDontSend.label "Keine Antwort senden">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Teilnahmestatus ändern, ohne eine E-Mail an den Organisierer zu senden">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Teilnahmestatus für die gesamte Terminreihe ändern, ohne eine E-Mail an den Organisierer zu senden">
+
+<!-- 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 "Einen neuen Kalender erstellen">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Monatsübersicht anzeigen">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Tagesübersicht anzeigen">
+<!ENTITY todaypane.showMiniday.accesskey "a">
+<!ENTITY todaypane.showNone.label "Nichts anzeigen">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "Tagesplan anzeigen">
+<!ENTITY todaypane.showTodayPane.accesskey "T">
+<!ENTITY todaypane.statusButton.label "Tagesplan">
diff --git a/l10n-de/calendar/chrome/lightning/lightning.properties b/l10n-de/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 0000000000..34b7b57b97
--- /dev/null
+++ b/l10n-de/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,231 @@
+# 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=Ein integrierter Kalender für einige E-Mail-Programme
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Mozilla Kalender-Projekt
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Aufgaben
+
+# Tab titles
+tabTitleCalendar=Kalender
+tabTitleTasks=Aufgaben
+
+# Html event display in message
+imipHtml.header=Termineinladung
+imipHtml.summary=Titel:
+imipHtml.location=Ort:
+imipHtml.when=Wann:
+imipHtml.organizer=Organisator:
+imipHtml.description=Beschreibung:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=Anhänge:
+imipHtml.comment=Kommentar:
+imipHtml.attendees=Teilnehmer:
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=Verknüpfter Link:
+imipHtml.canceledOccurrences=Abgesagte Ereignisse:
+imipHtml.modifiedOccurrences=Geänderte Ereignisse:
+imipHtml.newLocation=Neuer Ort: %1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+imipHtml.attendeeDelegatedFrom=(übertragen von %1$S)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(übertragen an %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S leitet den Termin.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S nimmt an dem Termin nicht teil.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=Die Anwesenheit von %1$S ist freiwillig.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=Die Anwesenheit von %1$S ist notwendig.
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S hat die Teilnahme zugesagt.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S hat die Teilnahme abgesagt.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S hat die Teilnahme an %2$S übertragen.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S muss noch antworten.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S hat eine vorläufige Zusage zur Teilnahme gegeben.
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (Gruppe)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (Ressource)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (Raum)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=Termin wurde zum Kalender hinzugefügt.
+imipCanceledItem2=Termin wurde vom Kalender gelöscht.
+imipUpdatedItem2=Termin wurde aktualisiert.
+imipBarCancelText=Diese Nachricht enthält eine Terminabsage.
+imipBarCounterErrorText=Diese Nachricht enthält einen Gegenvorschlag zu einer Einladung, die nicht verarbeitet werden kann.
+imipBarCounterPreviousVersionText=Diese Nachricht enthält einen Gegenvorschlag zu einer älteren Version der Einladung.
+imipBarCounterText=Diese Nachricht enthält einen Gegenvorschlag zu einer Einladung.
+imipBarDisallowedCounterText=Diese Nachricht enthält einen Gegenvorschlag, obwohl Sie Gegenvorschläge für diesen Termin verboten haben.
+imipBarDeclineCounterText=Diese Nachricht enthält eine Antwort auf Ihren Gegenvorschlag.
+imipBarRefreshText=Diese Nachricht bittet um eine Terminaktualisierung.
+imipBarPublishText=Diese Nachricht enthält einen Termin.
+imipBarRequestText=Diese Nachricht enthält eine Termineinladung.
+imipBarSentText=Diese Nachricht enthält einen gesendeten Termin.
+imipBarSentButRemovedText=Diese Nachricht enthält einen gesendeten Termin, der sich nicht mehr in Ihrem Kalender befindet.
+imipBarUpdateText=Diese Nachricht enthält eine Aktualisierung für einen vorhandenen Termin.
+imipBarUpdateMultipleText=Diese Nachricht enthält Aktualisierungen für mehrere vorhandene Termine.
+imipBarUpdateSeriesText=Diese Nachricht enthält eine Aktualisierung für eine vorhandene Terminreihe.
+imipBarAlreadyProcessedText=Diese Nachricht enthält einen Termin, der bereits verarbeitet wurde.
+imipBarProcessedNeedsAction=Diese Nachricht enthält einen Termin, auf den Sie noch nicht geantwortet haben.
+imipBarProcessedMultipleNeedsAction=Diese Nachricht enthält mehrere Termine, auf die Sie noch nicht geantwortet haben.
+imipBarProcessedSeriesNeedsAction=Diese Nachricht enthält eine Terminreihe, auf die Sie noch nicht geantwortet haben.
+imipBarReplyText=Diese Nachricht enthält eine Antwort auf eine Einladung.
+imipBarReplyToNotExistingItem=Diese Nachricht enthält eine Antwort auf einen Termin, der sich nicht in Ihrem Kalender befindet.
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=Diese Nachricht enthält eine Antwort auf einen Termin, der am %1$S aus Ihrem Kalender entfernt wurde.
+imipBarUnsupportedText=Diese Nachricht enthält einen Termin, der mit dieser Version von Lightning nicht verarbeitet werden kann.
+imipBarUnsupportedText2=Diese Nachricht enthält einen Termin, der mit dieser Version von %1$S nicht verarbeitet werden kann.
+imipBarProcessingFailed=Bearbeiten der Nachricht fehlgeschlagen. Status: %1$S.
+imipBarCalendarDeactivated=Diese Nachricht enthält Informationen zu einem Termin. Aktivieren Sie einen Kalender, um sie zu verarbeiten.
+imipBarNotWritable=Kein Kalender mit Schreibrechten für Einladungen eingerichtet, bitte die Kalendereigenschaften überprüfen.
+imipSendMail.title=E-Mail-Benachrichtigung
+imipSendMail.text=Möchten Sie nun die Benachrichtigungs-E-Mail versenden?
+imipSendMail.Outlook2000CompatMode.text=Outlook 2000 und Outlook 2002/XP unterstützen.
+imipNoIdentity=Keine
+imipNoCalendarAvailable=Es sind keine Kalender mit Schreibrechten verfügbar.
+
+itipReplySubject=Antwort Termineinladung: %1$S
+itipReplySubject2=Einladungsantwort: %1$S
+itipReplyBodyAccept=%1$S hat Ihre Termineinladung akzeptiert.
+itipReplySubjectAccept2=Akzeptiert: %1$S
+itipReplyBodyDecline=%1$S hat Ihre Termineinladung abgelehnt.
+itipReplySubjectDecline2=Einladung abgelehnt: %1$S
+itipReplySubjectAccept=Antwort Termineinladung (Akzeptiert): %1$S
+itipReplySubjectDecline=Antwort Termineinladung (Abgelehnt): %1$S
+itipReplySubjectTentative=Antwort Termineinladung (Vorläufig): %1$S
+itipReplySubjectTentative2=Vorläufig: %1$S
+itipRequestSubject=Termineinladung: %1$S
+itipRequestSubject2=Einladung: %1$S
+itipRequestUpdatedSubject=Aktualisierte Termineinladung: %1$S
+itipRequestUpdatedSubject2=Aktualisiert: %1$S
+itipRequestBody=%1$S hat Sie zu %2$S eingeladen
+itipCancelSubject=Termin abgesagt: %1$S
+itipCancelSubject2=Abgesagt: %1$S
+itipCancelBody=%1$S hat diesen Termin abgesagt: « %2$S »
+itipCounterBody=%1$S hat einen Gegenvorschlag für « %2$S » gemacht:
+itipDeclineCounterBody=%1$S hat Ihren Gegenvorschlag für « %2$S » abgelehnt.
+itipDeclineCounterSubject=Gegenvorschlag abgelehnt: %1$S
+
+confirmProcessInvitation=Dieses Ereignis haben Sie kürzlich gelöscht, sind Sie sicher, dass Sie diese Einladung verarbeiten möchten?
+confirmProcessInvitationTitle=Einladung verarbeiten?
+
+invitationsLink.label=Einladungen: %1$S
+
+# LOCALIZATION_NOTE(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+binaryComponentKnown=Die für %1$S benötigte binäre Komponente konnte nicht geladen werden, da vermutlich nicht zueinander passende Versionen verwendet werden. Aktuell haben Sie %1$S %2$S installiert, sollten aber eine Version aus der %3$Ser-Serie verwenden.
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+binaryComponentUnknown=Die für %1$S benötigte binäre Komponente konnte nicht geladen werden, da vermutlich nicht zueinander passende Versionen verwendet werden. Sie verwenden %2$S %3$S zusammen mit %1$S %4$S. Bitte besuchen Sie https://developer.mozilla.org/en/Calendar/Calendar_Versions für Details.
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=Nicht passende %1$S-Version
+
+# LOCALIZATION_NOTE(integrationLabel): Used by the notification bar shown when
+# Lightning is installed from the distribution folder. To trigger it, start a
+# new profile without Lightning in a previous Thunderbird version, then upgrade
+# to a Thunderbird that has Lightning packaged. See bug 1130852 for details.
+integrationLabel=Durch die Integration der Erweiterung %2$S enthält %1$S nun Kalenderfunktionen.
+integrationLearnMoreButton=Mehr erfahren
+integrationLearnMoreAccessKey=M
+integrationOptOutButton=Deaktivieren
+integrationOptOutAccessKey=D
+integrationKeepItButton=Behalten
+integrationKeepItAccessKey=B
+
+# LOCALIZATION_NOTE(integrationRestartLabel): At the current time its not yet
+# clear if we will be completely uninstalling Lightning or disabling it. Please
+# translate this string in a general manner, so that it makes sense for both
+# options.
+integrationRestartLabel=%1$S wird mit dem nächsten Neustart von %2$S entfernt. Sie können die Erweiterung mit Hilfe der Add-on-Verwaltung jederzeit wieder hinzufügen.
+integrationRestartButton=Jetzt neu starten
+integrationRestartAccessKey=n
+integrationUndoButton=Rückgängig
+integrationUndoAccessKey=R
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=Falls dieser Kalender zum Speichern von Einladungen von oder an andere Personen verwendet wird, sollte ihm unten eine E-Mail-Adresse zugewiesen werden.
diff --git a/l10n-de/calendar/lightning-l10n.js b/l10n-de/calendar/lightning-l10n.js
new file mode 100644
index 0000000000..81ffbcd696
--- /dev/null
+++ b/l10n-de/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", 1);
+
+# 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", "Jubiläum,Geburtstag,Geschäft,Anrufe,Klienten,Konkurrenz,Kunde,Favoriten,Nachgehen,Geschenke,Ferien,Ideen,Fragen,Verschiedenes,Persönlich,Projekte,Feiertag,Status,Lieferanten,Reise,Urlaub");