summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'thunderbird-l10n/cy/chrome/cy/locale/cy/calendar')
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-alarms.properties39
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.dtd419
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.properties541
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-extract.properties294
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-invitations-dialog.properties10
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.properties53
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd354
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.properties696
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendarCreation.dtd51
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendarCreation.properties6
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/categories.properties7
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/dateFormat.properties146
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/global.dtd25
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/menuOverlay.dtd50
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.dtd9
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.properties11
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/provider-uninstall.dtd12
-rw-r--r--thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/timezones.properties497
22 files changed, 3280 insertions, 0 deletions
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-alarms.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..f0eeb3c2a4
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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=Yr amser mae'r digwyddiad yn cychwyn
+reminderTitleAtStartTask=Yr amser mae'r dasg yn cychwyn
+reminderTitleAtEndEvent=Yr amser mae'r digwyddiad yn gorffen
+reminderTitleAtEndTask=Yr amser mae'r dasg yn gorffen
+
+# 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=Atgoffwr cysgu %1$S
+
+reminderCustomOriginBeginBeforeEvent=cyn i'r digwyddiad gychwyn
+reminderCustomOriginBeginAfterEvent=ar ôl i'r digwyddiad gychwyn
+reminderCustomOriginEndBeforeEvent=cyn diwedd y digwyddiad
+reminderCustomOriginEndAfterEvent=ar ôl i'r digwyddiad orffen
+reminderCustomOriginBeginBeforeTask=cyn i'r dasg gychwyn
+reminderCustomOriginBeginAfterTask=ar ôl i'r dasg gychwyn
+reminderCustomOriginEndBeforeTask=cyn diwedd y dasg
+reminderCustomOriginEndAfterTask=ar ôl diwedd y dasg
+
+reminderErrorMaxCountReachedEvent=Mae gan y calendr gyfyngiad o #1 rhybudd i bob digwyddiad.;Mae gan y calendr gyfyngiad o #1 rhybudd i bob digwyddiad.
+reminderErrorMaxCountReachedTask=Mae gan y calendr gyfyngiad o #1 rhybudd i bob tasg.;Mae gan y calendr gyfyngiad o #1 rhybudd i bob tasg.
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calenddars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=Dim ond cau ac nid cysgu y mae modd gwneud gydag atgoffwyr calendrau ar hyn o bryd - dim ond cysgu calendrau atgoffwyr ysgrifenadwy mae botwm '%1$S' yn ei wneud.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=Nid yw cysgu atgoffwr yn cael ei gynnal ar gyfer calendrau darllen yn unig
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog-attendees.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..3c68b863ce
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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 = Mynychwr Angenrheidiol
+event.attendee.role.optional = Mynychwr Dewisol
+event.attendee.role.nonparticipant = Nid Cyfrannogwr
+event.attendee.role.chair = Cadeirio
+event.attendee.role.unknown = Mynychwr Anhysbys (%1$S)
+
+event.attendee.usertype.individual = Unigolyn
+event.attendee.usertype.group = Grŵp
+event.attendee.usertype.resource = Adnodd
+event.attendee.usertype.room = Ystafell
+event.attendee.usertype.unknown = Math Anhysbys (%1$S)
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..68a804b1ca
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,419 @@
+<!-- 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 "Golygu Eitem" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Cadw'r cyfnod wrth newid y dyddiad gorffen">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label "O" >
+<!ENTITY newevent.to.label "At" >
+
+<!ENTITY newevent.status.label "Statws" >
+<!ENTITY newevent.status.accesskey "S" >
+<!ENTITY newevent.eventStatus.none.label "Heb ddiffinio" >
+<!ENTITY newevent.eventStatus.none.accesskey "H" >
+<!ENTITY newevent.todoStatus.none.label "Heb ddiffinio" >
+<!ENTITY newevent.eventStatus.cancelled.label "Diddymwyd" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "D" >
+<!ENTITY newevent.todoStatus.cancelled.label "Diddymwyd" >
+<!ENTITY newevent.status.tentative.label "Amodol" >
+<!ENTITY newevent.status.tentative.accesskey "A" >
+<!ENTITY newevent.status.confirmed.label "Cadarnhawyd" >
+<!ENTITY newevent.status.confirmed.accesskey "C" >
+<!ENTITY newevent.status.needsaction.label "Angen Gweithredu" >
+<!ENTITY newevent.status.inprogress.label "Ar Waith" >
+<!ENTITY newevent.status.completed.label "Cwblhawyd" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "Cwblhau &#037;">
+
+<!-- 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 "Hysbysu mynychwyr">
+<!ENTITY event.attendees.notify.accesskey "m">
+<!ENTITY event.attendees.notifyundisclosed.label "Gwahoddiad ar wahân i fynychwyr">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "G">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Mae'r dewis hwn yn anfon un e-bost gwahoddiad i bob mynychwr. Bydd y gwahoddiad yn cynnwys y mynychwr sy'n derbyn yn unig, fel nad yw manylion mynychwyr eraill yn cael eu datgelu.">
+<!ENTITY event.attendees.disallowcounter.label "Gwahardd cyfrif">
+<!ENTITY event.attendees.disallowcounter.accesskey "G">
+<!ENTITY event.attendees.disallowcounter.tooltip "Dangos nad ydych yn derbyn cynigion croes">
+
+<!-- Keyboard Shortcuts -->
+<!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.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 "Newydd">
+<!ENTITY event.menu.item.new.accesskey "N">
+<!ENTITY event.menu.item.new.event.label "Digwyddiad">
+<!ENTITY event.menu.item.new.event.accesskey "D">
+<!ENTITY event.menu.item.new.task.label "Tasg">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "Neges">
+<!ENTITY event.menu.item.new.message.accesskey "N">
+<!ENTITY event.menu.item.new.contact.label "Cysylltiad Llyfr Cyfeiriadau">
+<!ENTITY event.menu.item.new.contact.accesskey "y">
+<!ENTITY event.menu.item.close.label "Cau">
+<!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 "Cadw">
+<!ENTITY event.menu.item.save.accesskey "C">
+<!ENTITY event.menu.item.save.tab.accesskey "a">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.saveandclose.label "Cadw a Chau">
+<!ENTITY event.menu.item.saveandclose.accesskey "a">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "h">
+
+<!ENTITY event.menu.item.delete.label "Dileu…">
+<!ENTITY event.menu.item.delete.accesskey "D">
+
+<!ENTITY event.menu.edit.label "Golygu">
+<!ENTITY event.menu.edit.accesskey "G">
+<!ENTITY event.menu.edit.undo.label "Dadwneud">
+<!ENTITY event.menu.edit.undo.accesskey "D">
+<!ENTITY event.menu.edit.redo.label "Ailwneud">
+<!ENTITY event.menu.edit.redo.accesskey "A">
+<!ENTITY event.menu.edit.cut.label "Torri">
+<!ENTITY event.menu.edit.cut.accesskey "T">
+<!ENTITY event.menu.edit.copy.label "Copïo">
+<!ENTITY event.menu.edit.copy.accesskey "C">
+<!ENTITY event.menu.edit.paste.label "Gludo">
+<!ENTITY event.menu.edit.paste.accesskey "G">
+<!ENTITY event.menu.edit.select.all.label "Dewis y Cyfan">
+<!ENTITY event.menu.edit.select.all.accesskey "C">
+
+<!ENTITY event.menu.view.label "Golwg">
+<!ENTITY event.menu.view.accesskey "G">
+<!ENTITY event.menu.view.toolbars.label "Barrau Offer">
+<!ENTITY event.menu.view.toolbars.accesskey "B">
+<!ENTITY event.menu.view.toolbars.event.label "Bar Offer Digwyddiad">
+<!ENTITY event.menu.view.toolbars.event.accesskey "D">
+<!ENTITY event.menu.view.toolbars.customize.label "Cyfaddasu…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "y">
+
+<!ENTITY event.menu.options.label "Dewisiadau">
+<!ENTITY event.menu.options.accesskey "D">
+<!ENTITY event.menu.options.attendees.label "Gwahodd Mynychwyr…">
+<!ENTITY event.menu.options.attendees.accesskey "M">
+<!ENTITY event.menu.options.timezone2.label "Dangos Cylchoedd Amser">
+<!ENTITY event.menu.options.timezone2.accesskey "D">
+<!ENTITY event.menu.options.priority2.label "Blaenoriaeth">
+<!ENTITY event.menu.options.priority2.accesskey "B">
+<!ENTITY event.menu.options.priority.notspecified.label "Heb ddiffinio">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "d">
+<!ENTITY event.menu.options.priority.low.label "Isel">
+<!ENTITY event.menu.options.priority.low.accesskey "I">
+<!ENTITY event.menu.options.priority.normal.label "Arferol">
+<!ENTITY event.menu.options.priority.normal.accesskey "A">
+<!ENTITY event.menu.options.priority.high.label "Uchel">
+<!ENTITY event.menu.options.priority.high.accesskey "U">
+<!ENTITY event.menu.options.privacy.label "Preifatrwydd">
+<!ENTITY event.menu.options.privacy.accesskey "P">
+<!ENTITY event.menu.options.privacy.public.label "Digwyddiad Cyhoeddus">
+<!ENTITY event.menu.options.privacy.public.accesskey "C">
+<!ENTITY event.menu.options.privacy.confidential.label "Dangos Amser a Dyddiad yn Unig">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "A">
+<!ENTITY event.menu.options.privacy.private.label "Digwyddiad Preifat">
+<!ENTITY event.menu.options.privacy.private.accesskey "P">
+<!ENTITY event.menu.options.show.time.label "Dangos Amser fel">
+<!ENTITY event.menu.options.show.time.accesskey "A">
+<!ENTITY event.menu.options.show.time.busy.label "Prysur">
+<!ENTITY event.menu.options.show.time.busy.accesskey "P">
+<!ENTITY event.menu.options.show.time.free.label "Rhydd">
+<!ENTITY event.menu.options.show.time.free.accesskey "R">
+
+<!ENTITY event.invite.attendees.label "Gwahodd Mynychwyr…">
+<!ENTITY event.invite.attendees.accesskey "M">
+<!ENTITY event.email.attendees.label "Cyfansoddi E-bost i'r Holl Fynychwyr…">
+<!ENTITY event.email.attendees.accesskey "H">
+<!ENTITY event.email.tentative.attendees.label "Cyfansoddi E-bost i Fynychwyr Ansicr…">
+<!ENTITY event.email.tentative.attendees.accesskey "A">
+<!ENTITY event.remove.attendees.label2 "Tynnu'r holl fynychwyr">
+<!ENTITY event.remove.attendees.accesskey "T">
+<!ENTITY event.remove.attendee.label "Tynnu mynychwr">
+<!ENTITY event.remove.attendee.accesskey "T">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Cadw">
+<!ENTITY event.toolbar.saveandclose.label "Cadw a Chau">
+<!ENTITY event.toolbar.delete.label "Dileu">
+<!ENTITY event.toolbar.attendees.label "Gwahodd Mynychwyr">
+<!ENTITY event.toolbar.privacy.label "Preifatrwydd">
+
+<!ENTITY event.toolbar.save.tooltip2 "Cadw">
+<!ENTITY event.toolbar.saveandclose.tooltip "Cadw a Chau">
+<!ENTITY event.toolbar.delete.tooltip "Dileu">
+<!ENTITY event.toolbar.attendees.tooltip "Gwahodd Mynychwyr">
+<!ENTITY event.toolbar.attachments.tooltip "Ychwanegu Atodiad">
+<!ENTITY event.toolbar.privacy.tooltip "Newid Preifatrwydd">
+<!ENTITY event.toolbar.priority.tooltip "Newid Blaenoriaeth">
+<!ENTITY event.toolbar.status.tooltip "Newid Statws">
+<!ENTITY event.toolbar.freebusy.tooltip "Newid amser Rhydd/Prysur">
+
+<!-- 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 "Gosod y cynnig">
+<!ENTITY counter.button.proposal.accesskey "y">
+<!ENTITY counter.button.proposal.tooltip2 "Bydd meysydd digwyddiad yn cael eu llanw gan ddefnyddio'r gwerthoedd o'r gwrth-gynnig, bydd dim ond ei gadw gyda neu heb newidiadau ac yn hysbysu'r holl fynychwyr ohono">
+<!ENTITY counter.button.original.label "Gosod y data gwreiddiol">
+<!ENTITY counter.button.original.accesskey "g">
+<!ENTITY counter.button.original.tooltip2 "Bydd y meysydd yn cael eu gosod i'r gwerthoedd o'r digwyddiad gwreiddiol, cyn i'r gwrth-gynnig gael ei wneud">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Teitl:" >
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Lleoliad:" >
+<!ENTITY event.location.accesskey "L">
+<!ENTITY event.categories.label "Categori:">
+<!ENTITY event.categories.accesskey "a">
+<!ENTITY event.categories.textbox.label "Ychwanegu categori newydd" >
+<!ENTITY event.calendar.label "Calendr:" >
+<!ENTITY event.calendar.accesskey "a">
+<!ENTITY event.attendees.label "Mynychwyr:" >
+<!ENTITY event.attendees.accesskey "y">
+<!ENTITY event.alldayevent.label "Digwyddiad drwy'r Dydd" >
+<!ENTITY event.alldayevent.accesskey "D">
+<!ENTITY event.from.label "Cychwyn:" >
+<!ENTITY event.from.accesskey "C">
+<!ENTITY task.from.label "Cychwyn:" >
+<!ENTITY task.from.accesskey "C">
+<!ENTITY event.to.label "Gorffen:" >
+<!ENTITY event.to.accesskey "o">
+<!ENTITY task.to.label "Dyddiad Gorffen:" >
+<!ENTITY task.to.accesskey "E">
+<!ENTITY task.status.label "Statws:" >
+<!ENTITY task.status.accesskey "S">
+<!ENTITY event.repeat.label "Ailadrodd:" >
+<!ENTITY event.repeat.accesskey "A">
+<!ENTITY event.until.label "Tan:">
+<!ENTITY event.until.accesskey "T">
+<!ENTITY event.reminder.label "Atgoffwr:" >
+<!ENTITY event.reminder.accesskey "t">
+<!ENTITY event.description.label "Disgrifiad:" >
+<!ENTITY event.description.accesskey "D">
+<!ENTITY event.attachments.label "Atodiadau:" >
+<!ENTITY event.attachments.accesskey "A" >
+<!ENTITY event.attachments.menubutton.label "Atodi">
+<!ENTITY event.attachments.menubutton.accesskey "A">
+<!ENTITY event.attachments.url.label "Tudalen gwe…">
+<!ENTITY event.attachments.url.accesskey "T">
+<!ENTITY event.attachments.popup.remove.label "Tynnu" >
+<!ENTITY event.attachments.popup.remove.accesskey "T" >
+<!ENTITY event.attachments.popup.open.label "Agor" >
+<!ENTITY event.attachments.popup.open.accesskey "A" >
+<!ENTITY event.attachments.popup.removeAll.label "Tynnu'r Cyfan" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "T" >
+<!ENTITY event.attachments.popup.attachPage.label "Atodi Tudalen Gwe…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "G" >
+<!ENTITY event.url.label "Dolen Gysylltiedig:" >
+<!ENTITY event.priority2.label "Blaenoriaeth:">
+
+<!ENTITY event.reminder.none.label "Dim atgoffwr " >
+<!ENTITY event.reminder.0minutes.before.label "0 munud cyn hynny" >
+<!ENTITY event.reminder.5minutes.before.label "5 munud cyn hynny" >
+<!ENTITY event.reminder.15minutes.before.label "15 munud cyn hynny" >
+<!ENTITY event.reminder.30minutes.before.label "30 munud cyn hynny" >
+<!ENTITY event.reminder.1hour.before.label "1 awr cyn hynny" >
+<!ENTITY event.reminder.2hours.before.label "2 awr cyn hynny" >
+<!ENTITY event.reminder.12hours.before.label "12 awr cyn hynny" >
+<!ENTITY event.reminder.1day.before.label "1 diwrnod cyn hynny" >
+<!ENTITY event.reminder.2days.before.label "2 diwrnod cyn hynny" >
+<!ENTITY event.reminder.1week.before.label "1 wythnos cyn hynny" >
+<!ENTITY event.reminder.custom.label "Cyfaddasu…" >
+
+<!ENTITY event.reminder.multiple.label "Atgoffwyr Niferus…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Amser:">
+<!ENTITY event.statusbarpanel.privacy.label "Preifatrwydd:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Golygu'r ailadroddus">
+
+<!ENTITY event.repeat.does.not.repeat.label "Nid yw'n ailadrodd">
+<!ENTITY event.repeat.daily.label "Dyddiol">
+<!ENTITY event.repeat.weekly.label "Wythnosol">
+<!ENTITY event.repeat.every.weekday.label "Pob Diwrnod o'r Wythnos">
+<!ENTITY event.repeat.bi.weekly.label "Pythefnosol">
+<!ENTITY event.repeat.monthly.label "Misol">
+<!ENTITY event.repeat.yearly.label "Blynyddol">
+<!ENTITY event.repeat.custom.label "Cyfaddasu…">
+
+<!ENTITY event.recurrence.pattern.label "Patrwm ailddigwydd">
+<!ENTITY event.recurrence.occurs.label "Ailadrodd" >
+<!ENTITY event.recurrence.day.label "dyddiol" >
+<!ENTITY event.recurrence.week.label "wythnosol" >
+<!ENTITY event.recurrence.month.label "misol" >
+<!ENTITY event.recurrence.year.label "blynyddol" >
+
+<!ENTITY event.recurrence.pattern.every.label "Pob" >
+<!ENTITY repeat.units.days.both "Dydd(iau)" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Pob diwrnod wythnos" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Pob" >
+<!ENTITY repeat.units.weeks.both "Wythnos(au)" >
+<!ENTITY event.recurrence.on.label "Ar:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Pob" >
+<!ENTITY repeat.units.months.both "Mis" >
+<!ENTITY event.recurrence.monthly.every.label "Pob" >
+<!ENTITY event.recurrence.monthly.first.label "Y Cyntaf">
+<!ENTITY event.recurrence.monthly.second.label "Yr Ail">
+<!ENTITY event.recurrence.monthly.third.label "Y Trydydd">
+<!ENTITY event.recurrence.monthly.fourth.label "Y Pedwerydd">
+<!ENTITY event.recurrence.monthly.fifth.label "Y Pumed">
+<!ENTITY event.recurrence.monthly.last.label "Yr Olaf">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Sul" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Llun" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Mawrth" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Mercher" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Iau" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Gwener" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Sadwrn" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Diwrnod y mis">
+<!ENTITY event.recurrence.repeat.recur.label "Ail ddigwydd ar ddydd(iau)">
+
+<!ENTITY event.recurrence.every.label "Pob:" >
+<!ENTITY repeat.units.years.both "Blwyddyn" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Pob" >
+
+<!-- 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 "Ionawr" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Chwefror" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "Mawrth" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "Ebrill" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Mai" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Mehefin" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Gorffennaf" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Awst" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "Medi" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Hydref" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "Tachwedd" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Rhagfyr" >
+<!ENTITY event.recurrence.yearly.every.label "Pob">
+<!ENTITY event.recurrence.yearly.first.label "Y Cyntaf">
+<!ENTITY event.recurrence.yearly.second.label "Yr Ail">
+<!ENTITY event.recurrence.yearly.third.label "Y Trydydd">
+<!ENTITY event.recurrence.yearly.fourth.label "Y Pedwerydd">
+<!ENTITY event.recurrence.yearly.fifth.label "Y Pumed">
+<!ENTITY event.recurrence.yearly.last.label "Yr Olaf">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Sul" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Llun" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Mawrth" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Mercher" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Iau" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Gwener" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "Sadwrn" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "diwrnod" >
+<!ENTITY event.recurrence.of.label "o" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Ionawr" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Chwefror" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Mawrth" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "Ebrill" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Mai" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Mehefin" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Gorffennaf" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Awst" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Medi" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Hydref" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Tachwedd" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Rhagfyr" >
+
+<!ENTITY event.recurrence.range.label "Ystod ailadrodd">
+<!ENTITY event.recurrence.forever.label "Dim dyddiad gorffen" >
+<!ENTITY event.recurrence.repeat.for.label "Creu" >
+<!ENTITY event.recurrence.appointments.label "apwyntiad" >
+<!ENTITY event.repeat.until.label "Ailadrodd tan" >
+<!ENTITY event.recurrence.preview.label "Rhagolwg">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Gwahodd Mynychwyr">
+<!ENTITY event.organizer.label "Trefnydd">
+<!ENTITY event.freebusy.suggest.slot "Cynnig cyfnod trefnu:">
+<!ENTITY event.freebusy.button.next.slot "Cyfnod nesaf">
+<!ENTITY event.freebusy.button.previous.slot "Cyfnod blaenorol">
+<!ENTITY event.freebusy.zoom "Chwyddo:">
+<!ENTITY event.freebusy.legend.free "Rhydd" >
+<!ENTITY event.freebusy.legend.busy "Prysur" >
+<!ENTITY event.freebusy.legend.busy_tentative "Amodol" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Allan o'r Swyddfa" >
+<!ENTITY event.freebusy.legend.unknown "Dim Gwybodaeth" >
+<!ENTITY event.attendee.role.required "Mynychwr Angenrheidiol">
+<!ENTITY event.attendee.role.optional "Mynychwr Dewisol">
+<!ENTITY event.attendee.role.chair "Cadeirio">
+<!ENTITY event.attendee.role.nonparticipant "Nid Cyfrannogwr">
+<!ENTITY event.attendee.usertype.individual "Unigolyn">
+<!ENTITY event.attendee.usertype.group "Grŵp">
+<!ENTITY event.attendee.usertype.resource "Adnodd">
+<!ENTITY event.attendee.usertype.room "Ystafell">
+<!ENTITY event.attendee.usertype.unknown "Anhysbys">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Nodwch y Cylch Amser">
+<!ENTITY event.timezone.custom.label "Rhagor o Gylchoedd Amser…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "Cyffredinol">
+<!ENTITY read.only.title.label "Teitl:">
+<!ENTITY read.only.calendar.label "Calendr:">
+<!ENTITY read.only.event.start.label "Dyddiad Cychwyn:">
+<!ENTITY read.only.task.start.label "Dyddiad Cychwyn:">
+<!ENTITY read.only.event.end.label "Dyddiad Gorffen:">
+<!ENTITY read.only.task.due.label "Dyddiad Gorffen:">
+<!ENTITY read.only.repeat.label "Ailadrodd:">
+<!ENTITY read.only.location.label "Lleoliad:">
+<!ENTITY read.only.category.label "Categori:">
+<!ENTITY read.only.organizer.label "Trefnydd:">
+<!ENTITY read.only.reminder.label "Atgoffwr:">
+<!ENTITY read.only.attachments.label "Atodiadau:">
+<!ENTITY read.only.attendees.label "Mynychwyr">
+<!ENTITY read.only.description.label "Disgrifiad">
+<!ENTITY read.only.link.label "Dolenni Perthnasol">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Cadw a Chau">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Cadw'r newidiadau a chau'r ffenestr heb newid statws cyfrannu ac anfon ymateb">
+<!ENTITY summary.dialog.accept.label "Derbyn">
+<!ENTITY summary.dialog.accept.tooltiptext "Derbyn y gwahoddiad">
+<!ENTITY summary.dialog.tentative.label "Amodol">
+<!ENTITY summary.dialog.tentative.tooltiptext "Derbyn y gwahoddiad yn amodol">
+<!ENTITY summary.dialog.decline.label "Gwrthod">
+<!ENTITY summary.dialog.decline.tooltiptext "Gwrthod y gwahoddiad">
+<!ENTITY summary.dialog.dontsend.label "Peidio anfon ymateb">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Newid eich statws cyfranogi heb anfon ymateb i'r trefnydd a chau'r ffenestr">
+<!ENTITY summary.dialog.send.label "Anfon ymateb nawr">
+<!ENTITY summary.dialog.send.tooltiptext "Anfon ymateb i'r trefnydd a chau'r ffenestr">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..310285b7af
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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=pob diwrnod;pob #1 diwrnod
+repeatDetailsRuleDaily4=pob diwrnod o'r wythnos
+
+# 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=pob %1$S;pob #2 wythnos ar %1$S
+weeklyNthOnNounclass2=pob %1$S;pob #2 wythnos ar %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=pob wythnos;pob #1 wythnos
+
+# 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=Dydd Sul
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=Dydd Llun
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Dydd Mawrth
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Dydd Mercher
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Dydd Iau
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Dydd Gwener
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=Dydd Sadwrn
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=a
+
+# 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 o bob mis;%1$S o bob #2 mis
+monthlyRuleNthOfEveryNounclass2=%1$S o bob mis;%1$S o bob #2 mis
+
+# 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=bob %1$S o bob mis;bob %1$S o bob #2 mis
+monthlyEveryOfEveryNounclass2=bob %1$S o bob mis;bob %1$S o bob #2 mis
+
+# 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=diwrnod %1$S;diwrnod %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 o bob mis;%1$S o bob #2 mis
+
+# 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=diwrnod olaf y mis; diwrnod olaf pob #1 mis
+
+# 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=pob diwrnod o bob mis;pob diwrnod o'r mis bob #2 mis
+
+# 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=y cyntaf
+repeatOrdinal2Nounclass1=yr ail
+repeatOrdinal3Nounclass1=y trydydd
+repeatOrdinal4Nounclass1=y pedwerydd
+repeatOrdinal5Nounclass1=y pumed
+repeatOrdinal-1Nounclass1=yr olaf
+repeatOrdinal1Nounclass2=y cyntaf
+repeatOrdinal2Nounclass2=yr ail
+repeatOrdinal3Nounclass2=y trydydd
+repeatOrdinal4Nounclass2=y pedwerydd
+repeatOrdinal5Nounclass2=y pumed
+repeatOrdinal-1Nounclass2=yr olaf
+
+# 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=pob %1$S %2$S;pob #3 blwyddyn ar %1$S %2$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=%1$S %2$S o bob %3$S;pob #4 blwyddyn ar %1$S %2$S o %3$S
+yearlyNthOnNthOfNounclass2=%1$S %2$S o bob %3$S;pob #4 blwyddyn ar %1$S %2$S o %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=pob %1$S o %2$S;pob #3 blwyddyn ar bob %1$S of %2$S
+yearlyOnEveryNthOfNthNounclass2=pob %1$S o %2$S;pob #3 blwyddyn ar bob %1$S of %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=pob diwrnod o %1$S;pob #2 blwyddyn pob diwrnod yn %1$S
+
+repeatDetailsMonth1=Ionawr
+repeatDetailsMonth2=Chwefror
+repeatDetailsMonth3=Mawrth
+repeatDetailsMonth4=Ebrill
+repeatDetailsMonth5=Mai
+repeatDetailsMonth6=Mehefin
+repeatDetailsMonth7=Gorffennaf
+repeatDetailsMonth8=Awst
+repeatDetailsMonth9=Medi
+repeatDetailsMonth10=Hydref
+repeatDetailsMonth11=Tachwedd
+repeatDetailsMonth12=Rhagfyr
+
+# 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 occurrence 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=Yn digwydd %1$S\no %2$S am #5 gwaith\no %3$S hyd %4$S.;Yn digwydd %1$S\no %2$S am #5 gwaith\no %3$S hyd %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 occurrence 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=Yn digwydd %1$S\no %2$S am #3 gwaith.;Yn digwydd %1$S\no %2$S am #3 gwaith.
+
+# 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=Yn digwydd %1$S\no %2$S tan %3$S\no %4$S hyd %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=Yn digwydd %1$S\no %2$S hyd %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=Yn digwydd %1$S\no %2$S\no %3$S hyd %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=Yn digwydd %1$S\no %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=y diwrnod olaf
+
+# 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=Cliciwch yma am fanylion
+
+# 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=Manylion ailadrodd yn anhysbys
+
+# differences between the dialog for an Event or a Task
+newEvent=Digwyddiad Newydd
+newTask=Tasg Newydd
+itemMenuLabelEvent=Digwyddiad
+itemMenuAccesskeyEvent2=D
+itemMenuLabelTask=Tasg
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=Ynghylch: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Pennwch leoliad y ddolen
+enterLinkLocation=Rhowch leoliad tudalen gwe neu ddogfen.
+
+summaryDueTaskLabel=Erbyn:
+
+# Attach File Dialog
+attachViaFilelink=Ffeilio gan ddefnyddio %1$S
+selectAFile=Dewiswch ffeil(iau) i'w hatodi
+removeCalendarsTitle=Tynnu Atodiad
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=Peidio tynnu atodiadau?;Ydych chi wir eisiau tynnu #1 atodiad?;Ydych chi wir eisiau tynnu #1 o atodiadau?;Ydych chi wir eisiau tynnu #1 o atodiadau?;Ydych chi wir eisiau tynnu #1 o atodiadau?;Ydych chi wir eisiau tynnu #1 o atodiadau?
+
+# 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=Dydd Sul
+repeatDetailsDay2Plural=Dydd Llun
+repeatDetailsDay3Plural=Dydd Mawrth
+repeatDetailsDay4Plural=Dydd Mercher
+repeatDetailsDay5Plural=Dydd Iau
+repeatDetailsDay6Plural=Dydd Gwener
+repeatDetailsDay7Plural=Dydd Sadwrn
+
+# 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=Am Byth
+
+# 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=Y diwrnod olaf
+
+# 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=Mae 0%1$S wedi derbyn y gwahoddiad, ond wedi cyflwyno gwrthgynnig:
+
+# 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=Mae %1$S wedi gwrthod y gwahoddiad, ond wedi cynnig cyflwyno croes:
+
+# 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 wedi dirprwyo'r gwahoddiad, ond wedi cyflwyno gwrthgynnig:
+
+# 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=Nid yw %1$S wedi p'un ai i gymryd rhan ac wedi ac wedi cyflwyno gwrthgynnig:
+
+# 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=Mae 0%1$S wedi derbyn y gwahoddiad yn amodol, ond wedi cyflwyno gwrthgynnig:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Mae hyn yn gynnig croes i'r fersiwn blaenorol o'r digwyddiad hwn.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Rydych wedi atal cynigion croes wrth anfon y gwahoddiad.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Rydych wedi derbyn y gwahoddiad
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Rydych wedi derbyn y gwahoddiad yn amodol
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Rydych wedi gwrthod y gwahoddiad
+
+# 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=Rydych wedi dirprwyo'r gwahoddiad
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=Nid ydych wedi ymateb eto i'r gwahoddiad
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Rydych wedi derbyn gweithio ar y dasg hwn
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Rydych wedi derbyn gweithio ar y dasg hwn yn amodol
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Rydych wedi gwrthod gweithio ar y dasg hwn
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignment to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=Rydych wedi dirprwyo gweithio ar y dasg hwn
+
+# 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=Nid ydych wedi ymateb eto i'r gwahoddiad i'r aseiniad tasg yma
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Rydych wedi dechrau gweithio ar yr aseiniad tasg hwn
+
+# 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=Rydych wedi cwblhau gweithio ar yr aseiniad tasg hwn
+
+# 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=Anfon a Chau
+
+# 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=Hysbysu'r mynychwr a chau
+
+# 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=Cadw ac Anfon
+
+# 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=Cadw a hysbysu'r mynychwr
+
+# 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=Cadw ac Anfon
+
+# 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=Anfon a Chau
+
+# 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=Mynychwyr (%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=Atodiadau (%1$S):
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-extract.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..1f5182b6e2
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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
+# pattern. 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 =
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = gan | tan | at | - | nes | nes | a
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = gan | tan | at | - | nes | nes | a | erbyn: | erbyn | diweddu | y terfyn yw | terfyn:
+
+# 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 = wythnos diwethaf | anfonwyd | e-bost | yn lle | yn anffodus | o fewn | nid
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = llawr | flr | : | e-bost | e-bost | > | % | usd | doleri | $
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = heddiw
+
+from.tomorrow = yfory
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =
+
+# 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 = #1af | #1ail | #1yddd | #1edd
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = canol dydd
+until.noon =
+
+# 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 = am #1 | tua #1 | #1 - | #1 tan
+
+# 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 | tan #1 | tan #1 | erbyn #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = #1 am | #1 a.m
+
+# 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 = #1 pm | #1 p.m | #1 p
+
+# 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 = hanner awr cyn #1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = hanner wedi #1
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | am #1#2
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes =
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.am = #1:#2 am | #1:#2 a.m
+
+# 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 = #1:#2 pm | #1:#2 p.m | #1:#2 p
+
+# 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 | #2 #1 | #2 #1af | #2 #1ail | #2 #1ydd | #2 #1edd | #1af o #2 | #1ail o #2 | #1ydd o #2 | #1ed o #2
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #2/#1
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day =
+
+# 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 = #2/#1/#3 | #3/#2/#1 | #3-#2-#1
+
+# 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 =
+
+# 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 | #1af #2 #3 | #1ydd #2 #3 | #1rd #2 #3 | #1th #2 #3 | #2 #1, #3 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# 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 munud| #1 mun | #1 mun
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 awr| #1 awr
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 diwrnod
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = ionawr | ion | ion.
+month.2 = chwefror | chw | chw.
+month.3 = mawrth | maw | maw.
+month.4 = ebrill | ebr | ebr.
+month.5 = mai
+month.6 = mehefin | meh | meh.
+month.7 = gorffennaf | gor | gor.
+month.8 = awst | aws | aws.
+month.9 = medi | med | med. | medi.
+month.10 = hydref | hyd | hyd.
+month.11 = tachwedd | tac | tac.
+month.12 = rhagfyr | rha | rha.
+
+# 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 = dydd sul | dyddiau sul
+from.weekday.1 = dydd llun | dyddiau llun
+from.weekday.2 = dydd mawrth | dyddiau mawrth
+from.weekday.3 = dydd mercher | dyddiau mercher
+from.weekday.4 = dydd iau | dyddiau iau
+from.weekday.5 = dydd gwener | dyddiau gwener
+from.weekday.6 = dydd sadwrn | dyddiau sadwrn
+
+# 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 =
+until.weekday.1 =
+until.weekday.2 =
+until.weekday.3 =
+until.weekday.4 =
+until.weekday.5 =
+until.weekday.6 =
+
+# 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 = sero
+number.1 = un | cyntaf
+number.2 = dau | ail
+number.3 = tri | trydydd
+number.4 = pedwar | pedwerydd
+number.5 = pump | pumed
+number.6 = chwech | chweched
+number.7 = saith | seithfed
+number.8 = wyth | wythfed
+number.9 = naw | nawfed
+number.10 = deg | degfed
+number.11 = un ar ddeg | unfed ar ddeg
+number.12 = deuddeg | deuddegfed
+number.13 = un deg tri | trydydd ar ddeg
+number.14 = un deg | pedwar | pedwerydd ar ddeg
+number.15 = un deg pump | pymthegfed
+number.16 = un deg chwech | unfed ar bymtheg
+number.17 = un deg saith | dau ar bymtheg
+number.18 = un deg wyth | deunawfed
+number.19 = un deg naw | pedwerydd ar bymtheg
+number.20 = dau ddeg | ugeinfed
+number.21 = dau ddeg un | unfed ar hugain
+number.22 = dau ddeg dau | ail ar hugain
+number.23 = dau ddeg tri | trydydd ar hugain
+number.24 = dau ddeg pedwar | pedwerydd ar hugain
+number.25 = dau ddeg pump | pumed ar hugain
+number.26 = dau ddeg chwech | chweched ar hugain
+number.27 = dau ddeg saith | seithfed ar hugain
+number.28 = dau ddeg wyth | wythfed ar hugain
+number.29 = dau ddeg naw | nawfed ar hugain
+number.30 = trideg | degfed ar hugain
+number.31 = tri deg un | unfed ar ddeg ar hugain
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = abcchdddefffgnghilllmnopphrstthuwyABCCHDDDEFFFGNGHILLLMNOPPHRSTTHUWY
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-invitations-dialog.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..7be18a498f
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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 "Gwahoddiadau">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Diweddaru'r rhestr gwahoddedigion.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Heb ganfod gwahoddiadau heb eu cadarnhau.">
+<!-- Calendar Invitations List -->
+
+<!ENTITY calendar.invitations.list.accept.button.label "Derbyn">
+<!ENTITY calendar.invitations.list.decline.button.label "Gwrthod">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Digwyddiad ailadroddus">
+<!ENTITY calendar.invitations.list.alldayevent.text "Digwyddiad drwy'r dydd">
+<!ENTITY calendar.invitations.list.location.text "Lleoliad: ">
+<!ENTITY calendar.invitations.list.organizer.text "Trefnydd: ">
+<!ENTITY calendar.invitations.list.attendee.text "Mynychwr: ">
+<!ENTITY calendar.invitations.list.none.text "Dim">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-invitations-dialog.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..c6d9237723
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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=Digwyddiad diwrnod cyfan
+recurrent-event=Digwyddiad sy'n ddigwydd eto
+location=Lleoliad: %S
+organizer=Trefnydd: %S
+attendee=Mynychwr: %S
+none=Dim
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..403da0c517
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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 "y">
+<!ENTITY buttons.allfollowing.accesskey "f">
+<!ENTITY buttons.parent.accesskey "a">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..85c869590f
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar-occurrence-prompt.properties
@@ -0,0 +1,53 @@
+# 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=yn ddigwyddiad sy'n ailadrodd
+header.isrepeating.task.label=yn dasg sy'n ailadrodd\u0020
+header.containsrepeating.event.label=yn cynnwys digwyddiadau sy'n ailadrodd
+header.containsrepeating.task.label=yn cynnwys tasgau sy'n ailadrodd
+header.containsrepeating.mixed.label=yn cynnwys eitemau o fathau gwahanol sy'n ailadrodd
+
+windowtitle.event.copy=Copïo Digwyddid sy'n Ailadrodd
+windowtitle.task.copy=Copïo Tasg sy'n Ailadrodd
+windowtitle.mixed.copy=Copïo Eitemau sy'n Ailadrodd
+windowtitle.event.cut=Torri Digwyddiad sy'n Ailadrodd
+windowtitle.task.cut=Torri Tasgsy'n Ailadrodd
+windowtitle.mixed.cut=Torri Eitemau sy'n Ailadrodd
+windowtitle.event.delete=Dileu Tasg Ailadroddus
+windowtitle.task.delete=Dileu Tasg Ailadroddus
+windowtitle.mixed.delete=Dileu Eitemau sy'n Ailadrodd
+windowtitle.event.edit=Golygu Tasg Ailadroddus
+windowtitle.task.edit=Golygu Tasg Ailadroddus
+windowtitle.mixed.edit=Golygu Eitemau Ailadroddus
+windowtitle.multipleitems=Eitemau dewisiwyd
+
+buttons.single.occurrence.copy.label=Copïo dim ond y tro yma
+buttons.single.occurrence.cut.label=Torri dim ond yr achlysur yma
+buttons.single.occurrence.delete.label=Dileu dim ond yr achlysur yma
+buttons.single.occurrence.edit.label=Golygu dim ond y digwyddiad yma
+
+buttons.multiple.occurrence.copy.label=Copïo dim ond yr achlysuron hyn
+buttons.multiple.occurrence.cut.label=Torri dim ond yr achlysuron hyn
+buttons.multiple.occurrence.delete.label=Dileu dim ond yr achlysuron hyn
+buttons.multiple.occurrence.edit.label=Golygu achlysuron penodol
+
+buttons.single.allfollowing.copy.label=Copïo hwn a phob achlysur i'r dyfodol
+buttons.single.allfollowing.cut.label=Torri hwn a phob achlysur i'r dyfodol
+buttons.single.allfollowing.delete.label=Dileu hwn a phob achlysur i'r dyfodol
+buttons.single.allfollowing.edit.label=Golygu hwn a phob achlysur i'r dyfodol
+
+buttons.multiple.allfollowing.copy.label=Copïo hwn a phob achlysur i'r dyfodol
+buttons.multiple.allfollowing.cut.label=Torri hwn a phob achlysur i'r dyfodol
+buttons.multiple.allfollowing.delete.label=Dileu hwn a phob achlysur i'r dyfodol
+buttons.multiple.allfollowing.edit.label=Golygu hwn a phob achlysur i'r dyfodol
+
+buttons.single.parent.copy.label=Copïo pob achlysur
+buttons.single.parent.cut.label=Torri pob achlysur
+buttons.single.parent.delete.label=Dileu pob achlysur
+buttons.single.parent.edit.label=Golygu pob enghraifft
+
+buttons.multiple.parent.copy.label=Copïo pob achlysur o'r eitemau hyn
+buttons.multiple.parent.cut.label=Torri pob achlysur o'r eitemau hyn
+buttons.multiple.parent.delete.label=Dileu pob achlysur o'r eitemau hyn
+buttons.multiple.parent.edit.label=Golygu pob achlysur o'r eitemau hyn
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd
new file mode 100644
index 0000000000..d0c9e1c123
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd
@@ -0,0 +1,354 @@
+<!-- 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 "Calendr">
+<!ENTITY calendar.calendar.accesskey "C">
+
+<!ENTITY calendar.newevent.button.tooltip "Creu digwyddiad newydd" >
+<!ENTITY calendar.newtask.button.tooltip "Creu tasg newydd" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Dangos Tasgau wedi'u cwblhau">
+
+<!ENTITY calendar.today.button.label "Heddiw">
+<!ENTITY calendar.tomorrow.button.label "Yfory">
+
+<!ENTITY calendar.events.filter.all.label "Pob Digwyddiad">
+<!ENTITY calendar.events.filter.today.label "Digwyddiadau Heddiw">
+<!ENTITY calendar.events.filter.future.label "Pob Digwyddiad i'r Dyfodol">
+<!ENTITY calendar.events.filter.current.label "Diwrnod Cyfredol wedi'i Ddewis">
+<!ENTITY calendar.events.filter.currentview.label "Digwyddiadau yn y Golwg Gyfredol">
+<!ENTITY calendar.events.filter.next7Days.label "Digwyddiadau yn ystod y 7 Diwrnod Nesaf">
+<!ENTITY calendar.events.filter.next14Days.label "Digwyddiadau yn ystod y 14 Diwrnod Nesaf">
+<!ENTITY calendar.events.filter.next31Days.label "Digwyddiadau yn ystod y 31 Diwrnod Nesaf">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Digwyddiadau yn ystod y Mis Calendr yma">
+
+<!-- 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 "Gorffen">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Trefnu yn ôl eu cwblhau">
+<!ENTITY calendar.unifinder.tree.priority.label "Blaenoriaeth">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Trefnu yn ôl blaenoriaeth">
+<!ENTITY calendar.unifinder.tree.title.label "Teitl">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Trefnu yn ôl teitl">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "Cwblhawyd &#037;">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Trefnu yn ôl &#037; wedi'u cwblhau">
+<!ENTITY calendar.unifinder.tree.startdate.label "Cychwyn">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Trefnu yn ôl dyddiad cychwyn">
+<!ENTITY calendar.unifinder.tree.enddate.label "Diwedd">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Trefnu yn ôl dyddiad diwedd">
+<!ENTITY calendar.unifinder.tree.duedate.label "Erbyn">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Trefnu yn ôl diwrnod y digwyddiad">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Cwblhawyd">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Trefnu yn ôl dyddiad cwblhau">
+<!ENTITY calendar.unifinder.tree.categories.label "Categori">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Trefnu yn ôl categori">
+<!ENTITY calendar.unifinder.tree.location.label "Lleoliad">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Trefnu yn ôl lleoliad">
+<!ENTITY calendar.unifinder.tree.status.label "Statws">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Trefnu yn ôl statws">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Enw Calendr">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Trefnu yn ôl enw calendr">
+<!ENTITY calendar.unifinder.tree.duration.label "Cwblhau ymhen">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Trefnu yn ôl cyfnod hyd y digwyddiad">
+<!ENTITY calendar.unifinder.close.tooltip "Cau chwilio digwyddiadau a rhestr digwyddiadau">
+
+<!ENTITY calendar.today.button.tooltip "Mynd i Heddiw" >
+<!ENTITY calendar.todaypane.button.tooltip "Dangos Paen Heddiw" >
+
+<!ENTITY calendar.newevent.button.label "Digwyddiad Newydd" >
+<!ENTITY calendar.newtask.button.label "Tasg Newydd" >
+
+<!ENTITY calendar.onlyworkday.checkbox.label "Dyddiau'r wythnos waith yn unig" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "w" >
+<!ENTITY calendar.displaytodos.checkbox.label "Tasgau mewn Golwg" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "T" >
+<!ENTITY calendar.completedtasks.checkbox.label "Dangos Tasgau wedi'u cwblhau" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "D" >
+
+<!ENTITY calendar.orientation.label "Troi'r Golwg" >
+<!ENTITY calendar.orientation.accesskey "r" >
+
+<!ENTITY calendar.search.options.searchfor " yn cynnwys">
+
+<!ENTITY calendar.list.header.label "Calendr">
+
+<!ENTITY calendar.task.filter.title.label "Dangos">
+<!ENTITY calendar.task.filter.all.label "Y Cyfan">
+<!ENTITY calendar.task.filter.all.accesskey "C">
+<!ENTITY calendar.task.filter.today.label "Heddiw">
+<!ENTITY calendar.task.filter.today.accesskey "H">
+<!ENTITY calendar.task.filter.next7days.label "Saith Diwrnod Nesaf">
+<!ENTITY calendar.task.filter.next7days.accesskey "S">
+<!ENTITY calendar.task.filter.notstarted.label "Tasgau Heb eu Cychwyn">
+<!ENTITY calendar.task.filter.notstarted.accesskey "H">
+<!ENTITY calendar.task.filter.overdue.label "Tasgau Hwyr">
+<!ENTITY calendar.task.filter.overdue.accesskey "w">
+<!ENTITY calendar.task.filter.completed.label "Tasgau wedi'u Cwblhau">
+<!ENTITY calendar.task.filter.completed.accesskey "a">
+<!ENTITY calendar.task.filter.open.label "Tasgau heb eu Cwblhau">
+<!ENTITY calendar.task.filter.open.accesskey "g">
+
+<!-- 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 "Tasgau Cyfredol">
+<!ENTITY calendar.task.filter.current.accesskey "u">
+
+<!ENTITY calendar.task-details.title.label "teitl">
+<!ENTITY calendar.task-details.organizer.label "o">
+<!ENTITY calendar.task-details.priority.label "blaenoriaeth">
+<!ENTITY calendar.task-details.priority.low.label "Isel">
+<!ENTITY calendar.task-details.priority.normal.label "Arferol">
+<!ENTITY calendar.task-details.priority.high.label "Uchel">
+<!ENTITY calendar.task-details.status.label "statws">
+<!ENTITY calendar.task-details.category.label "categori">
+<!ENTITY calendar.task-details.repeat.label "ailadrodd">
+<!ENTITY calendar.task-details.attachments.label "atodiadau">
+<!ENTITY calendar.task-details.start.label "dyddiad cychwyn">
+<!ENTITY calendar.task-details.due.label "dyddiad cwblhau">
+
+<!ENTITY calendar.task.category.button.tooltip "Categoreiddio tasgau">
+<!ENTITY calendar.task.complete.button.tooltip "Marcio tasgau dewisol wedi'u cwblhau">
+<!ENTITY calendar.task.priority.button.tooltip "Newid blaenoriaeth">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Hidlo tasgau #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 "Agor">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "A">
+<!ENTITY calendar.context.modifyorviewtask.label "Agor Tasg…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "T">
+<!ENTITY calendar.context.newevent.label "Digwyddiad Newydd…">
+<!ENTITY calendar.context.newevent.accesskey "i">
+<!ENTITY calendar.context.newtodo.label "Tasg Newydd…">
+<!ENTITY calendar.context.newtodo.accesskey "a">
+<!ENTITY calendar.context.deletetask.label "Dileu Tasg">
+<!ENTITY calendar.context.deletetask.accesskey "l">
+<!ENTITY calendar.context.deleteevent.label "Dileu Digwyddiad">
+<!ENTITY calendar.context.deleteevent.accesskey "e">
+<!ENTITY calendar.context.cutevent.label "Torri">
+<!ENTITY calendar.context.cutevent.accesskey "T">
+<!ENTITY calendar.context.copyevent.label "Copïo">
+<!ENTITY calendar.context.copyevent.accesskey "C">
+<!ENTITY calendar.context.pasteevent.label "Gludo">
+<!ENTITY calendar.context.pasteevent.accesskey "G">
+<!ENTITY calendar.context.button.label "Paen Heddiw">
+<!ENTITY calendar.context.button.accesskey "P">
+
+<!ENTITY calendar.context.attendance.menu.label "Presenoldeb">
+<!ENTITY calendar.context.attendance.menu.accesskey "r">
+<!ENTITY calendar.context.attendance.occurrence.label "Achlysur">
+<!ENTITY calendar.context.attendance.all2.label "Cyfres Gyfan">
+<!ENTITY calendar.context.attendance.send.label "Anfon hysbysiad nawr">
+<!ENTITY calendar.context.attendance.send.accesskey "A">
+<!ENTITY calendar.context.attendance.dontsend.label "Peidio anfon hysbysiad">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "P">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "e">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Derbyn">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "y">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Derbyn yn amodol">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "g">
+<!ENTITY calendar.context.attendance.occ.declined.label "Gwrthod">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "r">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Dirprwyo">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "G">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Dal angen gwaith">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "W">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "Ar waith">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "W">
+<!ENTITY calendar.context.attendance.occ.completed.label "Cwblhawyd">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "d">
+<!ENTITY calendar.context.attendance.all.accepted.label "Wedi derbyn">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "a">
+<!ENTITY calendar.context.attendance.all.tentative.label "Derbyn yn amodol">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "w">
+<!ENTITY calendar.context.attendance.all.declined.label "Gwrthod">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "p">
+<!ENTITY calendar.context.attendance.all.delegated.label "Dirprwyo">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "n">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Dal angen gwaith">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "a">
+<!ENTITY calendar.context.attendance.all.inprogress.label "Ar waith">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "h">
+<!ENTITY calendar.context.attendance.all.completed.label "Cwblhawyd">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Cynnydd">
+<!ENTITY calendar.context.progress.accesskey "y">
+<!ENTITY calendar.context.priority.label "Blaenoriaeth">
+<!ENTITY calendar.context.priority.accesskey "B">
+<!ENTITY calendar.context.postpone.label "Gohirio Tasg">
+<!ENTITY calendar.context.postpone.accesskey "G">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Marcio wedi'i Gwblhau">
+<!ENTITY calendar.context.markcompleted.accesskey "G">
+
+<!ENTITY progress.level.0 "0&percnt; wedi'i Gwblhau">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "25&percnt; wedi'i Gwblhau">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "50&percnt; wedi'i Gwblhau">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "75&percnt; wedi'i Gwblhau">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "Cwblhawyd 100&percnt;">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "Heb ddiffinio">
+<!ENTITY priority.level.none.accesskey "e">
+<!ENTITY priority.level.low "Isel">
+<!ENTITY priority.level.low.accesskey "I">
+<!ENTITY priority.level.normal "Arferol">
+<!ENTITY priority.level.normal.accesskey "A">
+<!ENTITY priority.level.high "Uchel">
+<!ENTITY priority.level.high.accesskey "U">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 Awr">
+<!ENTITY calendar.context.postpone.1hour.accesskey "1">
+<!ENTITY calendar.context.postpone.1day.label "1 Diwrnod">
+<!ENTITY calendar.context.postpone.1day.accesskey "D">
+<!ENTITY calendar.context.postpone.1week.label "1 Wythnos">
+<!ENTITY calendar.context.postpone.1week.accesskey "W">
+
+<!ENTITY calendar.copylink.label "Copïo Lleoliad Dolen">
+<!ENTITY calendar.copylink.accesskey "D">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "Dileu">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Calendr Newydd…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "Canfod Calendr…" >
+<!ENTITY calendar.context.findcalendar.accesskey "C" >
+<!ENTITY calendar.context.deleteserver2.label "Dileu Calendr…">
+<!ENTITY calendar.context.deleteserver2.accesskey "D">
+
+<!-- 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 "Tynnu Calendr…">
+<!ENTITY calendar.context.removeserver.accesskey "T">
+<!ENTITY calendar.context.unsubscribeserver.label "Dad-danysgrifio i Galendr…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "D">
+<!ENTITY calendar.context.publish.label "Cyhoeddi Calendr…">
+<!ENTITY calendar.context.publish.accesskey "C">
+<!ENTITY calendar.context.export.label "Allforio Calendr…">
+<!ENTITY calendar.context.export.accesskey "A">
+<!ENTITY calendar.context.properties.label "Priodweddau">
+<!ENTITY calendar.context.properties.accesskey "P">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "d">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "U">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "D">
+<!ENTITY calendar.context.showall.label "Dangos Pob Calendr">
+<!ENTITY calendar.context.showall.accesskey "P">
+
+<!ENTITY calendar.context.convertmenu.label "Trosi i">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "n">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "T">
+<!ENTITY calendar.context.convertmenu.event.label "Digwyddiad…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "D">
+<!ENTITY calendar.context.convertmenu.message.label "Neges…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "T">
+<!ENTITY calendar.context.convertmenu.task.label "Tasg…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Mis Bach">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "B">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Rhestr Calendr">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "R">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Hidlo Tasgau">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "H">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Lleoliad:" >
+<!ENTITY calendar.alarm.details.label "Manylion…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Cysgu am" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Cysgu'r Cyfan am" >
+<!ENTITY calendar.alarm.title.label "Atgoffwyr Calendr" >
+<!ENTITY calendar.alarm.dismiss.label "Cau" >
+<!ENTITY calendar.alarm.dismissall.label "Cau'r Cyfan" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 Munud" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 Munud" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 Munud" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 Munud" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 Munud" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 Awr" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 Awr" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 Diwrnod" >
+
+<!-- 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 "Diddymu Cysgu">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Golygu'r Calendr">
+<!ENTITY calendar.server.dialog.name.label "Enw'r Calendr:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Lliw:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.format.label "Fformat:">
+<!ENTITY calendarproperties.location.label "Lleoliad:">
+<!ENTITY calendarproperties.refreshInterval.label "Adnewyddu'r Calendr:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Gyda Llaw">
+<!ENTITY calendarproperties.name.label "Enw:">
+<!ENTITY calendarproperties.readonly.label "Darllen yn Unig">
+<!ENTITY calendarproperties.firealarms.label "Dangos Atgoffwyr">
+<!ENTITY calendarproperties.cache3.label "Cefnogaeth All-lein">
+<!ENTITY calendarproperties.enabled2.label "Galluogi'r Calendr hwn">
+<!ENTITY calendarproperties.forceDisabled.label "Nid oes modd canfod darparwr y calendr hwn. Mae hyn yn digwydd yn aml os ydych wedi analluogi neu ddadosod rhai ychwanegion.">
+<!ENTITY calendarproperties.unsubscribe.label "Dad-danysgrifio">
+<!ENTITY calendarproperties.unsubscribe.accesskey "a">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Cyhoeddi Calendr">
+<!ENTITY calendar.publish.url.label "URL Cyhoeddi">
+<!ENTITY calendar.publish.publish.button "Cyhoeddi">
+<!ENTITY calendar.publish.close.button "Cau">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Dewis Calendr">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Manylion…">
+<!ENTITY calendar.error.code "Cod gwall:">
+<!ENTITY calendar.error.description "Disgrifiad:">
+<!ENTITY calendar.error.title "Digwyddodd gwall">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Ychwanegu digwyddiad">
+<!ENTITY calendar.extract.task.button "Ychwanegu fel tasg">
+<!ENTITY calendar.extract.event.button.tooltip "Tynnu gwybodaeth calendr o'r neges a'i ychwanegu i'ch calendr fel digwyddiad">
+<!ENTITY calendar.extract.task.button.tooltip "Tynnu gwybodaeth calendr o'r neges a'i ychwanegu i'ch calendr fel tasg">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.properties
new file mode 100644
index 0000000000..f8d077adcb
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.properties
@@ -0,0 +1,696 @@
+# 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 name for new events
+newEvent=Digwyddiad Newydd
+
+# Titles for the event/task dialog
+newEventDialog=Digwyddiad Newydd
+editEventDialog=Golygu Digwyddiad
+newTaskDialog=Tasg Newydd
+editTaskDialog=Golygu Tasg
+
+# Do you want to save changes?
+askSaveTitleEvent=Cadw Digwyddiad
+askSaveTitleTask=Cadw Tasg
+askSaveMessageEvent=Nid yw'r digwyddiad wedi'i gadw. Hoffech chi gadw'r digwyddiad?
+askSaveMessageTask=Nid yw'r dasg wedi'i chadw. Hoffech chi gadw'r dasg?
+
+# Event Dialog Warnings
+warningEndBeforeStart=Mae'r dyddiad gorffen yn digwydd ar ôl y dyddiad cychwyn
+warningUntilDateBeforeStart=Mae'r dyddiad tan yn digwydd cyn y dyddiad cychwyn
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Cartref
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Calendr heb Deitl
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Amodol
+statusConfirmed =Cadarnhawyd
+eventStatusCancelled=Diddymwyd
+todoStatusCancelled =Diddymwyd
+statusNeedsAction =Angen Gweithredu
+statusInProcess =Ar Waith
+statusCompleted =Cwblhawyd
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Uchel
+normalPriority=Arferol
+lowPriority=Isel
+
+importPrompt=I ba galendr hoffech chi fewnforio'r eitemau hyn?
+exportPrompt=O ba galendr hoffech chi allforio ohono?
+pastePrompt=I ba un o'ch calendrau ysgrifenadwy cyfredol hoffech chi ludo iddo?
+publishPrompt=Pa galendr hoffech chi gyhoeddi?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Mae eich gludo'n cynnwys cyfarfod
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Mae eich gludo'n cynnwys cyfarfodydd
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Mae eich gludo'n cynnwys aseiniad tasg
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Mae eich gludo'n cynnwys aseiniad tasgau
+# 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=Mae eich gludo'n cynnwys cyfarfodydd ac aseiniad tasgau
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Rydych yn gludo cyfarfod
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Rydych yn gludo cyfarfodydd
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Rydych yn gludo aseiniad tasg
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Rydych yn gludo aseiniad tasgau
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Rydych yn gludo cyfarfodydd ac aseiniad tasgau
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - hoffech chi anfon diweddariad i bawb?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Gludo ac anfon nawr
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Gludo heb anfon
+
+# 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 wedi methu a mewnforio. Y gwall olaf oedd: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=Methu mewnforio %1$S. Nid oes unrhyw eitemau y mae modd eu mewnforio yn y ffeil hon.
+
+#spaces needed at the end of the following lines
+eventDescription=Disgrifiad:
+
+unableToRead=Methu darllen o ffeil:
+unableToWrite=Methu ysgrifennu i ffeil:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Calendr Mozilla
+
+# 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=Cafwyd cylch amser anhysbys ac anniffiniedig wrth ddarllen %1$S.
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=Anwybyddwyd %1$S eitem(au) am eu bod yn bodoli yn y calendr cyrchfan ac yn %2$S.
+
+unableToCreateProvider=Digwyddodd gwall wrth baratoi'r calendr sydd yn %1$S ar gyfer ei ddefnyddio. Ni fydd ar gael.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Cylch aser anhysbys "%1$S" yn "%2$S". Yn cael ei drin fel cylch amser 'amhendant': %3$S
+TimezoneErrorsAlertTitle=Gwallau Cylchoedd Amser
+TimezoneErrorsSeeConsole=Gw. Consol Gwall: Mae cylchoedd amser anhysbys yn cael eu trin fel cylchoedd amser lleol 'amhendant'.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Tynnu Calendr
+removeCalendarButtonDelete=Dileu Calendr
+removeCalendarButtonUnsubscribe=Dad-danysgrifio
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Hoffech chi dynnu calendr "%1$S"? Bydd dad-danysgrifio'n tynnu'r calendr o'r rhestr, bydd dileu hefyd yn dileu'r data'n barhaol.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=Hoffech chi ddileu calendr "%1$S" yn barhaol?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=Hoffech chi ddad-danysgrifio i galendr "%1$S"?
+
+WeekTitle=Wythnos %1$S
+None=Dim
+
+# 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=Nid yw data eich calendr yn gydnaws â'r fersiwn hon o %1$S. Diweddarwyd data'r calendr yn eich proffil gan fersiwn mwy diweddar o %1$S. Mae copi wrth gefn o'r ffeil ddata wedi'i chreu, o'r enw "%2$S". Yn parhau gyda ffeil ddata sydd newydd ei chreu.
+
+# List of events or todos (unifinder)
+eventUntitled=Dim Teitl
+
+# Tooltips of events or todos
+tooltipTitle=Teitl:
+tooltipLocation=Lleoliad:
+# 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=Dyddiad:
+# event calendar name
+tooltipCalName=Enw'r Calendr:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Statws:
+# event organizer
+tooltipOrganizer=Trefnydd:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Cychwyn:
+tooltipDue=Erbyn:
+tooltipPriority=Blaenoriaeth:
+tooltipPercent=% Wedi'i Gwblhau:
+tooltipCompleted=Wedi'i Gwblhau:
+
+#File commands and dialogs
+New=Newydd
+Open=Agor
+filepickerTitleImport=Mewnforio
+filepickerTitleExport=Allforio
+
+# 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)
+filterHtml=Tudalen Gwe (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Digwyddodd gwall
+httpPutError=Methodd cyhoeddi'r ffeil calendr.\nStatws cod: %1$S: %2$S
+otherPutError=Methodd cyhoeddi ffeil calendr.\nStatws cod: 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=Bu gwall wrth ddarllen data ar gyfer y calendr: %1$S. Mae wedi'i osod ym modd darllen yn unig, gan fod newidiadau i'r calendr yn debygol o arwain at golli data. Mae modd newid y gosodiad drwy ddewis 'Golygu Calendr'.
+
+# 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=Bu gwall wrth ddarllen data ar gyfer y calendr: %1$S. Mae wedi'i analluogi nes ei fod yn ddiogel ei ddefnyddio.
+
+# 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=Bu gwall wrth ddarllen data ar gyfer y calendr: %1$S. Gan fod y gwall yn debygol o fod yn un bychan, bydd y rhaglen yn ceisio parhau.
+
+# 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=Bu gwall wrth ddarllen data ar gyfer y calendr: %1$S.
+utf8DecodeError=Bu gwall wrth geisio dadgodio ffeil iCalendr (ics) fel UTF-8. Gwiriwch fod y ffeil, gan gynnwys symbolau a nodau gydag acenion, wedi'i hamgodio gan ddefnyddio amgodiad nod UTF-8.
+icsMalformedError=Methodd didoli ffeil iCalendr (ics). Gwiriwch fod y ffeil yn cyd-fynd â chystrawen ffeil iCalendr (ics).
+itemModifiedOnServerTitle=Eitem wedi newid ar y gweinydd
+itemModifiedOnServer=Mae'r eitem wedi newid yn ddiweddar ar y gweinydd.\n
+modifyWillLoseData=Bydd cyflwyno newidiadau yn tros-ysgrifennu newidiadau sydd wedi'u gwneud ar y gweinydd.
+deleteWillLoseData=Bydd dileu'r eitem yn achosi colli'r newidiadau ar y gweinydd.
+updateFromServer=Hepgor fy newidiadau ac ail-lwytho
+proceedModify=Cyflwyno fy newidiadau beth bynnag
+proceedDelete=Dileu beth bynnag
+dav_notDav=Mae'r adnodd yn %1$S un ai ddim yn gasgliad DAV neu nid yw ar gael
+dav_davNotCaldav=Mae'r adnodd yn %1$S yn gasgliad DAV ond nid yw'n galendr CalDAV
+itemPutError=Bu gwall wrth gadw'r eitem ar y gweinydd.
+itemDeleteError=Bu gwall wrth ddileu'r eitem o'r gweinydd.
+caldavRequestError=Digwyddodd gwall wrth anfon gwahoddiad.
+caldavResponseError=Digwyddodd gwall wrth anfon yr ymateb.
+caldavRequestStatusCode=Cod Statws: %1$S
+caldavRequestStatusCodeStringGeneric=Nid oes modd prosesu'r cais.
+caldavRequestStatusCodeString400=Mae'r cais yn cynnwys cystrawen gwael ac nid oes modd ei brosesu.
+caldavRequestStatusCodeString403=Nid oes gan y defnyddiwr ganiatâd digonol i gyflawni'r cais.
+caldavRequestStatusCodeString404=Heb ganfod yr adnodd.
+caldavRequestStatusCodeString409=Gwrthdaro adnodd.
+caldavRequestStatusCodeString412=Methodd y rhag-amod.
+caldavRequestStatusCodeString500=Gwall mewnol gweinydd.
+caldavRequestStatusCodeString502=Porth gwael (Ffurfweddiad dirprwy?).
+caldavRequestStatusCodeString503=Gwall mewnol gweinydd (Methiant gweinydd dros dro?).
+caldavRedirectTitle=Diweddaru'r lleoliad ar gyfer calendr %1$S?
+caldavRedirectText=Mae'r ceisiadau am %1$S yn cael eu hailgyfeirio i leoliad newydd. Hoffech chi newid y lleoliad i'r gwerth canlynol?
+caldavRedirectDisableCalendar=Analluogi'r Calendr
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=America/Efrog Newydd, America/Chicago, America/Denver, America/Phoenix, America/Los_Angeles, America/Anchorage, America/Adak, Y Môr Tawel/Honolulu, America/Puerto_Rico, America/Halifax, America/Dinas_Mecsico, America/Argentina/Buenos_Aires, America/Sao_Paulo, Ewrop/Llundain, Ewrop/Paris, Asia/Singapore, Asia/Tokyo, Affrica/Lagos, Affrica/Johannesburg, Affrica/Nairobi, Awstralia/Brisbane, Awstralia/Sydney, Y Môr Tawel/Auckland
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - 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=Rhybudd: Nid yw cylch amser y system weithredu "%1$S"\n yn cydfynd bellach â'r cylch amser ZoneInfo mewnol "%2$S".
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=Yn hepgor cylch amser y System Weithredu '%1$S'.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Yn hepgor cylch amser y locale '%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=Rhybudd: Yn defnyddio cylch amser "amhendant".\nNid oes data cylch amser ZoneInfo ar gael sy'n cyd-fynd â data cylch amser y system weithredu.
+
+# "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=Rhybudd: Wedi dyfalu'r cylch amser\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Mae'r cylch amser ZoneInfo bron yn cyd-fynd â chylch amser y system weithredu.\nAr gyfer y rheol hwn mae'r trawsnewid rhwng oriau golau dydd ac amser safonol yn\namrywio dim mwy nag wythnos o drawsnewidiad cylch amser y system weithredu.\nEfallai bydd gwahaniaeth yn y data, megis dyddiad cychwyn gwahanol,\nneu reol gwahanol, neu frasamcanu rheol calendr heblaw rhai Georgaidd.
+
+TZSeemsToMatchOS=Mae'r ZoneInfo'r cylch amser i weld yn cyd-fynd â chylch amser y system weithredu eleni.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=Dewiswyd y cylch amser ZoneInfo ar sail dynodydd cylch amser y system\nweithredu "%1$S".
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=Mae'r cylch amser ZoneInfo yma wedi'i ddewis drwy gymharu cylch amser y system\nweithredu gyda'r cylchoedd amser tebygol ar gyfer defnyddwyr Saesneg UDA.
+
+TZFromKnownTimezones=Mae'r cylch amser ZoneInfo yma wedi ei ddewis drwy gymharu cylch amser y system\n weithredu gyda'r cylchoedd amser sydd â chylchoedd amser yn ôl trefn yr wyddor.
+
+# Print Layout
+tasksWithNoDueDate = Tasgau heb ddyddiad cwblhau
+
+# Providers
+caldavName=CalDAV
+compositeName=Cyfansawdd
+icsName=iCalendar (ICS)
+memoryName=Dros dro (cof)
+storageName=Lleol (SQLite)
+
+# Used in created html code for export
+htmlPrefixTitle=Teitl
+htmlPrefixWhen=Pryd
+htmlPrefixLocation=Lleoliad
+htmlPrefixDescription=Disgrifiad
+htmlTaskCompleted=%1$S (cwblhawyd)
+
+# Categories
+addCategory=Ychwanegu Categori
+multipleCategories=Categorïau Lluosog
+
+today=Heddiw
+tomorrow=Yfory
+yesterday=Ddoe
+
+#Today pane
+eventsonly=Digwyddiadau
+eventsandtasks=Digwyddiadau a Thasgau
+tasksonly=Tasgau
+shortcalendarweek=CW
+
+go=Mynd
+
+# 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=nesaf
+next2=nesaf
+last1=olaf
+last2=olaf
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=Dim Atgoffwrwyr;#1 Atgoffwr;#1 Atgoffwr;#1 Atgoffwr;#1 Atgoffwr;#1 Atgoffwr
+
+# 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=Yn Cychwyn: %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=Heddiw am %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=Yfory am %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=Yfory am %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=Disgrifiad Mozilla Rhagosodedig
+alarmDefaultSummary=Crynodeb Mozilla Rhagosodedig
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=Nid oes modd i chi huno larwm am fwy nag #1 mis.;Nid oes modd i chi huno larwm am fwy na #1 mis.
+
+taskDetailsStatusNeedsAction=Angen Gweithredu
+
+# 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=Wedi Cwblhau %1$S%%
+taskDetailsStatusCompleted=Cwblhawyd
+
+# 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=Wedi Cwblhau ar %1$S
+taskDetailsStatusCancelled=Diddymwyd
+
+gettingCalendarInfoCommon=Gwirio Calendrau…
+
+# 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=Gwirio Calendr %1$S o %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Cod gwall: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Disgrifiad: %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
+errorWriting2=Digwyddodd gwall wrth ysgrifennu i galendr %1$S! Gwelwch isod am ragor o wybodaeth.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Os ydych y gweld y neges hon ar ôl cysgu neu gau atgoffwr ac mae hwn yn galendr nad ydych eisiau ychwanegu na golygu digwyddiadau iddo, gallwch nodi'r calendr fel un darllen yn unig er mwyn osgoi profiadau o'r fath yn y dyfodol. I wneud hynny, ewch i briodoleddau'r calendr drwy roi clic de i'r calendr yma yn y rhestr yn y golwg calendr neu dasg.
+
+# 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=Nid yw calendr %1$S ar gael ar hyn o bryd
+
+# 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=Darllen yn unig yw calendr %1$S
+
+taskEditInstructions=Cliciwch yma i ychwanegu tasg newydd
+taskEditInstructionsReadonly=Dewiswch galendr ysgrifenadwy
+taskEditInstructionsCapability=Dewiswch galendr sy'n cynnal tasgau
+
+eventDetailsStartDate=Cychwyn:
+eventDetailsEndDate=Gorffen:
+
+# 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=Wythnos Calendr: %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=Wythnos Calendr: %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=WC: %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=WC: %1$S-%2$S
+
+# LOCALIZATION NOTE (multiweekViewWeek):
+# 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.
+multiweekViewWeek=W %1$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=Dim dyddiau;#1 diwrnod;#1 diwrnod;#1 diwrnod;#1 diwrnod;#1 diwrnod
+dueInHours=#1 awr;#1 awr
+dueInLessThanOneHour=< 1 awr
+
+# 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=%1$S %2$S – %3$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 common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%1$S %2$S – %3$S %4$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=%1$S %2$S, %3$S – %4$S %5$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= dim dyddiad cychwyn na gorffen
+# 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=dyddiad cychwyn %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=dyddiad gorffen %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Amser cychwyn
+dragLabelTasksWithOnlyDueDate=Erbyn
+
+deleteTaskLabel=Dileu Tasg
+deleteTaskAccesskey=l
+deleteItemLabel=Dileu
+deleteItemAccesskey=D
+deleteEventLabel=Dileu Digwyddiad
+deleteEventAccesskey=i
+
+calendarPropertiesEveryMinute=Pob munud;Pob #1 munud
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=Defnyddio %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=Defnyddio %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 munud;#1 munud;#1 funud;#1 munud;#1 munud;#1 munud
+unitHours=#1 awr;#1 awr
+unitDays=Dim dyddiau;#1 diwrnod;#1 diwrnod;#1 diwrnod;#1 diwrnod;#1 diwrnod
+unitWeeks=#1 wythnos;#1 wythnos
+
+# 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=Dangos %1$S
+hideCalendar=Cuddio %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Dangos Dim Ond %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Gwrthdaro Newid Eitem
+modifyConflictPromptMessage=Mae'r eitem s'yn cael ei golygu yn y ddeialog wedi ei newid ers ei hagor.
+modifyConflictPromptButton1=Trosysgrifenu'r newidiadau eraill
+modifyConflictPromptButton2=Hepgor y newidiadau hyn
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Dim dyddiad wedi ei ddewis
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendarCreation.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..9ec89b4c93
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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 "Creu Calendr Newydd" >
+<!ENTITY wizard.label "Creu calendr newydd" >
+<!ENTITY wizard.description "Lleoli eich calendr" >
+
+<!ENTITY initialpage.description "Mae modd gosod eich calendr ar eich cyfrifiadur neu ar weinydd fel bod modd i chi gael mynediad o bell neu ei rannu gyda'ch ffrindiau a'ch cydweithwyr." >
+<!ENTITY initialpage.computer.label "Ar Fy Nghyfrifiadur">
+<!ENTITY initialpage.network.label "Ar y Rhwydwaith">
+
+<!ENTITY locationpage.description "Darparwch y wybodaeth angenrheidiol ar gyfer cael mynediad at eich calendr pell" >
+<!ENTITY locationpage.login.description "Dewisol: rhowch enw defnyddiwr a chyfrinair" >
+<!ENTITY locationpage.username.label "Enw Defnyddiwr:" >
+<!ENTITY locationpage.password.label "Cyfrinair:" >
+
+<!ENTITY custompage.shortdescription "Cyfaddasu eich calendr" >
+<!ENTITY custompage.longdescription "Mae modd rhoi enw i'r calendr a lliwio digwyddiadau'r calendr." >
+
+<!ENTITY finishpage.shortdescription "Crëwyd y Calendr" >
+<!ENTITY finishpage.longdescription "Mae eich calendr wedi'i greu." >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Arall">
+
+<!ENTITY buttons.create.label "Creu Calendr">
+<!ENTITY buttons.create.accesskey "r">
+
+<!ENTITY buttons.find.label "Canfod Calendrau">
+<!ENTITY buttons.find.accesskey "f">
+
+<!ENTITY buttons.back.label "Nôl">
+<!ENTITY buttons.back.accesskey "N">
+
+<!ENTITY buttons.subscribe.label "Tanysgrifio">
+<!ENTITY buttons.subscribe.accesskey "T">
+
+<!ENTITY calendartype.label "Math o Galendr:">
+<!ENTITY location.label "Lleoliad:">
+<!ENTITY location.placeholder "URL neu enw gwesteiwr gweinydd y calendr">
+
+<!ENTITY network.nocredentials.label "Nid yw'r lleoliad hwn angen dilysiad">
+<!ENTITY network.loading.description "Arhoswch tra bod eich calendrau yn cael eu darganfod.">
+<!ENTITY network.notfound.description "Heb ganfod calendrau yn y lleoliad hwn. Gwiriwch eich gosodiadau.">
+<!ENTITY network.authfail.description "Nid yw'r manylion rydych wedi'u cynnig wedi eu derbyn. Gwiriwch eich gosodiadau.">
+
+<!ENTITY network.subscribe.single.description "Dewiswch y calendrau'r hoffech danysgrifio iddynt.">
+<!ENTITY network.subscribe.multiple.description "Mae mathau calendr lluosog ar gael; ar gyfer y lleoliad hwn. Dewiswch y math o galendr, yna mario'r calendrau yr hoffech chi danysgrifio iddyn nhw.">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendarCreation.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..3789a54d85
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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=Rhowch leoliad dilys.
+error.alreadyExists=Rydych eisoes wedi tanysgrifio i galendr yn y lleoliad hwn.
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/categories.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/categories.properties
new file mode 100644
index 0000000000..4706d4cb77
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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=Dathliadau,Pen-blwydd,Busnes,Galwadau,Cleientiaid,Cystadleuaeth,Cwsmer,Ffefrynnau,Dilyn,Anrhegion,Gwyliau,Syniadau,Materion,Amrywiol,Personol,Projectau,Gwyliau Cyhoeddus,Statws,Darparwyr,Teithio,Ffrindiau
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/dateFormat.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/dateFormat.properties
new file mode 100644
index 0000000000..06fd74182a
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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=Ionawr
+month.2.name=Chwefror
+month.3.name=Mawrth
+month.4.name=Ebrill
+month.5.name=Mai
+month.6.name=Mehefin
+month.7.name=Gorffennaf
+month.8.name=Awst
+month.9.name=Medi
+month.10.name=Hydref
+month.11.name=Tachwedd
+month.12.name=Rhagfyr
+
+# 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=Ionawr
+month.2.genitive=Chwefror
+month.3.genitive=Mawrth
+month.4.genitive=Ebrill
+month.5.genitive=Mai
+month.6.genitive=Mehefin
+month.7.genitive=Gorffennaf
+month.8.genitive=Awst
+month.9.genitive=Medi
+month.10.genitive=Hydref
+month.11.genitive=Tachwedd
+month.12.genitive=Rhagfyr
+
+month.1.Mmm=Ion
+month.2.Mmm=Chw
+month.3.Mmm=Maw
+month.4.Mmm=Ebr
+month.5.Mmm=Mai
+month.6.Mmm=Meh
+month.7.Mmm=Gor
+month.8.Mmm=Aws
+month.9.Mmm=Med
+month.10.Mmm=Hyd
+month.11.Mmm=Tach
+month.12.Mmm=Rha
+
+day.1.name=Dydd Sul
+day.2.name=Dydd Llun
+day.3.name=Dydd Mawrth
+day.4.name=Dydd Mercher
+day.5.name=Dydd Iau
+day.6.name=Dydd Gwener
+day.7.name=Dydd Sadwrn
+
+day.1.Mmm=Sul
+day.2.Mmm=Llu
+day.3.Mmm=Maw
+day.4.Mmm=Mer
+day.5.Mmm=Iau
+day.6.Mmm=Gwe
+day.7.Mmm=Sad
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=Su
+day.2.short=Ll
+day.3.short=Ma
+day.4.short=Me
+day.5.short=Ia
+day.6.short=Gw
+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=Canol Dydd
+midnight=Canol Nos
+
+AllDay=Trwy'r Dydd
+Repeating=(Ailadrodd)
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/dialogs/calendar-event-dialog-reminder.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..842271e494
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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 "Gosod Atgoffwyr">
+<!ENTITY reminder.add.label "Ychwanegu">
+<!ENTITY reminder.add.accesskey "Y">
+<!ENTITY reminder.remove.label "Tynnu">
+<!ENTITY reminder.remove.accesskey "T">
+
+<!ENTITY reminder.reminderDetails.label "Manylion Atgoffwr">
+<!ENTITY reminder.action.label "Dewis Gweithred Atgoffa">
+
+<!ENTITY reminder.action.alert.label "Dangos Rhybudd">
+<!ENTITY reminder.action.email.label "Anfon E-bost">
+
+<!ENTITY alarm.units.minutes "munud" >
+<!ENTITY alarm.units.hours "awr" >
+<!ENTITY alarm.units.days "diwrnod" >
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/global.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/global.dtd
new file mode 100644
index 0000000000..61fdb3c2e2
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/global.dtd
@@ -0,0 +1,25 @@
+<!-- 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 month.1.name "Ionawr" >
+<!ENTITY month.2.name "Chwefror" >
+<!ENTITY month.3.name "Mawrth" >
+<!ENTITY month.4.name "Ebrill" >
+<!ENTITY month.5.name "Mai" >
+<!ENTITY month.6.name "Mehefin" >
+<!ENTITY month.7.name "Gorffennaf" >
+<!ENTITY month.8.name "Awst" >
+<!ENTITY month.9.name "Medi" >
+<!ENTITY month.10.name "Hydref" >
+<!ENTITY month.11.name "Tachwedd" >
+<!ENTITY month.12.name "Rhagfyr" >
+
+<!ENTITY onemonthbackward.tooltip "Un Mis Nôl" >
+<!ENTITY onemonthforward.tooltip "Un Mis Ymlaen" >
+<!ENTITY oneyearbackward.tooltip "Nôl Un Flwyddyn" >
+<!ENTITY oneyearforward.tooltip "Ymlaen Un Flwyddyn" >
+<!ENTITY showToday.tooltip "Mynd i Heddiw">
+<!ENTITY onedayforward.tooltip "Ymlaen Un Diwrnod">
+<!ENTITY onedaybackward.tooltip "Nôl Un Diwrnod">
+<!ENTITY showselectedday.tooltip "Dangos digwyddiadau un diwrnod">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/menuOverlay.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..14f4785f43
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/menuOverlay.dtd
@@ -0,0 +1,50 @@
+<!-- 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 "Digwyddiad Newydd…">
+<!ENTITY event.new.event.accesskey "D">
+
+<!ENTITY event.new.task "Tasg Newydd…">
+<!ENTITY event.new.task.accesskey "T">
+
+<!ENTITY calendar.import.label "Mewnforio…">
+<!ENTITY calendar.import.accesskey "M">
+
+<!ENTITY calendar.export.label "Allforio…">
+<!ENTITY calendar.export.accesskey "A">
+
+<!ENTITY calendar.publish.label "Cyhoeddi…">
+<!ENTITY calendar.publish.accesskey "y">
+
+<!ENTITY calendar.deletecalendar.label "Dileu'r Calendr…">
+<!ENTITY calendar.deletecalendar.accesskey "i">
+<!ENTITY calendar.unsubscribecalendar.label "Dad-danysgrifo Calendrau Penodol…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "D">
+
+<!-- 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 "Tynnu Calendrau Penodol…">
+<!ENTITY calendar.removecalendar.accesskey "T">
+
+
+<!ENTITY calendar.menu.customize.label "Cyfaddasu…">
+<!ENTITY calendar.menu.customize.accesskey "f">
+
+<!ENTITY showUnifinderCmd.label "Canfod Digwyddiadau">
+<!ENTITY showUnifinderCmd.accesskey "f">
+<!ENTITY showUnifinderCmd.tooltip "Newid y paen canfod digwyddiadau">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Dangos Tasgau yn y Calendr">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "D">
+
+<!ENTITY goTodayCmd.label "Heddiw">
+<!ENTITY goTodayCmd.accesskey "H">
+
+<!ENTITY showCurrentView.label "Golwg Cyfredol">
+<!ENTITY showCurrentView.accesskey "G">
+
+<!ENTITY calendar.properties.label "Priodweddau'r Calendr…">
+<!ENTITY calendar.properties.accesskey "P">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.dtd
new file mode 100644
index 0000000000..bfe7a6f69e
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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;: Mewnforio Data">
+<!ENTITY migration.welcome "Croeso">
+<!ENTITY migration.importing "Mewnforio">
+<!ENTITY migration.list.description "Mae &brandShortName; yn gallu mewnforio data calendr o nifer o raglenni poblogaidd. Mae data o'r rhaglenni canlynol wedi'u canfod ar eich cyfrifiadur. Dewiswch o ba un o'r rhain rydych am fewnforio data.">
+<!ENTITY migration.progress.description "Mewnforio data dewiswyd">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.properties
new file mode 100644
index 0000000000..830bec0162
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/migration.properties
@@ -0,0 +1,11 @@
+# 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 = Mudo %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: Mewnforio Data
+migrationDescription=Mae %1$S yn gallu mewnforio data calendr o nifer o raglenni poblogaidd. Mae data o'r rhaglenni canlynol wedi'u canfod ar eich cyfrifiadur. Dewiswch o ba un o'r rhain yr hoffech fewnforio data.
+finished = Cwblhawyd
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/provider-uninstall.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..c7211dc306
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/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 "Dadosod Darparwr">
+<!ENTITY providerUninstall.accept.label "Dad-danysgrifio o'r Dewis">
+<!ENTITY providerUninstall.accept.accesskey "D">
+<!ENTITY providerUninstall.cancel.label "Cadw'r Ychwanegyn">
+<!ENTITY providerUninstall.cancel.accesskey "Y">
+<!ENTITY providerUninstall.preName.label "Rydych wedi gofyn i ddadosod neu analluogi:">
+<!ENTITY providerUninstall.postName.label "Bydd hyn yn achosi i'r calendrau isod gael eu hanalluogi.">
+<!ENTITY providerUninstall.reinstallNote.label "Oni bai eich bod yn cynllunio i ailosod y darparwr, gallwch ddewis i ddad-danysgrifio o galendrau'r darparwr.">
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/timezones.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/timezones.properties
new file mode 100644
index 0000000000..7b4a220057
--- /dev/null
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/timezones.properties
@@ -0,0 +1,497 @@
+# 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/.
+
+pref.timezone.floating=Amser Lleol
+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'
+
+# This list is derived from the IANA timezone database, but was always
+# incomplete. It will not be updated; future revisions will rely on metazones as
+# defined by CLDR, but these remain in place to prevent regressions in
+# localization.
+
+# timezone names:
+pref.timezone.Africa.Abidjan=Affrica/Abidjan
+pref.timezone.Africa.Accra=Affrica/Accra
+pref.timezone.Africa.Addis_Ababa=Affrica/Addis Ababa
+pref.timezone.Africa.Algiers=Affrica/Algiers
+pref.timezone.Africa.Asmara=Affrica/Asmara
+pref.timezone.Africa.Bamako=Affrica/Bamako
+pref.timezone.Africa.Bangui=Affrica/Bangui
+pref.timezone.Africa.Banjul=Affrica/Banjul
+pref.timezone.Africa.Bissau=Affrica/Bissau
+pref.timezone.Africa.Blantyre=Affrica/Blantyre
+pref.timezone.Africa.Brazzaville=Affrica/Brazzaville
+pref.timezone.Africa.Bujumbura=Affrica/Bujumbura
+pref.timezone.Africa.Cairo=Affrica/Cairo
+pref.timezone.Africa.Casablanca=Affrica/Casablanca
+pref.timezone.Africa.Ceuta=Affrica/Ceuta
+pref.timezone.Africa.Conakry=Affrica/Conakry
+pref.timezone.Africa.Dakar=Affrica/Dakar
+pref.timezone.Africa.Dar_es_Salaam=Affrica/Dar es Salaam
+pref.timezone.Africa.Djibouti=Affrica/Djibouti
+pref.timezone.Africa.Douala=Affrica/Douala
+pref.timezone.Africa.El_Aaiun=Affrica/El Aaiun
+pref.timezone.Africa.Freetown=Affrica/Freetown
+pref.timezone.Africa.Gaborone=Affrica/Gaborone
+pref.timezone.Africa.Harare=Affrica/Harare
+pref.timezone.Africa.Johannesburg=Affrica/Johannesburg
+pref.timezone.Africa.Kampala=Affrica/Kampala
+pref.timezone.Africa.Khartoum=Affrica/Khartoum
+pref.timezone.Africa.Kigali=Affrica/Kigali
+pref.timezone.Africa.Kinshasa=Affrica/Kinshasa
+pref.timezone.Africa.Lagos=Affrica/Lagos
+pref.timezone.Africa.Libreville=Affrica/Libreville
+pref.timezone.Africa.Lome=Affrica/Lome
+pref.timezone.Africa.Luanda=Affrica/Luanda
+pref.timezone.Africa.Lubumbashi=Affrica/Lubumbashi
+pref.timezone.Africa.Lusaka=Affrica/Lusaka
+pref.timezone.Africa.Malabo=Affrica/Malabo
+pref.timezone.Africa.Maputo=Affrica/Maputo
+pref.timezone.Africa.Maseru=Affrica/Maseru
+pref.timezone.Africa.Mbabane=Affrica/Mbabane
+pref.timezone.Africa.Mogadishu=Affrica/Mogadishu
+pref.timezone.Africa.Monrovia=Affrica/Monrovia
+pref.timezone.Africa.Nairobi=Africa/Nairobi
+pref.timezone.Africa.Ndjamena=Affrica/Ndjamena
+pref.timezone.Africa.Niamey=Affrica/Niamey
+pref.timezone.Africa.Nouakchott=Affrica/Nouakchott
+pref.timezone.Africa.Ouagadougou=Affrica/Ouagadougou
+pref.timezone.Africa.Porto-Novo=Affrica/Porto-Novo
+pref.timezone.Africa.Sao_Tome=Affrica/Sao Tome
+pref.timezone.Africa.Tripoli=Affrica/Tripoli
+pref.timezone.Africa.Tunis=Affrica/Tunis
+pref.timezone.Africa.Windhoek=Affrica/Windhoek
+pref.timezone.America.Adak=America/Adak
+pref.timezone.America.Anchorage=America/Anchorage
+pref.timezone.America.Anguilla=America/Anguilla
+pref.timezone.America.Antigua=America/Antigua
+pref.timezone.America.Araguaina=America/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=America/Yr Arianin/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=America/Yr Arianin/Catamarca
+pref.timezone.America.Argentina.Cordoba=America/Yr Arianin/Cordoba
+pref.timezone.America.Argentina.Jujuy=America/Yr Arianin/Jujuy
+pref.timezone.America.Argentina.La_Rioja=America/Yr Arianin/La Rioja
+pref.timezone.America.Argentina.Mendoza=America/Yr Arianin/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=America/Yr Arianin/Rio Gallegos
+pref.timezone.America.Argentina.San_Juan=America/Yr Arianin/San Juan
+pref.timezone.America.Argentina.Tucuman=America/Yr Arianin/Tucuman
+pref.timezone.America.Argentina.Ushuaia=America/Yr Arianin/Ushuaia
+pref.timezone.America.Aruba=America/Aruba
+pref.timezone.America.Asuncion=America/Asuncion
+pref.timezone.America.Atikokan=America/Atikokan
+pref.timezone.America.Bahia=America/Bahia
+pref.timezone.America.Barbados=America/Barbados
+pref.timezone.America.Belem=America/Belem
+pref.timezone.America.Belize=America/Belize
+pref.timezone.America.Blanc-Sablon=America/Blanc-Sablon
+pref.timezone.America.Boa_Vista=America/Boa Vista
+pref.timezone.America.Bogota=America/Bogota
+pref.timezone.America.Boise=America/Boise
+pref.timezone.America.Cambridge_Bay=America/Cambridge Bay
+pref.timezone.America.Campo_Grande=America/Campo Grande
+pref.timezone.America.Cancun=America/Cancun
+pref.timezone.America.Caracas=America/Caracas
+pref.timezone.America.Cayenne=America/Cayenne
+pref.timezone.America.Cayman=America/Cayman
+pref.timezone.America.Chicago=America/Chicago
+pref.timezone.America.Chihuahua=America/Chihuahua
+pref.timezone.America.Costa_Rica=America/Costa Rica
+pref.timezone.America.Cuiaba=America/Cuiaba
+pref.timezone.America.Curacao=America/Curacao
+pref.timezone.America.Danmarkshavn=America/Danmarkshavn
+pref.timezone.America.Dawson=America/Dawson
+pref.timezone.America.Dawson_Creek=America/Dawson Creek
+pref.timezone.America.Denver=America/Denver
+pref.timezone.America.Detroit=America/Detroit
+pref.timezone.America.Dominica=America/Dominica
+pref.timezone.America.Edmonton=America/Edmonton
+pref.timezone.America.Eirunepe=America/Eirunepe
+pref.timezone.America.El_Salvador=America/El Salvador
+pref.timezone.America.Fortaleza=America/Fortaleza
+pref.timezone.America.Glace_Bay=America/Glace Bay
+pref.timezone.America.Godthab=America/Godthab
+pref.timezone.America.Goose_Bay=America/Goose Bay
+pref.timezone.America.Grand_Turk=America/Grand Turk
+pref.timezone.America.Grenada=America/Grenada
+pref.timezone.America.Guadeloupe=America/Guadeloupe
+pref.timezone.America.Guatemala=America/Guatemala
+pref.timezone.America.Guayaquil=America/Guayaquil
+pref.timezone.America.Guyana=America/Guyana
+pref.timezone.America.Halifax=America/Halifax
+pref.timezone.America.Havana=America/Havana
+pref.timezone.America.Hermosillo=America/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=America/Indiana/Indianapolis
+pref.timezone.America.Indiana.Knox=America/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=America/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=America/Indiana/Petersburg
+pref.timezone.America.Indiana.Vevay=America/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=America/Indiana/Vincennes
+pref.timezone.America.Inuvik=America/Inuvik
+pref.timezone.America.Iqaluit=America/Iqaluit
+pref.timezone.America.Jamaica=America/Jamaica
+pref.timezone.America.Juneau=America/Juneau
+pref.timezone.America.Kentucky.Louisville=America/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=America/Kentucky/Monticello
+pref.timezone.America.La_Paz=America/La Paz
+pref.timezone.America.Lima=America/Lima
+pref.timezone.America.Los_Angeles=America/Los Angeles
+pref.timezone.America.Maceio=America/Maceio
+pref.timezone.America.Managua=America/Managua
+pref.timezone.America.Manaus=America/Manaus
+pref.timezone.America.Martinique=America/Martinique
+pref.timezone.America.Mazatlan=America/Mazatlan
+pref.timezone.America.Menominee=America/Menominee
+pref.timezone.America.Merida=America/Merida
+pref.timezone.America.Mexico_City=America/Mexico City
+pref.timezone.America.Miquelon=America/Miquelon
+pref.timezone.America.Moncton=America/Moncton
+pref.timezone.America.Monterrey=America/Monterrey
+pref.timezone.America.Montevideo=America/Montevideo
+pref.timezone.America.Montreal=America/Montreal
+pref.timezone.America.Montserrat=America/Montserrat
+pref.timezone.America.Nassau=America/Nassau
+pref.timezone.America.New_York=America/Efrog Newydd
+pref.timezone.America.Nipigon=America/Nipigon
+pref.timezone.America.Nome=America/Nome
+pref.timezone.America.Noronha=America/Noronha
+pref.timezone.America.North_Dakota.Center=America/North Dakota/Center
+pref.timezone.America.North_Dakota.New_Salem=America/North Dakota/New Salem
+pref.timezone.America.Panama=America/Panama
+pref.timezone.America.Pangnirtung=America/Pangnirtung
+pref.timezone.America.Paramaribo=America/Paramaribo
+pref.timezone.America.Phoenix=America/Phoenix
+pref.timezone.America.Port-au-Prince=America/Port-au-Prince
+pref.timezone.America.Port_of_Spain=America/Port of Spain
+pref.timezone.America.Porto_Velho=America/Porto Velho
+pref.timezone.America.Puerto_Rico=America/Puerto Rico
+pref.timezone.America.Rainy_River=America/Rainy River
+pref.timezone.America.Rankin_Inlet=America/Rankin Inlet
+pref.timezone.America.Recife=America/Recife
+pref.timezone.America.Regina=America/Regina
+pref.timezone.America.Rio_Branco=America/Rio Branco
+pref.timezone.America.Santiago=America/Santiago
+pref.timezone.America.Santo_Domingo=America/Santo Domingo
+pref.timezone.America.Sao_Paulo=America/Sao Paulo
+pref.timezone.America.Scoresbysund=America/Scoresbysund
+pref.timezone.America.Shiprock=America/Shiprock
+pref.timezone.America.St_Johns=America/St. Johns
+pref.timezone.America.St_Kitts=America/St. Kitts
+pref.timezone.America.St_Lucia=America/St. Lucia
+pref.timezone.America.St_Thomas=America/St. Thomas
+pref.timezone.America.St_Vincent=America/St. Vincent
+pref.timezone.America.Swift_Current=America/Swift Current
+pref.timezone.America.Tegucigalpa=America/Tegucigalpa
+pref.timezone.America.Thule=America/Thule
+pref.timezone.America.Thunder_Bay=America/Thunder Bay
+pref.timezone.America.Tijuana=America/Tijuana
+pref.timezone.America.Toronto=America/Toronto
+pref.timezone.America.Tortola=America/Tortola
+pref.timezone.America.Vancouver=America/Vancouver
+pref.timezone.America.Whitehorse=America/Whitehorse
+pref.timezone.America.Winnipeg=America/Winnipeg
+pref.timezone.America.Yakutat=America/Yakutat
+pref.timezone.America.Yellowknife=America/Yellowknife
+pref.timezone.Antarctica.Casey=Antarctica/Casey
+pref.timezone.Antarctica.Davis=Antarctica/Davis
+pref.timezone.Antarctica.DumontDUrville=Antarctica/DumontDUrville
+pref.timezone.Antarctica.Mawson=Antarctica/Mawson
+pref.timezone.Antarctica.McMurdo=Antarctica/McMurdo
+pref.timezone.Antarctica.Palmer=Antarctica/Palmer
+pref.timezone.Antarctica.Rothera=Antarctica/Rothera
+pref.timezone.Antarctica.South_Pole=Antarctica/Pegwn y De
+pref.timezone.Antarctica.Syowa=Antarctica/Syowa
+pref.timezone.Antarctica.Vostok=Antarctica/Vostok
+pref.timezone.Arctic.Longyearbyen=Arctig/Longyearbyen
+pref.timezone.Asia.Aden=Asia/Aden
+pref.timezone.Asia.Almaty=Asia/Almaty
+pref.timezone.Asia.Amman=Asia/Amman
+pref.timezone.Asia.Anadyr=Asia/Anadyr
+pref.timezone.Asia.Aqtau=Asia/Aqtau
+pref.timezone.Asia.Aqtobe=Asia/Aqtobe
+pref.timezone.Asia.Ashgabat=Asia/Ashgabat
+pref.timezone.Asia.Baghdad=Asia/Baghdad
+pref.timezone.Asia.Bahrain=Asia/Bahrain
+pref.timezone.Asia.Baku=Asia/Baku
+pref.timezone.Asia.Bangkok=Asia/Bangkok
+pref.timezone.Asia.Beirut=Asia/Beirut
+pref.timezone.Asia.Bishkek=Asia/Bishkek
+pref.timezone.Asia.Brunei=Asia/Brunei
+pref.timezone.Asia.Choibalsan=Asia/Choibalsan
+pref.timezone.Asia.Chongqing=Asia/Chongqing
+pref.timezone.Asia.Colombo=Asia/Colombo
+pref.timezone.Asia.Damascus=Asia/Damascus
+pref.timezone.Asia.Dhaka=Asia/Dhaka
+pref.timezone.Asia.Dili=Asia/Dili
+pref.timezone.Asia.Dubai=Asia/Dubai
+pref.timezone.Asia.Dushanbe=Asia/Dushanbe
+pref.timezone.Asia.Gaza=Asia/Gaza
+pref.timezone.Asia.Harbin=Asia/Harbin
+pref.timezone.Asia.Hong_Kong=Asia/Hong Kong
+pref.timezone.Asia.Hovd=Asia/Hovd
+pref.timezone.Asia.Irkutsk=Asia/Irkutsk
+pref.timezone.Asia.Istanbul=Asia/Istanbul
+pref.timezone.Asia.Jakarta=Asia/Jakarta
+pref.timezone.Asia.Jayapura=Asia/Jayapura
+pref.timezone.Asia.Jerusalem=Asia/Jerusalem
+pref.timezone.Asia.Kabul=Asia/Kabul
+pref.timezone.Asia.Kamchatka=Asia/Kamchatka
+pref.timezone.Asia.Karachi=Asia/Karachi
+pref.timezone.Asia.Kashgar=Asia/Kashgar
+pref.timezone.Asia.Kathmandu=Asia/Kathmandu
+pref.timezone.Asia.Krasnoyarsk=Asia/Krasnoyarsk
+pref.timezone.Asia.Kuala_Lumpur=Asia/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asia/Kuching
+pref.timezone.Asia.Kuwait=Asia/Kuwait
+pref.timezone.Asia.Macau=Asia/Macau
+pref.timezone.Asia.Magadan=Asia/Magadan
+pref.timezone.Asia.Makassar=Asia/Makassar
+pref.timezone.Asia.Manila=Asia/Manila
+pref.timezone.Asia.Muscat=Asia/Muscat
+pref.timezone.Asia.Nicosia=Asia/Nicosia
+pref.timezone.Asia.Novosibirsk=Asia/Novosibirsk
+pref.timezone.Asia.Omsk=Asia/Omsk
+pref.timezone.Asia.Oral=Asia/Oral
+pref.timezone.Asia.Phnom_Penh=Asia/Phnom Penh
+pref.timezone.Asia.Pontianak=Asia/Pontianak
+pref.timezone.Asia.Pyongyang=Asia/Pyongyang
+pref.timezone.Asia.Qatar=Asia/Qatar
+pref.timezone.Asia.Qyzylorda=Asia/Qyzylorda
+pref.timezone.Asia.Rangoon=Asia/Rangoon
+pref.timezone.Asia.Riyadh=Asia/Riyadh
+pref.timezone.Asia.Sakhalin=Asia/Sakhalin
+pref.timezone.Asia.Samarkand=Asia/Samarkand
+pref.timezone.Asia.Seoul=Asia/Seoul
+pref.timezone.Asia.Shanghai=Asia/Shanghai
+pref.timezone.Asia.Singapore=Asia/Singapore
+pref.timezone.Asia.Taipei=Asia/Taipei
+pref.timezone.Asia.Tashkent=Asia/Tashkent
+pref.timezone.Asia.Tbilisi=Asia/Tbilisi
+pref.timezone.Asia.Tehran=Asia/Tehran
+pref.timezone.Asia.Thimphu=Asia/Thimphu
+pref.timezone.Asia.Tokyo=Asia/Tokyo
+pref.timezone.Asia.Ulaanbaatar=Asia/Ulaanbaatar
+pref.timezone.Asia.Urumqi=Asia/Urumqi
+pref.timezone.Asia.Vientiane=Asia/Vientiane
+pref.timezone.Asia.Vladivostok=Asia/Vladivostok
+pref.timezone.Asia.Yakutsk=Asia/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asia/Yekaterinburg
+pref.timezone.Asia.Yerevan=Asia/Yerevan
+pref.timezone.Atlantic.Azores=Môr Iwerydd/Azores
+pref.timezone.Atlantic.Bermuda=Môr Iwerydd/Bermuda
+pref.timezone.Atlantic.Canary=Môr Iwerydd/Canary
+pref.timezone.Atlantic.Cape_Verde=Môr Iwerydd/Cape Verde
+pref.timezone.Atlantic.Faroe=Môr Iwerydd/Faroe
+pref.timezone.Atlantic.Madeira=Môr Iwerydd/Madeira
+pref.timezone.Atlantic.Reykjavik=Môr Iwerydd/Reykjavik
+pref.timezone.Atlantic.South_Georgia=Môr Iwerydd/South Georgia
+pref.timezone.Atlantic.St_Helena=Môr Iwerydd/St. Helena
+pref.timezone.Atlantic.Stanley=Môr Iwerydd/Stanley
+pref.timezone.Australia.Adelaide=Awstralia/Adelaide
+pref.timezone.Australia.Brisbane=Awstralia/Brisbane
+pref.timezone.Australia.Broken_Hill=Awstralia/Broken Hill
+pref.timezone.Australia.Currie=Awstralia/Currie
+pref.timezone.Australia.Darwin=Awstralia/Darwin
+pref.timezone.Australia.Eucla=Awstralia/Eucla
+pref.timezone.Australia.Hobart=Awstralia/Hobart
+pref.timezone.Australia.Lindeman=Awstralia/Lindeman
+pref.timezone.Australia.Lord_Howe=Awstralia/Lord Howe
+pref.timezone.Australia.Melbourne=Awstralia/Melbourne
+pref.timezone.Australia.Perth=Awstralia/Perth
+pref.timezone.Australia.Sydney=Australia/Sydney
+pref.timezone.Europe.Amsterdam=Ewrop/Amsterdam
+pref.timezone.Europe.Andorra=Ewrop/Andorra
+pref.timezone.Europe.Athens=Ewrop/Athens
+pref.timezone.Europe.Belgrade=Europe/Belgrade
+pref.timezone.Europe.Berlin=Ewrop/Berlin
+pref.timezone.Europe.Bratislava=Europe/Bratislava
+pref.timezone.Europe.Brussels=Europe/Brwsel
+pref.timezone.Europe.Bucharest=Ewrop/Bucharest
+pref.timezone.Europe.Budapest=Ewrop/Budapest
+pref.timezone.Europe.Chisinau=Ewrop/Chisinau
+pref.timezone.Europe.Copenhagen=Ewrop/Copenhagen
+pref.timezone.Europe.Dublin=Europe/Dulun
+pref.timezone.Europe.Gibraltar=Europe/Gibraltar
+pref.timezone.Europe.Guernsey=Ewrop/Guernsey
+pref.timezone.Europe.Helsinki=Ewrop/Helsinki
+pref.timezone.Europe.Isle_of_Man=Ewrop/Ynys Manaw
+pref.timezone.Europe.Istanbul=Ewrop/Istanbul
+pref.timezone.Europe.Jersey=Ewrop/Jersey
+pref.timezone.Europe.Kaliningrad=Ewrop/Kalingrad
+pref.timezone.Europe.Kiev=Ewrop/Kiev
+pref.timezone.Europe.Lisbon=Ewrop/Lisbon
+pref.timezone.Europe.Ljubljana=Ewrop/Ljubljana
+pref.timezone.Europe.London=Ewrop/Llundain
+pref.timezone.Europe.Luxembourg=Ewrop/Lwcsembwrg
+pref.timezone.Europe.Madrid=Ewrop/Madrid
+pref.timezone.Europe.Malta=Ewrop/Malta
+pref.timezone.Europe.Mariehamn=Ewrop/Mariehamn
+pref.timezone.Europe.Minsk=Ewrop/Minsk
+pref.timezone.Europe.Monaco=Ewrop/Monaco
+pref.timezone.Europe.Moscow=Ewrop/Moscow
+pref.timezone.Europe.Nicosia=Ewrop/Nicosia
+pref.timezone.Europe.Oslo=Ewrop/Oslo
+pref.timezone.Europe.Paris=Ewrop/Paris
+pref.timezone.Europe.Podgorica=Ewrop/Podgorica
+pref.timezone.Europe.Prague=Ewrop/Prâg
+pref.timezone.Europe.Riga=Ewrop/Riga
+pref.timezone.Europe.Rome=Ewrop/Rhufain
+pref.timezone.Europe.Samara=Ewrop/Samara
+pref.timezone.Europe.San_Marino=Ewrop/San Marino
+pref.timezone.Europe.Sarajevo=Ewrop/Sarajevo
+pref.timezone.Europe.Simferopol=Ewrop/Simferopol
+pref.timezone.Europe.Skopje=Ewrop/Skopje
+pref.timezone.Europe.Sofia=Ewrop/Sofia
+pref.timezone.Europe.Stockholm=Ewrop/Stockholm
+pref.timezone.Europe.Tallinn=Ewrop/Tallinn
+pref.timezone.Europe.Tirane=Ewrop/Tirane
+pref.timezone.Europe.Uzhgorod=Ewrop/Uzhgorod
+pref.timezone.Europe.Vaduz=Ewrop/Vaduz
+pref.timezone.Europe.Vatican=Ewrop/Fatican
+pref.timezone.Europe.Vienna=Ewrop/Vienna
+pref.timezone.Europe.Vilnius=Ewrop/Vilnius
+pref.timezone.Europe.Volgograd=Ewrop/Volgograd
+pref.timezone.Europe.Warsaw=Ewrop/Warsaw
+pref.timezone.Europe.Zagreb=Ewrop/Zagreb
+pref.timezone.Europe.Zaporozhye=Ewrop/Zaporozhye
+pref.timezone.Europe.Zurich=Ewrop/Zurich
+pref.timezone.Indian.Antananarivo=Môr India/Antananarivo
+pref.timezone.Indian.Chagos=Môr India/Chagos
+pref.timezone.Indian.Christmas=Môr India/Christmas
+pref.timezone.Indian.Cocos=Môr India/Cocos
+pref.timezone.Indian.Comoro=Môr India/Comoro
+pref.timezone.Indian.Kerguelen=Môr India/Kerguelen
+pref.timezone.Indian.Mahe=Môr India/Mahe
+pref.timezone.Indian.Maldives=Môr India/Maldives
+pref.timezone.Indian.Mauritius=Môr India/Mauritius
+pref.timezone.Indian.Mayotte=Môr India/Mayotte
+pref.timezone.Indian.Reunion=Môr India/Reunion
+pref.timezone.Pacific.Apia=Môr Tawel/Apia
+pref.timezone.Pacific.Auckland=Môr Tawel/Auckland
+pref.timezone.Pacific.Chatham=Môr Tawel/Cnatham
+pref.timezone.Pacific.Easter=Môr Tawel/Easter
+pref.timezone.Pacific.Efate=Môr Tawel/Efate
+pref.timezone.Pacific.Enderbury=Môr Tawel/Enderbury
+pref.timezone.Pacific.Fakaofo=Môr Tawel/Fakaofo
+pref.timezone.Pacific.Fiji=Môr Tawel/Fiji
+pref.timezone.Pacific.Funafuti=Môr Tawel/Funafuti
+pref.timezone.Pacific.Galapagos=Môr Tawel/Galapagos
+pref.timezone.Pacific.Gambier=Môr Tawel/Gambier
+pref.timezone.Pacific.Guadalcanal=Môr Tawel/Guadalcanal
+pref.timezone.Pacific.Guam=Môr Tawel/Guam
+pref.timezone.Pacific.Honolulu=Môr Tawel/Honolulu
+pref.timezone.Pacific.Johnston=Môr Tawel/Johnston
+pref.timezone.Pacific.Kiritimati=Môr Tawel/Kiritimati
+pref.timezone.Pacific.Kosrae=Môr Tawel/Kosrae
+pref.timezone.Pacific.Kwajalein=Môr Tawel/Kwajalein
+pref.timezone.Pacific.Majuro=Môr Tawel/Majuro
+pref.timezone.Pacific.Marquesas=Môr Tawel/Marquesas
+pref.timezone.Pacific.Midway=Môr Tawel/Midway
+pref.timezone.Pacific.Nauru=Môr Tawel/Nauru
+pref.timezone.Pacific.Niue=Môr Tawel/Niue
+pref.timezone.Pacific.Norfolk=Môr Tawel/Norfolk
+pref.timezone.Pacific.Noumea=Môr Tawel/Noumea
+pref.timezone.Pacific.Pago_Pago=Môr Tawel/Pago Pago
+pref.timezone.Pacific.Palau=Môr Tawel/Palau
+pref.timezone.Pacific.Pitcairn=Môr Tawel/Pitcairn
+pref.timezone.Pacific.Ponape=Môr Tawel/Ponape
+pref.timezone.Pacific.Port_Moresby=Môr Tawel/Port Moresby
+pref.timezone.Pacific.Rarotonga=Môr Tawel/Rarotonga
+pref.timezone.Pacific.Saipan=Môr Tawel/Saipan
+pref.timezone.Pacific.Tahiti=Môr Tawel/Tahiti
+pref.timezone.Pacific.Tarawa=Môr Tawel/Tarawa
+pref.timezone.Pacific.Tongatapu=Môr Tawel/Tongatapu
+pref.timezone.Pacific.Truk=Môr Tawel/Truk
+pref.timezone.Pacific.Wake=Môr Tawel/Wake
+pref.timezone.Pacific.Wallis=Môr Tawel/Wallis
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=America/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=America/Indiana/Winamac
+pref.timezone.America.Marigot=America/Marigot
+pref.timezone.America.Resolute=America/Resolute
+pref.timezone.America.St_Barthelemy=America/St. Barthelemy
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=America/Yr Ariannin/San Luis
+pref.timezone.America.Santarem=America/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asia/Ho Chi Minh
+pref.timezone.Asia.Kolkata=Asia/Kolkata
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=America/Yr Ariannin/Salta
+
+# added with 2010i
+pref.timezone.America.Matamoros=America/Matamoros
+pref.timezone.America.Ojinaga=America/Ojinaga
+pref.timezone.America.Santa_Isabel=America/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antarctica/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asia/Novokuznetsk
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=America/Bahia Banderas
+pref.timezone.America.North_Dakota.Beulah=America/North Dakota/Beulah
+pref.timezone.Pacific.Chuuk=Môr Tawel/Chuuk
+pref.timezone.Pacific.Pohnpei=Môr Tawel/Pohnpei
+
+#added with 2011n
+pref.timezone.Africa.Juba=Affrica/Juba
+pref.timezone.America.Kralendijk=America/Kralendijk
+pref.timezone.America.Lower_Princes=America/Lower Princes
+pref.timezone.America.Metlakatla=America/Metlakatla
+pref.timezone.America.Sitka=America/Sitka
+pref.timezone.Asia.Hebron=Asia/Hebron
+
+#added with 2013a
+pref.timezone.America.Creston=America/Creston
+pref.timezone.Asia.Khandyga=Asia/Khandyga
+pref.timezone.Asia.Ust-Nera=Asia/Ust-Nera
+pref.timezone.Europe.Busingen=Ewrop/Busingen
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Antarctica/Troll
+
+#added with 2014j
+pref.timezone.Asia.Chita=Asia/Chita
+pref.timezone.Asia.Srednekolymsk=Asia/Srednekolymsk
+pref.timezone.Pacific.Bougainville=Y Môr Tawel/Bougainville
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=America/Fort Nelson
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Ewrop/Ulyanovsk
+pref.timezone.Europe.Astrakhan=Ewrop/Astrakhan
+pref.timezone.Asia.Barnaul=Asia/Barnaul
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asia/Yangon
+pref.timezone.Asia.Tomsk=Asia/Tomsk
+pref.timezone.Asia.Famagusta=Asia/Famagusta
+pref.timezone.Europe.Kirov=Ewrop/Kirov
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Ewrop/Saratov
+pref.timezone.Asia.Atyrau=Asia/Atyrau
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=America/Punta Arenas
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Asia/Qostanay
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=America/Nuuk
+
+#added with 2.2021c
+pref.timezone.Pacific.Kanton=Môr Tawel/Kanton
+
+#added with 2.2022b
+pref.timezone.Europe.Kyiv=Ewrop/Kyiv
+
+#added with 2.2023c
+pref.timezone.America.Ciudad_Juarez=America/Ciudad Juarez