summaryrefslogtreecommitdiffstats
path: root/l10n-uk/calendar/chrome
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /l10n-uk/calendar/chrome
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'l10n-uk/calendar/chrome')
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-alarms.properties39
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-event-dialog.dtd428
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-event-dialog.properties541
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-extract.properties294
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.properties10
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd14
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar.dtd407
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendar.properties818
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendarCreation.dtd51
-rw-r--r--l10n-uk/calendar/chrome/calendar/calendarCreation.properties6
-rw-r--r--l10n-uk/calendar/chrome/calendar/categories.properties7
-rw-r--r--l10n-uk/calendar/chrome/calendar/dateFormat.properties146
-rw-r--r--l10n-uk/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--l10n-uk/calendar/chrome/calendar/global.dtd54
-rw-r--r--l10n-uk/calendar/chrome/calendar/menuOverlay.dtd50
-rw-r--r--l10n-uk/calendar/chrome/calendar/migration.dtd9
-rw-r--r--l10n-uk/calendar/chrome/calendar/migration.properties13
-rw-r--r--l10n-uk/calendar/chrome/calendar/provider-uninstall.dtd12
-rw-r--r--l10n-uk/calendar/chrome/calendar/timezones.properties488
-rw-r--r--l10n-uk/calendar/chrome/lightning/lightning-toolbar.dtd51
-rw-r--r--l10n-uk/calendar/chrome/lightning/lightning.dtd116
-rw-r--r--l10n-uk/calendar/chrome/lightning/lightning.properties201
26 files changed, 3878 insertions, 0 deletions
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-alarms.properties b/l10n-uk/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..0a638682ef
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=Початок події
+reminderTitleAtStartTask=Початок завдання
+reminderTitleAtEndEvent=Закінчення події
+reminderTitleAtEndTask=Закінчення завдання
+
+# 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=Дрімотне нагадування за %1$S
+
+reminderCustomOriginBeginBeforeEvent=напередодні події
+reminderCustomOriginBeginAfterEvent=після початку події
+reminderCustomOriginEndBeforeEvent=перед завершенням події
+reminderCustomOriginEndAfterEvent=по завершенні події
+reminderCustomOriginBeginBeforeTask=напередодні завдання
+reminderCustomOriginBeginAfterTask=після початку завдання
+reminderCustomOriginEndBeforeTask=перед завершенням завдання
+reminderCustomOriginEndAfterTask=по завершенні завдання
+
+reminderErrorMaxCountReachedEvent=Обраний календар має обмеження з #1 нагадуваннями про подію.;Обраний календар має обмеження з #1 нагадуваннями про подію.;Обраний календар має обмеження з #1 нагадуваннями про подію.
+reminderErrorMaxCountReachedTask=Обраний календар має обмеження з #1 нагадуваннями про завдання.;Обраний календар має обмеження з #1 нагадуваннями про завдання.;Обраний календар має обмеження з #1 нагадуваннями про завдання.
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calendars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=Наразі неможливо відкласти нагадування для календарів лише для читання, а можливо лише відхилити. Кнопка '%1$S' буде відкладати нагадування лише для календарів, що мають дозвіл на запис.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=Відкладання нагадування не підтримується в календарях, призначених лише для читання
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/l10n-uk/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..7858e7e160
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+event.attendee.role.required = Запрошений учасник
+event.attendee.role.optional = Альтернативний учасник
+event.attendee.role.nonparticipant = Не є учасником
+event.attendee.role.chair = Модератор
+event.attendee.role.unknown = Невідомий учасник (%1$S)
+
+event.attendee.usertype.individual = Особа
+event.attendee.usertype.group = Група
+event.attendee.usertype.resource = Ресурс
+event.attendee.usertype.room = Кімната
+event.attendee.usertype.unknown = Невідомий тип (%1$S)
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-uk/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..d470bda07a
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,428 @@
+<!-- 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 "Редагувати пункт" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Зберігати тривалість коли змінюється кінцева дата">
+<!ENTITY event.dialog.keepDurationButton.accesskey "К">
+
+<!ENTITY newevent.from.label "З" >
+<!ENTITY newevent.to.label "До" >
+
+<!ENTITY newevent.status.label "Стан" >
+<!ENTITY newevent.status.accesskey "С" >
+<!ENTITY newevent.eventStatus.none.label "Не зазначено" >
+<!ENTITY newevent.eventStatus.none.accesskey "Н" >
+<!ENTITY newevent.todoStatus.none.label "Не зазначено" >
+<!ENTITY newevent.eventStatus.cancelled.label "Скасовано" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "О" >
+<!ENTITY newevent.todoStatus.cancelled.label "Скасовано" >
+<!ENTITY newevent.status.tentative.label "Попередньо" >
+<!ENTITY newevent.status.tentative.accesskey "П" >
+<!ENTITY newevent.status.confirmed.label "Підтверджено" >
+<!ENTITY newevent.status.confirmed.accesskey "т" >
+<!ENTITY newevent.status.needsaction.label "Вимагає дії" >
+<!ENTITY newevent.status.inprogress.label "В процесі" >
+<!ENTITY newevent.status.completed.label "Завершено:" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#37; завершено">
+
+<!-- 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 "Повідомити учасників">
+<!ENTITY event.attendees.notify.accesskey "П">
+<!ENTITY event.attendees.notifyundisclosed.label "Окремі запрошення на учасника">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "О">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "В цьому варіанті надсилається одне запрошення на учасника. Кожне запрошення містить лише адресу учасника, таким чином інші учасники не розголошуються.">
+<!ENTITY event.attendees.disallowcounter.label "Не дозволяти зустрічні пропозиції">
+<!ENTITY event.attendees.disallowcounter.accesskey "з">
+<!ENTITY event.attendees.disallowcounter.tooltip "Вказує, що ви не приймаєте зустрічні пропозиції">
+
+<!-- Keyboard Shortcuts -->
+<!ENTITY event.dialog.new.event.key2 "I">
+<!ENTITY event.dialog.new.task.key2 "D">
+<!ENTITY event.dialog.new.message.key2 "N">
+<!ENTITY event.dialog.close.key "W">
+<!ENTITY event.dialog.save.key "S">
+<!ENTITY event.dialog.saveandclose.key "L">
+<!ENTITY event.dialog.print.key "P">
+<!ENTITY event.dialog.undo.key "Z">
+<!ENTITY event.dialog.redo.key "Y">
+<!ENTITY event.dialog.cut.key "X">
+<!ENTITY event.dialog.copy.key "C">
+<!ENTITY event.dialog.paste.key "V">
+<!ENTITY event.dialog.select.all.key "A">
+
+<!-- Menubar -->
+<!ENTITY event.menu.item.new.label "Створити">
+<!ENTITY event.menu.item.new.accesskey "С">
+<!ENTITY event.menu.item.new.event.label "Подію">
+<!ENTITY event.menu.item.new.event.accesskey "П">
+<!ENTITY event.menu.item.new.task.label "Завдання">
+<!ENTITY event.menu.item.new.task.accesskey "З">
+<!ENTITY event.menu.item.new.message.label "Лист">
+<!ENTITY event.menu.item.new.message.accesskey "Л">
+<!ENTITY event.menu.item.new.contact.label "Контакт адресної книги">
+<!ENTITY event.menu.item.new.contact.accesskey "К">
+<!ENTITY event.menu.item.close.label "Закрити">
+<!ENTITY event.menu.item.close.accesskey "к">
+
+<!-- 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 "Зберегти">
+<!ENTITY event.menu.item.save.accesskey "б">
+<!ENTITY event.menu.item.save.tab.accesskey "б">
+
+<!-- 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 "Зберегти та закрити">
+<!ENTITY event.menu.item.saveandclose.accesskey "т">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "т">
+
+<!ENTITY event.menu.item.delete.label "Видалити…">
+<!ENTITY event.menu.item.delete.accesskey "В">
+<!ENTITY event.menu.item.page.setup.label "Параметри сторінки">
+<!ENTITY event.menu.item.page.setup.accesskey "р">
+<!ENTITY event.menu.item.print.label "Друк">
+<!ENTITY event.menu.item.print.accesskey "Д">
+
+<!ENTITY event.menu.edit.label "Правка">
+<!ENTITY event.menu.edit.accesskey "П">
+<!ENTITY event.menu.edit.undo.label "Скасувати">
+<!ENTITY event.menu.edit.undo.accesskey "С">
+<!ENTITY event.menu.edit.redo.label "Повторити">
+<!ENTITY event.menu.edit.redo.accesskey "П">
+<!ENTITY event.menu.edit.cut.label "Вирізати">
+<!ENTITY event.menu.edit.cut.accesskey "р">
+<!ENTITY event.menu.edit.copy.label "Копіювати">
+<!ENTITY event.menu.edit.copy.accesskey "К">
+<!ENTITY event.menu.edit.paste.label "Вставити">
+<!ENTITY event.menu.edit.paste.accesskey "В">
+<!ENTITY event.menu.edit.select.all.label "Виділити все">
+<!ENTITY event.menu.edit.select.all.accesskey "с">
+
+<!ENTITY event.menu.view.label "Вигляд">
+<!ENTITY event.menu.view.accesskey "В">
+<!ENTITY event.menu.view.toolbars.label "Панелі інструментів">
+<!ENTITY event.menu.view.toolbars.accesskey "П">
+<!ENTITY event.menu.view.toolbars.event.label "Панель Подій">
+<!ENTITY event.menu.view.toolbars.event.accesskey "П">
+<!ENTITY event.menu.view.toolbars.customize.label "Налаштувати…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "Н">
+<!ENTITY event.menu.view.showlink.label "Показувати стосовне посилання">
+<!ENTITY event.menu.view.showlink.accesskey "с">
+
+<!ENTITY event.menu.options.label "Налаштування">
+<!ENTITY event.menu.options.accesskey "Н">
+<!ENTITY event.menu.options.attendees.label "Запросити учасників…">
+<!ENTITY event.menu.options.attendees.accesskey "с">
+<!ENTITY event.menu.options.timezone2.label "Показати часові пояси">
+<!ENTITY event.menu.options.timezone2.accesskey "ч">
+<!ENTITY event.menu.options.priority2.label "Пріоритет">
+<!ENTITY event.menu.options.priority2.accesskey "р">
+<!ENTITY event.menu.options.priority.notspecified.label "Не визначено">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "о">
+<!ENTITY event.menu.options.priority.low.label "Низький">
+<!ENTITY event.menu.options.priority.low.accesskey "Н">
+<!ENTITY event.menu.options.priority.normal.label "Середній">
+<!ENTITY event.menu.options.priority.normal.accesskey "С">
+<!ENTITY event.menu.options.priority.high.label "Високий">
+<!ENTITY event.menu.options.priority.high.accesskey "В">
+<!ENTITY event.menu.options.privacy.label "Приватність">
+<!ENTITY event.menu.options.privacy.accesskey "а">
+<!ENTITY event.menu.options.privacy.public.label "Публічна подія">
+<!ENTITY event.menu.options.privacy.public.accesskey "у">
+<!ENTITY event.menu.options.privacy.confidential.label "Показувати тільки дату і час">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "з">
+<!ENTITY event.menu.options.privacy.private.label "Особиста подія">
+<!ENTITY event.menu.options.privacy.private.accesskey "О">
+<!ENTITY event.menu.options.show.time.label "Показувати час як">
+<!ENTITY event.menu.options.show.time.accesskey "т">
+<!ENTITY event.menu.options.show.time.busy.label "Зайнятий">
+<!ENTITY event.menu.options.show.time.busy.accesskey "я">
+<!ENTITY event.menu.options.show.time.free.label "Вільний">
+<!ENTITY event.menu.options.show.time.free.accesskey "в">
+
+<!ENTITY event.invite.attendees.label "Запросити учасників…">
+<!ENTITY event.invite.attendees.accesskey "З">
+<!ENTITY event.email.attendees.label "Створити повідомлення для всіх учасників…">
+<!ENTITY event.email.attendees.accesskey "С">
+<!ENTITY event.email.tentative.attendees.label "Створити повідомлення для учасників, які ще не визначились…">
+<!ENTITY event.email.tentative.attendees.accesskey "о">
+<!ENTITY event.remove.attendees.label2 "Прибрати всіх учасників">
+<!ENTITY event.remove.attendees.accesskey "и">
+<!ENTITY event.remove.attendee.label "Прибрати учасника">
+<!ENTITY event.remove.attendee.accesskey "б">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Зберегти">
+<!ENTITY event.toolbar.saveandclose.label "Зберегти й закрити">
+<!ENTITY event.toolbar.delete.label "Видалити">
+<!ENTITY event.toolbar.attendees.label "Запросити учасників">
+<!ENTITY event.toolbar.privacy.label "Приватність">
+
+<!ENTITY event.toolbar.save.tooltip2 "Зберегти">
+<!ENTITY event.toolbar.saveandclose.tooltip "Зберегти й закрити">
+<!ENTITY event.toolbar.delete.tooltip "Видалити">
+<!ENTITY event.toolbar.attendees.tooltip "Запросити учасників">
+<!ENTITY event.toolbar.attachments.tooltip "Додати вкладення">
+<!ENTITY event.toolbar.privacy.tooltip "Змінити приватність">
+<!ENTITY event.toolbar.priority.tooltip "Змінити пріоритет">
+<!ENTITY event.toolbar.status.tooltip "Змінити стан">
+<!ENTITY event.toolbar.freebusy.tooltip "Змінити час Вільний/Зайнятий">
+
+<!-- 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 "Подати пропозицію">
+<!ENTITY counter.button.proposal.accesskey "П">
+<!ENTITY counter.button.proposal.tooltip2 "Поля події будуть заповнені значеннями зустрічної пропозиції, збереження лише з або без додаткових змін відповідно сповістить всіх запрошених">
+<!ENTITY counter.button.original.label "Подати оригінальні дані">
+<!ENTITY counter.button.original.accesskey "о">
+<!ENTITY counter.button.original.tooltip2 "Поля будуть заповнені значеннями з оригінальної події перед тим, як було зроблено зустрічну пропозицію">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Назва:" >
+<!ENTITY event.title.textbox.accesskey "з">
+<!ENTITY event.location.label "Місце:" >
+<!ENTITY event.location.accesskey "М">
+<!ENTITY event.categories.label "Категорія:">
+<!ENTITY event.categories.accesskey "К">
+<!ENTITY event.categories.textbox.label "Додати нову категорію" >
+<!ENTITY event.calendar.label "Календар:" >
+<!ENTITY event.calendar.accesskey "К">
+<!ENTITY event.attendees.label "Учасники:" >
+<!ENTITY event.attendees.accesskey "У">
+<!ENTITY event.alldayevent.label "Весь день" >
+<!ENTITY event.alldayevent.accesskey "д">
+<!ENTITY event.from.label "Початок:" >
+<!ENTITY event.from.accesskey "ч">
+<!ENTITY task.from.label "Початок:" >
+<!ENTITY task.from.accesskey "ч">
+<!ENTITY event.to.label "Кінець:" >
+<!ENTITY event.to.accesskey "і">
+<!ENTITY task.to.label "Дійсно до:" >
+<!ENTITY task.to.accesskey "н">
+<!ENTITY task.status.label "Стан:" >
+<!ENTITY task.status.accesskey "т">
+<!ENTITY event.repeat.label "Повторення:" >
+<!ENTITY event.repeat.accesskey "П">
+<!ENTITY event.until.label "До:">
+<!ENTITY event.until.accesskey "Д">
+<!ENTITY event.reminder.label "Нагадування:" >
+<!ENTITY event.reminder.accesskey "г">
+<!ENTITY event.description.label "Опис:" >
+<!ENTITY event.description.accesskey "с">
+<!ENTITY event.attachments.label "Вкладення:" >
+<!ENTITY event.attachments.accesskey "л" >
+<!ENTITY event.attachments.menubutton.label "Вкласти">
+<!ENTITY event.attachments.menubutton.accesskey "В">
+<!ENTITY event.attachments.url.label "Вебсторінка…">
+<!ENTITY event.attachments.url.accesskey "В">
+<!ENTITY event.attachments.popup.remove.label "Вилучити" >
+<!ENTITY event.attachments.popup.remove.accesskey "т" >
+<!ENTITY event.attachments.popup.open.label "Відкрити" >
+<!ENTITY event.attachments.popup.open.accesskey "и" >
+<!ENTITY event.attachments.popup.removeAll.label "Вилучити все" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "ч" >
+<!ENTITY event.attachments.popup.attachPage.label "Вкласти вебсторінку…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "б" >
+<!ENTITY event.url.label "Пов’язані посилання:" >
+<!ENTITY event.priority2.label "Пріоритет:">
+
+<!ENTITY event.reminder.none.label "Не нагадувати " >
+<!ENTITY event.reminder.0minutes.before.label "за 0 хвилин" >
+<!ENTITY event.reminder.5minutes.before.label "за 5 хвилин" >
+<!ENTITY event.reminder.15minutes.before.label "за 15 хвилин" >
+<!ENTITY event.reminder.30minutes.before.label "за 30 хвилин" >
+<!ENTITY event.reminder.1hour.before.label "за 1 годину" >
+<!ENTITY event.reminder.2hours.before.label "за 2 години" >
+<!ENTITY event.reminder.12hours.before.label "за 12 годин" >
+<!ENTITY event.reminder.1day.before.label "за 1 день" >
+<!ENTITY event.reminder.2days.before.label "за 2 дні" >
+<!ENTITY event.reminder.1week.before.label "за 1 тиждень" >
+<!ENTITY event.reminder.custom.label "Налаштувати…" >
+
+<!ENTITY event.reminder.multiple.label "Багаторазові нагадування…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Час як:">
+<!ENTITY event.statusbarpanel.privacy.label "Приватність:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Редагувати повторення">
+
+<!ENTITY event.repeat.does.not.repeat.label "Не повторювати">
+<!ENTITY event.repeat.daily.label "Щоденно">
+<!ENTITY event.repeat.weekly.label "Щотижня">
+<!ENTITY event.repeat.every.weekday.label "Кожний будній день">
+<!ENTITY event.repeat.bi.weekly.label "Кожні 2 тижні">
+<!ENTITY event.repeat.monthly.label "Щомісяця">
+<!ENTITY event.repeat.yearly.label "Щороку">
+<!ENTITY event.repeat.custom.label "Налаштувати…">
+
+<!ENTITY event.recurrence.pattern.label "Визначити періодичність">
+<!ENTITY event.recurrence.occurs.label "Повторювати" >
+<!ENTITY event.recurrence.day.label "щоденно" >
+<!ENTITY event.recurrence.week.label "щотижня" >
+<!ENTITY event.recurrence.month.label "щомісяця" >
+<!ENTITY event.recurrence.year.label "щороку" >
+
+<!ENTITY event.recurrence.pattern.every.label "Кожного" >
+<!ENTITY repeat.units.days.both "дня" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Кожного дня тижня" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Кожного" >
+<!ENTITY repeat.units.weeks.both "тижня" >
+<!ENTITY event.recurrence.on.label "у:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Кожного" >
+<!ENTITY repeat.units.months.both "місяця" >
+<!ENTITY event.recurrence.monthly.every.label "Кожного" >
+<!ENTITY event.recurrence.monthly.first.label "першого">
+<!ENTITY event.recurrence.monthly.second.label "другого">
+<!ENTITY event.recurrence.monthly.third.label "третього">
+<!ENTITY event.recurrence.monthly.fourth.label "четвертого">
+<!ENTITY event.recurrence.monthly.fifth.label "п’ятого">
+<!ENTITY event.recurrence.monthly.last.label "останнього">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "неділі" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "понеділка" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "вівторка" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "середи" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "четверга" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "п’ятниці" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "суботи" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "День місяця">
+<!ENTITY event.recurrence.repeat.recur.label "У такі дні">
+
+<!ENTITY event.recurrence.every.label "Кожного:" >
+<!ENTITY repeat.units.years.both "року" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Кожного" >
+
+<!-- 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 "Січень" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Лютий" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "Березень" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "Квітень" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Травень" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Червень" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Липень" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Серпень" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "Вересень" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Жовтень" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "Листопад" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Грудень" >
+<!ENTITY event.recurrence.yearly.every.label "Кожного">
+<!ENTITY event.recurrence.yearly.first.label "першого">
+<!ENTITY event.recurrence.yearly.second.label "другого">
+<!ENTITY event.recurrence.yearly.third.label "третього">
+<!ENTITY event.recurrence.yearly.fourth.label "четвертого">
+<!ENTITY event.recurrence.yearly.fifth.label "п’ятого">
+<!ENTITY event.recurrence.yearly.last.label "останнього">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "неділі" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "понеділка" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "вівторка" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "середи" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "четверга" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "п’ятниці" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "суботи" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "день" >
+<!ENTITY event.recurrence.of.label "" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Січень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Лютий" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Березень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "Квітень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Травень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Червень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Липень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Серпень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Вересень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Жовтень" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Листопад" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Грудень" >
+
+<!ENTITY event.recurrence.range.label "Рівень повторень">
+<!ENTITY event.recurrence.forever.label "Без кінцевої дати" >
+<!ENTITY event.recurrence.repeat.for.label "Повторювати лише" >
+<!ENTITY event.recurrence.appointments.label "раз" >
+<!ENTITY event.repeat.until.label "Повторювати до" >
+<!ENTITY event.recurrence.preview.label "Попередній перегляд">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Запрошення учасників">
+<!ENTITY event.organizer.label "Організатор">
+<!ENTITY event.freebusy.suggest.slot "Запропонувати інтервал часу:">
+<!ENTITY event.freebusy.button.next.slot "Наступний проміжок">
+<!ENTITY event.freebusy.button.previous.slot "Попередній проміжок">
+<!ENTITY event.freebusy.zoom "Масштаб:">
+<!ENTITY event.freebusy.legend.free "Вільний" >
+<!ENTITY event.freebusy.legend.busy "Зайнятий" >
+<!ENTITY event.freebusy.legend.busy_tentative "Не визначено" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Відсутній на місці" >
+<!ENTITY event.freebusy.legend.unknown "Немає інформації" >
+<!ENTITY event.attendee.role.required "Обов’язковий учасник">
+<!ENTITY event.attendee.role.optional "Необов’язковий учасник">
+<!ENTITY event.attendee.role.chair "Організатор">
+<!ENTITY event.attendee.role.nonparticipant "Не є учасником">
+<!ENTITY event.attendee.usertype.individual "Особа">
+<!ENTITY event.attendee.usertype.group "Група">
+<!ENTITY event.attendee.usertype.resource "Ресурс">
+<!ENTITY event.attendee.usertype.room "Кімната">
+<!ENTITY event.attendee.usertype.unknown "Невідомо">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Зазначте часовий пояс">
+<!ENTITY event.timezone.custom.label "Інші часові пояси…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "Загальне">
+<!ENTITY read.only.title.label "Назва:">
+<!ENTITY read.only.calendar.label "Календар:">
+<!ENTITY read.only.event.start.label "Дата початку:">
+<!ENTITY read.only.task.start.label "Дата початку:">
+<!ENTITY read.only.event.end.label "Дата завершення:">
+<!ENTITY read.only.task.due.label "Дата завершення:">
+<!ENTITY read.only.repeat.label "Повторюється:">
+<!ENTITY read.only.location.label "Місце:">
+<!ENTITY read.only.category.label "Категорія:">
+<!ENTITY read.only.organizer.label "Організатор:">
+<!ENTITY read.only.reminder.label "Нагадування:">
+<!ENTITY read.only.attachments.label "Вкладення:">
+<!ENTITY read.only.attendees.label "Учасники">
+<!ENTITY read.only.description.label "Опис">
+<!ENTITY read.only.link.label "Посилання">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Зберегти й закрити">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Зберегти зміни й закрити вікно без зміни статусу участі та надсилання відповіді">
+<!ENTITY summary.dialog.accept.label "Прийняти">
+<!ENTITY summary.dialog.accept.tooltiptext "Прийняти запрошення">
+<!ENTITY summary.dialog.tentative.label "Під сумнівом">
+<!ENTITY summary.dialog.tentative.tooltiptext "Прийняти запрошення під сумнівом">
+<!ENTITY summary.dialog.decline.label "Відхилити">
+<!ENTITY summary.dialog.decline.tooltiptext "Відхилити запрошення">
+<!ENTITY summary.dialog.dontsend.label "Не надсилати відповідь">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Змінити статус участі без надсилання відповіді організатору і закрити вікно">
+<!ENTITY summary.dialog.send.label "Надіслати відповідь зараз">
+<!ENTITY summary.dialog.send.tooltiptext "Надіслати відповідь організатору і закрити вікно">
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-uk/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..6120558eac
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=щоденно;кожного #1 дня
+repeatDetailsRuleDaily4=кожного буднього дня
+
+# 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=кожного %1$S;кожного #2 тижня кожного %1$S
+weeklyNthOnNounclass2=кожної %1$S;кожного #2 тижня кожної %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=щотижня;кожного #1 тижня
+
+# 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=неділі
+repeatDetailsDay1Nounclass=nounclass2
+repeatDetailsDay2=понеділка
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=вівторка
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=середи
+repeatDetailsDay4Nounclass=nounclass2
+repeatDetailsDay5=четверга
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=п’ятниці
+repeatDetailsDay6Nounclass=nounclass2
+repeatDetailsDay7=суботи
+repeatDetailsDay7Nounclass=nounclass2
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=та
+
+# 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 кожного місяця;%1$S кожні #2 місяці;%1$S кожні #2 місяців
+monthlyRuleNthOfEveryNounclass2=%1$S кожного місяця;%1$S кожні #2 місяці;%1$S кожні #2 місяців
+
+# 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=кожного %1$S кожного місяця;кожного %1$S кожного #2 місяця
+monthlyEveryOfEveryNounclass2=кожної %1$S кожного місяця;кожної %1$S кожного #2 місяця
+
+# 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=день %1$S;дні %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 кожного місяця;%1$S кожні #2 місяці;%1$S кожні #2 місяців
+
+# 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=в останній день місяця;в останній день кожного #1 місяця
+
+# 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=кожного дня кожного місяця;кожного дня місяця кожного #2 місяця
+
+# 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=першого
+repeatOrdinal2Nounclass1=другого
+repeatOrdinal3Nounclass1=третього
+repeatOrdinal4Nounclass1=четвертого
+repeatOrdinal5Nounclass1=п’ятого
+repeatOrdinal-1Nounclass1=останнього
+repeatOrdinal1Nounclass2=першу
+repeatOrdinal2Nounclass2=другу
+repeatOrdinal3Nounclass2=третю
+repeatOrdinal4Nounclass2=четверту
+repeatOrdinal5Nounclass2=п’яту
+repeatOrdinal-1Nounclass2=останню
+
+# 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=кожного %2$S %1$S;кожні #3 роки %2$S %1$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=у %1$S %2$S кожного %3$S;кожні #4 роки у %1$S %2$S %3$S
+yearlyNthOnNthOfNounclass2=у %1$S %2$S кожного %3$S;кожні #4 роки у %1$S %2$S %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=кожного %1$S %2$S;кожні #3 роки кожного %1$S %2$S
+yearlyOnEveryNthOfNthNounclass2=кожної %1$S %2$S;кожні #3 роки кожної %1$S %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=кожен день %1$S;кожні #2 роки кожного дня %1$S
+
+repeatDetailsMonth1=січня
+repeatDetailsMonth2=лютого
+repeatDetailsMonth3=березня
+repeatDetailsMonth4=квітня
+repeatDetailsMonth5=травня
+repeatDetailsMonth6=червня
+repeatDetailsMonth7=липня
+repeatDetailsMonth8=серпня
+repeatDetailsMonth9=вересня
+repeatDetailsMonth10=жовтня
+repeatDetailsMonth11=листопада
+repeatDetailsMonth12=грудня
+
+# 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=Відбувається %1$S\n#5 раз, починаючи від %2$S\nз %3$S до %4$S.;Відбувається %1$S\n#5 рази, починаючи від %2$S\nз %3$S до %4$S.;Відбувається %1$S\n#5 разів, починаючи від %2$S\nз %3$S до %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=Відбувається %1$S\n#3 раз, починаючи від %2$S.;Відбувається %1$S\n#3 рази, починаючи від %2$S.;Відбувається %1$S\n#3 разів, починаючи від %2$S.
+
+# 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=Відбувається %1$S,\nпочинаючи від %2$S до %3$S\nз %4$S до %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=Відбувається %1$S,\nпочинаючи від %2$S до %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=Відбувається %1$S,\nпочинаючи від %2$S\nз %3$S до %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=Відбувається %1$S,\nпочинаючи від %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=останній день
+
+# 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=Показати подробиці
+
+# 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=Подробиці повторення невідомі
+
+# differences between the dialog for an Event or a Task
+newEvent=Нова подія
+newTask=Нове завдання
+itemMenuLabelEvent=Подія
+itemMenuAccesskeyEvent2=П
+itemMenuLabelTask=Завдання
+itemMenuAccesskeyTask2=З
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Будь ласка, вкажіть адресу посилання
+enterLinkLocation=Вкажіть вебсторінку чи розташування документа.
+
+summaryDueTaskLabel=Дійсно до:
+
+# Attach File Dialog
+attachViaFilelink=Вкласти з допомогою %1$S
+selectAFile=Будь ласка, виберіть файли, які хочете вкласти
+removeCalendarsTitle=Вилучити вкладення
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=Ви дійсно хочете вилучити #1 вкладення?;Ви дійсно хочете вилучити #1 вкладення?;Ви дійсно хочете вилучити #1 вкладень?
+
+# 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=неділі
+repeatDetailsDay2Plural=понеділки
+repeatDetailsDay3Plural=вівторки
+repeatDetailsDay4Plural=середи
+repeatDetailsDay5Plural=четверги
+repeatDetailsDay6Plural=п’ятниці
+repeatDetailsDay7Plural=суботи
+
+# 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=Завжди
+
+# 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=Останній день
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S приймає запрошення, але робить зустрічну пропозицію:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S відхиляє запрошення, але робить зустрічну пропозицію:
+
+# 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 делегує запрошення, але робить зустрічну пропозицію:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S не може прийняти рішення про участь і робить зустрічну пропозицію:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S приймає запрошення під сумнівом і робить зустрічну пропозицію:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Це зустрічна пропозиція для попередньої версії цієї події.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Ви заборонили зустрічні пропозиції при надсиланні запрошення.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Ви прийняли це запрошення
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Ви прийняли це запрошення під сумнівом
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Ви відхилили це запрошення
+
+# 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=Ви делегували це запрошення
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=Ви досі не відреагували на це запрошення
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Ви погодилися працювати над цим завданням
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Ви попередньо погодилися працювати над цим завданням
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Ви відмовилися працювати над цим завданням
+
+# 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=Ви делегували роботу над цим завданням
+
+# 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=Ви досі не відреагували на призначення цього завдання
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Ви почали роботу над цим призначеним завданням
+
+# 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=Ви завершили роботу над цим призначеним завданням
+
+# 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=Надіслати й закрити
+
+# 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=Сповістити учасників і закрити
+
+# 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=Зберегти й надіслати
+
+# 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=Зберегти й сповістити учасників
+
+# 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=Зберегти й надіслати
+
+# 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=Надіслати й закрити
+
+# 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=Учасники (%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=Вкладення (%1$S):
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-extract.properties b/l10n-uk/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..13e3b66197
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# 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 = by | until | to | - | till | til | and
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = by | until | to | - | till | til | and | due: | due | ends | deadline is | deadline:
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+no.datetime.prefix = last week | sent | email | e-mail | instead of | > | unfortunately | in | not
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = floor | flr | : | email | e-mail | > | % | usd | dollars | $
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = сьогодні
+
+from.tomorrow = завтра
+# 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 = %1$Sst | %1$Snd | %1$Srd | %1$Sth
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = опівдні
+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 = at %1$S | around %1$S | %1$S - | %1$S to
+
+# 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$S | to %1$S | until %1$S | by %1$S
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = %1$S am | %1$S 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$S pm | %1$S p.m | %1$S 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 = о пів на %1$S
+
+# 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 = %1$S і 30 хв.
+
+# 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$S:%2$S | at %1$S%2$S
+
+# 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$S:%2$S am | %1$S:%2$S 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$S:%2$S pm | %1$S:%2$S p.m | %1$S:%2$S 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$S %2$S | %2$S %1$S | %2$S %1$Sst | %2$S %1$Snd | %2$S %1$Srd | %2$S %1$Sth | %1$Sst of %2$S | %1$Snd of %2$S | %1$Srd of %2$S | %1$Sth of %2$S
+
+# 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$S/%1$S
+
+# 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$S/%1$S/%3$S | %3$S/%2$S/%1$S | %3$S-%2$S-%1$S
+
+# 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$S %2$S %3$S | %1$Sst %2$S %3$S | %1$Snd %2$S %3$S | %1$Srd %2$S %3$S | %1$Sth %2$S %3$S | %2$S %1$S, %3$S | %3$S-%2$S-%1$S
+
+# 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$S minutes | %1$S min | %1$S mins
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = %1$S hour | %1$S hours
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = %1$S days
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = січень | січ | січ.
+month.2 = лютий | лют | лют.
+month.3 = березень | бер | бер.
+month.4 = квітень | кві | кві.
+month.5 = травень | тра | тра.
+month.6 = червень | чер | чер.
+month.7 = липень | лип | лип.
+month.8 = серпень | сер | сер.
+month.9 = вересень | вер | вер.
+month.10 = жовтень | жов | жов.
+month.11 = листопад | лис | лис.
+month.12 = грудень | гру | гру.
+
+# 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 = неділя | неділі
+from.weekday.1 = понеділок | понеділка
+from.weekday.2 = вівторок | вівторка
+from.weekday.3 = середа | середи
+from.weekday.4 = четвер | четверга
+from.weekday.5 = п'ятниця | п'ятниці
+from.weekday.6 = субота | суботи
+
+# 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 = нуль
+number.1 = перший | першого
+number.2 = другий | другого
+number.3 = третій | третього
+number.4 = четвертий | четвертого
+number.5 = п'ятий | п'ятого
+number.6 = шостий | шостого
+number.7 = сьомий | сьомого
+number.8 = восьмий | восьмого
+number.9 = дев'ятий | дев'ятого
+number.10 = десятий | десятого
+number.11 = одинадцятий | одинадцятого
+number.12 = дванадцятий | дванадцятого
+number.13 = тринадцятий | тринадцятого
+number.14 = чотирнадцятий | чотирнадцятого
+number.15 = п'ятнадцятий | п'ятнадцятого
+number.16 = шістнадцятий | шістнадцятого
+number.17 = сімнадцятий | сімнадцятого
+number.18 = вісімнадцятий | вісімнадцятого
+number.19 = дев'ятнадцятий | дев'ятнадцятого
+number.20 = двадцятий | двадцятого
+number.21 = двадцять перший | двадцять першого
+number.22 = двадцять другий | двадцять другого
+number.23 = двадцять третій | двадцять третього
+number.24 = двадцять четвертий | двадцять четвертого
+number.25 = двадцять п'ятий | двадцять п'ятого
+number.26 = двадцять шостий | двадцять шостого
+number.27 = двадцять сьомий | двадцять сьомого
+number.28 = двадцять восьмий | двадцять восьмого
+number.29 = двадцять дев'ятий | двадцять дев'ятого
+number.30 = тридцятий | тридцятого
+number.31 = тридцять перший | тридцять першого
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = абвгдеєжзиіїйклмнопрстуфхцчшщьюяАБВГДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..06a7ef3c84
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+
+<!-- Calendar Invitations Dialog -->
+<!ENTITY calendar.invitations.dialog.invitations.text "Запрошення">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Оновлення переліку запрошень.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Не знайдено непідтверджених запрошень.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Прийняти">
+<!ENTITY calendar.invitations.list.decline.button.label "Відхилити">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Повторювана подія">
+<!ENTITY calendar.invitations.list.alldayevent.text "Подія на увесь день">
+<!ENTITY calendar.invitations.list.location.text "Місце: ">
+<!ENTITY calendar.invitations.list.organizer.text "Організатор: ">
+<!ENTITY calendar.invitations.list.attendee.text "Учасник: ">
+<!ENTITY calendar.invitations.list.none.text "Жоден">
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.properties b/l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..b086e41efe
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-invitations-dialog.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+allday-event=Подія на увесь день
+recurrent-event=Повторювана подія
+location=Розташування: %S
+organizer=Організатор: %S
+attendee=Учасник: %S
+none=Немає
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..ac13cea9bc
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY buttons.occurrence.accesskey "п">
+<!ENTITY buttons.allfollowing.accesskey "н">
+<!ENTITY buttons.parent.accesskey "с">
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..086b25f9d7
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-occurrence-prompt.properties
@@ -0,0 +1,63 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+header.isrepeating.event.label=є повторюваною подією
+header.isrepeating.task.label=є повторюваним завданням
+
+header.containsrepeating.event.label=містить повторювані події
+header.containsrepeating.task.label=містить повторювані завдання
+header.containsrepeating.mixed.label=містить повторювані елементи різного типу
+
+windowtitle.event.copy=Копіювати повторювану подію
+windowtitle.task.copy=Копіювати повторюване завдання
+windowtitle.mixed.copy=Копіювати повторювані елементи
+windowtitle.event.cut=Вирізати повторювану подію
+windowtitle.task.cut=Вирізати повторюване завдання
+windowtitle.mixed.cut=Вирізати повторювані елементи
+windowtitle.event.delete=Видалити повторювану подію
+windowtitle.task.delete=Видалити повторюване завдання
+windowtitle.mixed.delete=Видалити повторювані елементи
+windowtitle.event.edit=Редагувати повторювану подію
+windowtitle.task.edit=Редагувати повторюване завдання
+
+buttons.occurrence.delete.label=Видалити тільки цю появу
+buttons.occurrence.edit.label=Редагувати тільки цю появу
+
+buttons.allfollowing.delete.label=Видалити цю та всі майбутні появи
+buttons.allfollowing.edit.label=Редагувати цю та усі майбутні появи
+
+buttons.parent.delete.label=Видалити всі появи
+buttons.parent.edit.label=Редагувати усі появи
+windowtitle.mixed.edit=Редагувати повторювані елементи
+windowtitle.multipleitems=Вибрані елементи
+
+buttons.single.occurrence.copy.label=Копіювати тільки це повторювання
+buttons.single.occurrence.cut.label=Вирізати тільки це повторювання
+buttons.single.occurrence.delete.label=Видалити тільки це повторювання
+buttons.single.occurrence.edit.label=Редагувати тільки це повторювання
+
+buttons.multiple.occurrence.copy.label=Копіювати тільки вибране повторювання
+buttons.multiple.occurrence.cut.label=Вирізати тільки вибране повторювання
+buttons.multiple.occurrence.delete.label=Видалити тільки вибране повторювання
+buttons.multiple.occurrence.edit.label=Редагувати тільки вибране повторювання
+
+buttons.single.allfollowing.copy.label=Копіювати це і всі майбутні повторювання
+buttons.single.allfollowing.cut.label=Вирізати це і всі майбутні повторювання
+buttons.single.allfollowing.delete.label=Видалити це і всі майбутні повторювання
+buttons.single.allfollowing.edit.label=Редагувати це і всі майбутні повторювання
+
+buttons.multiple.allfollowing.copy.label=Копіювати вибране та всі майбутні повторювання
+buttons.multiple.allfollowing.cut.label=Вирізати вибране та всі майбутні повторювання
+buttons.multiple.allfollowing.delete.label=Видалити вибране та всі майбутні повторювання
+buttons.multiple.allfollowing.edit.label=Редагувати вибране та всі майбутні повторювання
+
+buttons.single.parent.copy.label=Копіювати всі повторювання
+buttons.single.parent.cut.label=Вирізати всі повторювання
+buttons.single.parent.delete.label=Видалити всі повторювання
+buttons.single.parent.edit.label=Редагувати всі повторювання
+
+buttons.multiple.parent.copy.label=Копіювати всі повторювання для вибраних елементів
+buttons.multiple.parent.cut.label=Вирізати всі повторювання для вибраних елементів
+buttons.multiple.parent.delete.label=Видалити всі повторювання для вибраних елементів
+buttons.multiple.parent.edit.label=Редагувати всі повторювання для вибраних елементів
diff --git a/l10n-uk/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/l10n-uk/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 0000000000..bd765ff457
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+
+<!-- Calendar Subscriptions Dialog -->
+<!ENTITY calendar.subscriptions.dialog.title "Підписатися на календарі">
+<!ENTITY calendar.subscriptions.dialog.search.label.value "Показати календарі, які містять:">
+<!ENTITY calendar.subscriptions.dialog.search.button.label "Пошук">
+<!ENTITY calendar.subscriptions.dialog.select.label.value "Обрати календарі для підписки:">
+<!ENTITY calendar.subscriptions.dialog.subscribe.button.label "Підписатись">
+<!ENTITY calendar.subscriptions.dialog.unsubscribe.button.label "Відписатись">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.busy.label "Пошук…">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.nomatches.label "Збігів не знайдено.">
diff --git a/l10n-uk/calendar/chrome/calendar/calendar.dtd b/l10n-uk/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..1183ba20c2
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,407 @@
+<!-- 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 "Календар">
+<!ENTITY calendar.calendar.accesskey "К">
+
+<!ENTITY calendar.newevent.button.tooltip "Створити нову подію" >
+<!ENTITY calendar.newtask.button.tooltip "Створити нове завдання" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Показати завершені завдання">
+
+<!ENTITY calendar.today.button.label "Сьогодні">
+<!ENTITY calendar.tomorrow.button.label "Завтра">
+<!ENTITY calendar.upcoming.button.label "Незабаром">
+
+<!ENTITY calendar.events.filter.all.label "Усі події">
+<!ENTITY calendar.events.filter.today.label "Події сьогодні">
+<!ENTITY calendar.events.filter.future.label "Всі майбутні події">
+<!ENTITY calendar.events.filter.current.label "Події обраного дня">
+<!ENTITY calendar.events.filter.currentview.label "Події у поточному огляді">
+<!ENTITY calendar.events.filter.next7Days.label "Події наступних 7 днів">
+<!ENTITY calendar.events.filter.next14Days.label "Події наступних 14 днів">
+<!ENTITY calendar.events.filter.next31Days.label "Події наступних 31 дня">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Події цього календарного місяця">
+
+<!-- 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 "Готово">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Сортувати за завершенням">
+<!ENTITY calendar.unifinder.tree.priority.label "Пріоритет">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Сортувати за пріоритетом">
+<!ENTITY calendar.unifinder.tree.title.label "Назва">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Сортувати за назвою">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "&#37; завершено">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Сортувати за &#37; завершення">
+<!ENTITY calendar.unifinder.tree.startdate.label "Початок">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Сортувати за датою початку">
+<!ENTITY calendar.unifinder.tree.enddate.label "Кінець">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Сортувати за датою завершення">
+<!ENTITY calendar.unifinder.tree.duedate.label "Термін">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Сортувати за терміном">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Завершено">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Сортувати за датою виконання">
+<!ENTITY calendar.unifinder.tree.categories.label "Категорія">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Сортувати за категорією">
+<!ENTITY calendar.unifinder.tree.location.label "Місце">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Сортувати за розташуванням">
+<!ENTITY calendar.unifinder.tree.status.label "Стан">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Сортувати за станом">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Назва календаря">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Сортувати за назвою календаря">
+<!ENTITY calendar.unifinder.tree.duration.label "Дійсно до">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Сортувати за терміном завершення">
+<!ENTITY calendar.unifinder.close.tooltip "Закрити пошук і перелік подій">
+
+<!ENTITY calendar.today.button.tooltip "Перейти до сьогоднішніх справ" >
+<!ENTITY calendar.todaypane.button.tooltip "Показати сьогоднішні справи" >
+
+<!ENTITY calendar.day.button.tooltip "Перейти до огляду днів" >
+<!ENTITY calendar.week.button.tooltip "Перейти до огляду тижнів" >
+<!ENTITY calendar.month.button.tooltip "Перейти до огляду місяців" >
+<!ENTITY calendar.multiweek.button.tooltip "Перейти до огляду кількох тижнів" >
+
+<!ENTITY calendar.nextday.label "Наступний день" >
+<!ENTITY calendar.prevday.label "Попередній день" >
+<!ENTITY calendar.nextday.accesskey "н" >
+<!ENTITY calendar.prevday.accesskey "п" >
+<!ENTITY calendar.nextweek.label "Наступний тиждень" >
+<!ENTITY calendar.prevweek.label "Попередній тиждень" >
+<!ENTITY calendar.nextweek.accesskey "н" >
+<!ENTITY calendar.prevweek.accesskey "п" >
+<!ENTITY calendar.nextmonth.label "Наступний місяць" >
+<!ENTITY calendar.prevmonth.label "Попередній місяць" >
+<!ENTITY calendar.nextmonth.accesskey "н" >
+<!ENTITY calendar.prevmonth.accesskey "п" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "На один день вперед" >
+<!ENTITY calendar.navigation.prevday.tooltip "На один день назад" >
+<!ENTITY calendar.navigation.nextweek.tooltip "На один тиждень вперед" >
+<!ENTITY calendar.navigation.prevweek.tooltip "На один тиждень назад" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "На один місяць вперед" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "На один місяць назад" >
+
+<!ENTITY calendar.newevent.button.label "Нова подія" >
+<!ENTITY calendar.newtask.button.label "Нове завдання" >
+<!ENTITY calendar.print.button.label "Друк" >
+<!ENTITY calendar.print.button.accesskey "Д">
+
+<!ENTITY calendar.day.button.label "День" >
+<!ENTITY calendar.week.button.label "Тиждень" >
+<!ENTITY calendar.month.button.label "Місяць" >
+<!ENTITY calendar.multiweek.button.label "Кілька тижнів" >
+<!ENTITY calendar.onlyworkday.checkbox.label "Тільки робочі дні" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "р" >
+<!ENTITY calendar.displaytodos.checkbox.label "Завдання в огляді" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "З" >
+<!ENTITY calendar.completedtasks.checkbox.label "Показати завершені завдання" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "З" >
+
+<!ENTITY calendar.orientation.label "Повернути вигляд" >
+<!ENTITY calendar.orientation.accesskey "в" >
+
+<!ENTITY calendar.search.options.searchfor " містять">
+
+<!ENTITY calendar.list.header.label "Календар">
+
+<!ENTITY calendar.task.filter.title.label "Показати">
+<!ENTITY calendar.task.filter.all.label "Усе">
+<!ENTITY calendar.task.filter.all.accesskey "У">
+<!ENTITY calendar.task.filter.today.label "Сьогодні">
+<!ENTITY calendar.task.filter.today.accesskey "С">
+<!ENTITY calendar.task.filter.next7days.label "Наступні сім днів">
+<!ENTITY calendar.task.filter.next7days.accesskey "д">
+<!ENTITY calendar.task.filter.notstarted.label "Непочаті завдання">
+<!ENTITY calendar.task.filter.notstarted.accesskey "Н">
+<!ENTITY calendar.task.filter.overdue.label "Прострочені завдання">
+<!ENTITY calendar.task.filter.overdue.accesskey "П">
+<!ENTITY calendar.task.filter.completed.label "Завершені завдання">
+<!ENTITY calendar.task.filter.completed.accesskey "З">
+<!ENTITY calendar.task.filter.open.label "Незавершені завдання">
+<!ENTITY calendar.task.filter.open.accesskey "ш">
+
+<!-- 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 "Поточні завдання">
+<!ENTITY calendar.task.filter.current.accesskey "т">
+
+<!ENTITY calendar.task-details.title.label "Назва:">
+<!ENTITY calendar.task-details.organizer.label "Організатор:">
+<!ENTITY calendar.task-details.priority.label "Пріоритет:">
+<!ENTITY calendar.task-details.priority.low.label "Низький">
+<!ENTITY calendar.task-details.priority.normal.label "Середній">
+<!ENTITY calendar.task-details.priority.high.label "Високий">
+<!ENTITY calendar.task-details.status.label "Статус:">
+<!ENTITY calendar.task-details.category.label "Категорія:">
+<!ENTITY calendar.task-details.repeat.label "Повторювати:">
+<!ENTITY calendar.task-details.attachments.label "Вкладення:">
+<!ENTITY calendar.task-details.start.label "дата початку">
+<!ENTITY calendar.task-details.due.label "дата завершення">
+
+<!ENTITY calendar.task.category.button.tooltip "Завдання за категоріями">
+<!ENTITY calendar.task.complete.button.tooltip "Позначити обрані завдання завершеними">
+<!ENTITY calendar.task.priority.button.tooltip "Змінити пріоритет">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Фільтр завдань #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 "Відкрити">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "В">
+<!ENTITY calendar.context.modifyorviewtask.label "Відкрити завдання…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "В">
+<!ENTITY calendar.context.newevent.label "Нова подія…">
+<!ENTITY calendar.context.newevent.accesskey "Н">
+<!ENTITY calendar.context.newtodo.label "Нове завдання…">
+<!ENTITY calendar.context.newtodo.accesskey "з">
+<!ENTITY calendar.context.deletetask.label "Видалити завдання">
+<!ENTITY calendar.context.deletetask.accesskey "В">
+<!ENTITY calendar.context.deleteevent.label "Видалити подію">
+<!ENTITY calendar.context.deleteevent.accesskey "л">
+<!ENTITY calendar.context.cutevent.label "Вирізати">
+<!ENTITY calendar.context.cutevent.accesskey "р">
+<!ENTITY calendar.context.copyevent.label "Копіювати">
+<!ENTITY calendar.context.copyevent.accesskey "К">
+<!ENTITY calendar.context.pasteevent.label "Вставити">
+<!ENTITY calendar.context.pasteevent.accesskey "т">
+<!ENTITY calendar.context.button.label "Панель дня">
+<!ENTITY calendar.context.button.accesskey "д">
+
+<!ENTITY calendar.context.attendance.menu.label "Присутність">
+<!ENTITY calendar.context.attendance.menu.accesskey "и">
+<!ENTITY calendar.context.attendance.occurrence.label "Це повторення">
+<!ENTITY calendar.context.attendance.all2.label "Всі серії подій">
+<!ENTITY calendar.context.attendance.send.label "Надіслати сповіщення зараз">
+<!ENTITY calendar.context.attendance.send.accesskey "Н">
+<!ENTITY calendar.context.attendance.dontsend.label "Не надсилати сповіщення">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "е">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "П">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Прийнято">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "с">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Прийнято під сумнівом">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "х">
+<!ENTITY calendar.context.attendance.occ.declined.label "Відхилено">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "г">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Делеговано">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "ч">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Очікує дію">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "п">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "В процесі">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "а">
+<!ENTITY calendar.context.attendance.occ.completed.label "Завершено">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "и">
+<!ENTITY calendar.context.attendance.all.accepted.label "Прийнято">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "с">
+<!ENTITY calendar.context.attendance.all.tentative.label "Прийнято під сумнівом">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "х">
+<!ENTITY calendar.context.attendance.all.declined.label "Відхилено">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "г">
+<!ENTITY calendar.context.attendance.all.delegated.label "Делеговано">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "ч">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Очікує дію">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "п">
+<!ENTITY calendar.context.attendance.all.inprogress.label "В процесі">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "а">
+<!ENTITY calendar.context.attendance.all.completed.label "Завершено">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Завершено">
+<!ENTITY calendar.context.progress.accesskey "З">
+<!ENTITY calendar.context.priority.label "Пріоритет">
+<!ENTITY calendar.context.priority.accesskey "П">
+<!ENTITY calendar.context.postpone.label "Відкласти завдання">
+<!ENTITY calendar.context.postpone.accesskey "л">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Завершеність">
+<!ENTITY calendar.context.markcompleted.accesskey "З">
+
+<!ENTITY progress.level.0 "0&percnt; завершено">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "25&percnt; завершено">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "50&percnt; завершено">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "75&percnt; завершено">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "100&percnt; завершено">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "Не зазначено">
+<!ENTITY priority.level.none.accesskey "е">
+<!ENTITY priority.level.low "Низький">
+<!ENTITY priority.level.low.accesskey "Н">
+<!ENTITY priority.level.normal "Нормальний">
+<!ENTITY priority.level.normal.accesskey "о">
+<!ENTITY priority.level.high "Високий">
+<!ENTITY priority.level.high.accesskey "В">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 година">
+<!ENTITY calendar.context.postpone.1hour.accesskey "г">
+<!ENTITY calendar.context.postpone.1day.label "1 день">
+<!ENTITY calendar.context.postpone.1day.accesskey "д">
+<!ENTITY calendar.context.postpone.1week.label "1 тиждень">
+<!ENTITY calendar.context.postpone.1week.accesskey "т">
+
+<!ENTITY calendar.copylink.label "Копіювати адресу посилання">
+<!ENTITY calendar.copylink.accesskey "К">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "Видалити">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Новий календар…">
+<!ENTITY calendar.context.newserver.accesskey "Н">
+<!ENTITY calendar.context.findcalendar.label "Знайти календар…" >
+<!ENTITY calendar.context.findcalendar.accesskey "З" >
+<!ENTITY calendar.context.deleteserver2.label "Видалити календар…">
+<!ENTITY calendar.context.deleteserver2.accesskey "В">
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+<!ENTITY calendar.context.removeserver.label "Вилучити календар…">
+<!ENTITY calendar.context.removeserver.accesskey "В">
+<!ENTITY calendar.context.unsubscribeserver.label "Відписатись від календаря…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "п">
+<!ENTITY calendar.context.synccalendars.label "Синхронізувати календарі">
+<!ENTITY calendar.context.synccalendars.accesskey "С">
+<!ENTITY calendar.context.publish.label "Опублікувати календар…">
+<!ENTITY calendar.context.publish.accesskey "О">
+<!ENTITY calendar.context.export.label "Експорт календаря…">
+<!ENTITY calendar.context.export.accesskey "Е">
+<!ENTITY calendar.context.properties.label "Властивості">
+<!ENTITY calendar.context.properties.accesskey "л">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "о">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "х">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "O">
+<!ENTITY calendar.context.showall.label "Показати всі календарі">
+<!ENTITY calendar.context.showall.accesskey "і">
+
+<!ENTITY calendar.context.convertmenu.label "Перетворити на">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "П">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "П">
+<!ENTITY calendar.context.convertmenu.event.label "Подію…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "П">
+<!ENTITY calendar.context.convertmenu.message.label "Лист…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "Л">
+<!ENTITY calendar.context.convertmenu.task.label "Завдання…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "З">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Календарик">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "д">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Перелік календарів">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "л">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Фільтр завдань">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "Ф">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Місце:" >
+<!ENTITY calendar.alarm.details.label "Деталі…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Призупинити на" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Призупинити всі на" >
+<!ENTITY calendar.alarm.title.label "Сповіщення календаря" >
+<!ENTITY calendar.alarm.dismiss.label "Скасувати" >
+<!ENTITY calendar.alarm.dismissall.label "Скасувати всі" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 хвилин" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 хвилин" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 хвилин" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 хвилин" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 хвилин" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 годину" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 години" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 день" >
+
+<!-- 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 "Скасувати затримку сигналу">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Редагувати календар">
+<!ENTITY calendar.server.dialog.name.label "Назва календаря:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Колір:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.format.label "Формат:">
+<!ENTITY calendarproperties.location.label "Місце:">
+<!ENTITY calendarproperties.refreshInterval.label "Оновлювати календар:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Вручну">
+<!ENTITY calendarproperties.name.label "Назва:">
+<!ENTITY calendarproperties.readonly.label "Тільки для читання">
+<!ENTITY calendarproperties.firealarms.label "Показати сповіщення">
+<!ENTITY calendarproperties.cache3.label "Робота поза мережею">
+<!ENTITY calendarproperties.enabled2.label "Увімкнути цей календар">
+<!ENTITY calendarproperties.forceDisabled.label "Не знайдено постачальника для цього календаря. Іноді це може настати після вимикання або вилучення спеціальних додатків.">
+<!ENTITY calendarproperties.unsubscribe.label "Відписатись">
+<!ENTITY calendarproperties.unsubscribe.accesskey "В">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Опублікувати календар">
+<!ENTITY calendar.publish.url.label "Опублікувати URL">
+<!ENTITY calendar.publish.publish.button "Опублікувати">
+<!ENTITY calendar.publish.close.button "Закрити">
+
+<!ENTITY calendar.publish.example.url.description "Наприклад, http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Обрати календар">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "Друк календаря">
+<!ENTITY calendar.print.title.label "Назва:">
+<!ENTITY calendar.print.layout.label "Макет:">
+<!ENTITY calendar.print.range.label "Що друкувати">
+<!ENTITY calendar.print.currentView2.label "Події поточного огляду">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Обрані події та завдання">
+<!ENTITY calendar.print.tasks.label "Завдання">
+<!ENTITY calendar.print.events.label "Події">
+<!ENTITY calendar.print.custom.label "Задати діапазон дат:">
+<!ENTITY calendar.print.from.label "Від:">
+<!ENTITY calendar.print.to.label "До:">
+<!ENTITY calendar.print.settingsGroup.label "Параметри друку">
+<!ENTITY calendar.print.optionsGroup.label "Налаштування">
+<!ENTITY calendar.print.taskswithnoduedate.label "Завдання без обмеження у часі">
+<!ENTITY calendar.print.completedtasks.label "Завершені завдання">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Докладніше…">
+<!ENTITY calendar.error.code "Код помилки:">
+<!ENTITY calendar.error.description "Опис:">
+<!ENTITY calendar.error.title "Сталась помилка">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Додати як подію">
+<!ENTITY calendar.extract.task.button "Додати як завдання">
+<!ENTITY calendar.extract.event.button.tooltip "Витягнути інформацію календаря з повідомлення й додати її в свій календар як подію">
+<!ENTITY calendar.extract.task.button.tooltip "Витягнути інформацію календаря з повідомлення й додати її в свій календар як завдання">
diff --git a/l10n-uk/calendar/chrome/calendar/calendar.properties b/l10n-uk/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 0000000000..39205b9495
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,818 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+# %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=Попередній перегляд %1$S
+Untitled=Без назви
+
+# Default name for new events
+newEvent=Нова подія
+
+# Titles for the event/task dialog
+newEventDialog=Нова подія
+editEventDialog=Редагувати подію
+newTaskDialog=Нове завдання
+editTaskDialog=Редагувати завдання
+
+# Do you want to save changes?
+askSaveTitleEvent=Зберегти подію
+askSaveTitleTask=Зберегти завдання
+askSaveMessageEvent=Подія не була збережена. Хочете зберегти подію?
+askSaveMessageTask=Завдання не було збережено. Хочете зберегти завдання?
+
+# Event Dialog Warnings
+warningEndBeforeStart=Введена дата закінчення раніше дати початку
+warningUntilDateBeforeStart=Кінцева дата відбувається раніше початкової дати
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Домашній
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Календар без назви
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Ймовірно
+statusConfirmed =Підтверджено
+eventStatusCancelled=Скасовано
+todoStatusCancelled =Скасовано
+statusNeedsAction =Вимагає дії
+statusInProcess =Виконується
+statusCompleted =Завершено
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Високий
+normalPriority=Нормальний
+lowPriority=Низький
+
+importPrompt=У який календар ви бажаєте імпортувати ці елементи?
+exportPrompt=Експорт з якого календаря ви бажаєте виконати?
+pastePrompt=В який із доступних в даний момент для запису календарів ви хочете це вставити?
+publishPrompt=Який календар ви бажаєте опублікувати?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Текст вставки містить зустріч
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Текст вставки містить зустрічі
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Текст вставки містить призначене завдання
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Текст вставки містить призначені завдання
+# 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=Текст вставки містить зустрічі та призначені завдання
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Ви вставляєте зустріч
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Ви вставляєте зустрічі
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Ви вставляєте призначене завдання
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Ви вставляєте призначені завдання
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Ви вставляєте зустрічі та призначені завдання
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - ви хочете надіслати оновлення всім залученим?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Вставити і надіслати зараз
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Вставити без надсилання
+
+# 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 елементів не імпортовано. Остання помилка: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=Не вдалося імпортувати з %1$S. В цьому файлі немає елементів для імпорту.
+
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=Неможливо імпортувати з %1$S. В цьому файлі немає елементів для імпорту.
+
+#spaces needed at the end of the following lines
+eventDescription=Опис:
+
+unableToRead=Не вдалось зчитати з файлу:
+unableToWrite=Не вдалось записати у файл:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Mozilla Calendar
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=Під час зчитування %1$S знайдено невідомий і невизначений часовий пояс.
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S елемент(ів) проігноровано, бо вони існують і у кінцевому календарі і у %2$S.
+
+unableToCreateProvider=При підготовці календаря з %1$S для використання виникла помилка. Він буде недоступний.
+unknownTimezonesError=Сталась помилка під час підготовки до використання календаря, розташованого за адресою %1$S. Ймовірно календар посилається на невідомі часові пояси. Будь ласка, встановіть останню версію calendar-timezones.xpi.
+missingCalendarTimezonesError=Не знайдено часових поясів! Будь ласка, встановіть calendar-timezones.xpi.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Невідомий часовий пояс "%1$S" в "%2$S". Замість нього буде використовуватись 'плаваючий' місцевий часовий пояс: %3$S
+TimezoneErrorsAlertTitle=Помилка часового поясу
+TimezoneErrorsSeeConsole=Перегляньте консоль помилок. Невідомі часові пояси вважатимуться 'плаваючим' місцевим часовим поясом.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Видалити календар
+removeCalendarButtonDelete=Видалити календар
+removeCalendarButtonUnsubscribe=Відписатись
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Ви хочете прибрати календар "%1$S"? Відписування прибере календар зі списку. Вилучення також повністю зітре його дані.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=Ви хочете остаточно видалити календар "%1$S"?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=Ви хочете відписатися від календаря "%1$S"?
+
+WeekTitle=Тиждень %1$S
+None=немає
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+tooNewSchemaErrorBoxTitle=Дані вашого календаря несумісні з цією версією %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextLightning):
+# %1$S will be replaced with the name of the calendar application e.g. 'Lightning'
+# %2$S will be replaced with the name of the host application 'calendar'
+tooNewSchemaErrorBoxTextLightning=Поновлено дані календаря у вашому профілі новішою версією %1$S, продовження може спричинити втрату або пошкодження інформації. %1$S буде відключено та %2$S перевантажиться.
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=Перезавантажити %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=Вийти з %1$S
+
+# 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=Ваші дані календаря несумісні з цією версією %1$S. Дані календаря у вашому профілі були оновлені новішою версією %1$S. Створено резервну копію файлу даних з назвою "%2$S". Продовження з новим, щойно створеним файлом даних.
+
+# List of events or todos (unifinder)
+eventUntitled=без_назви
+
+# Tooltips of events or todos
+tooltipTitle=Назва:
+tooltipLocation=Місце:
+# 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=Дата:
+# event calendar name
+tooltipCalName=Назва календаря:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Стан:
+# event organizer
+tooltipOrganizer=Органайзер:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Початок:
+tooltipDue=Термін:
+tooltipPriority=Пріоритет:
+tooltipPercent=% завершено:
+tooltipCompleted=Завершено:
+
+# Tooltips for attendees and organizer in event and summary dialog
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendee.combined): tooltip for itip icon in summary/event dialog.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of dialog.tooltip.attendeeRole2.*
+# %2$S - value of dialog.tooltip.attendeePartStat2.*
+dialog.tooltip.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.CHAIR): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.CHAIR=%1$S очолює подію.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.NON-PARTICIPANT=%1$S не приймає участь.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.OPT-PARTICIPANT=Для %1$S участь необов'язкова.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.REQ-PARTICIPANT=Для %1$S участь обов'язкова.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.ACCEPTED=%1$S підтвердив присутність.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DECLINED=%1$S відмовився від присутності.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DELEGATED=%1$S делегував присутність.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.NEEDS-ACTION=%1$S все ще повинен дати відповідь.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.TENTATIVE=%1$S підтвердив присутність під сумнівом.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing individual attendee
+dialog.tooltip.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+dialog.tooltip.attendeeUserType2.GROUP=%1$S (група)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+dialog.tooltip.attendeeUserType2.RESOURCE=%1$S (засіб)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+dialog.tooltip.attendeeUserType2.ROOM=%1$S (кімната)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+dialog.tooltip.attendeeUserType2.UNKNOWN=%1$S
+
+#File commands and dialogs
+New=Новий
+Open=Відкрити
+filepickerTitleImport=Імпорт
+filepickerTitleExport=Експорт
+
+# Filters for export/import/open file picker. %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+filterIcs=iCalendar (%1$S)
+filterXml=Документ XML (%1$S)
+filterHtml=Вебсторінка (%1$S)
+filterOutlookCsv=Розділені комами значення з Outlook (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Сталась помилка
+httpPutError=Не вдалося опублікувати файл календаря.\nКод помилки: %1$S: %2$S
+otherPutError=Не вдалося опублікувати файл календаря.\nКод помилки: 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=Сталась помилка зчитування даних календаря: %1$S. Для календаря встановлено режим "Тільки для читання". Спроба його змінити може призвести до втрати даних. Якщо ви бажаєте змінити цей режим, будь ласка, оберіть елемент "Змінити календар".
+
+# 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=Сталась помилка зчитування даних календаря: %1$S. Його відключено, доки не з’явиться можливість його безпечного використання.
+
+# 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=Сталась помилка зчитування даних календаря: %1$S. Ця помилка вважається незначною, тому програма продовжуватиме спроби обробити дані.
+
+# 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=Сталась помилка читання даних календаря: %1$S.
+utf8DecodeError=Сталась помилка при декодуванні файла iCalendar (ics) у кодуванні UTF-8. Перевірте, чи цей файл дійсно використовує кодування UTF-8.
+icsMalformedError=Сталась помилка під час обробки файла iCalendar (ics). Перевірте, чи цей файл відповідає синтаксису файлів iCalendar (ics).
+itemModifiedOnServerTitle=Елемент змінено на сервері
+itemModifiedOnServer=Цей елемент нещодавно змінено на сервері.\n
+modifyWillLoseData=Ваші зміни перепишуть зміни, автоматично зроблені на сервері.
+deleteWillLoseData=Вилучення цього елементу спричинить втрату змін, здійснених на сервері.
+updateFromServer=Скасувати мої зміни та перевантажити
+proceedModify=Все одно застосувати мої зміни
+proceedDelete=Все одно видалити
+dav_notDav=Ресурс %1$S не є колекцією DAV або недоступний
+dav_davNotCaldav=Ресурс %1$S є колекцією DAV, але не є календарем CalDAV
+itemPutError=Сталась помилка при збереженні елементу на сервері.
+itemDeleteError=Сталась помилка при вилученні елементу з сервера.
+caldavRequestError=Сталась помилка при надсилання запрошення.
+caldavResponseError=Сталась помилка при надсиланні відповіді.
+caldavRequestStatusCode=Статус Коду: %1$S
+caldavRequestStatusCodeStringGeneric=Запит не може бути оброблений.
+caldavRequestStatusCodeString400=Запит містить неправильний синтаксис і не може бути оброблений.
+caldavRequestStatusCodeString403=Користувачу не вистачає необхідних повноважень для виконання запиту.
+caldavRequestStatusCodeString404=Джерело не знайдено.
+caldavRequestStatusCodeString409=Конфлікт джерела.
+caldavRequestStatusCodeString412=Помилка обробки попередньої умови.
+caldavRequestStatusCodeString500=Внутрішня помилка сервера.
+caldavRequestStatusCodeString502=Поганий шлюз (Налаштування проксі-сервера?).
+caldavRequestStatusCodeString503=Внутрішня помилка сервера (Сервер тимчасово вимкнений?).
+caldavRedirectTitle=Оновити розташування для календаря %1$S?
+caldavRedirectText=Запити для %1$S перенаправляються до нового розташування. Чи бажаєте змінити розташування на наступне значення?
+caldavRedirectDisableCalendar=Вимкнути календар
+
+
+# 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=Європа/Київ
+
+# 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=Попередження: часовий пояс '%1$S' операційної системи\nбільше не відповідає часовому поясу '%2$S' ZoneInfo.
+
+# "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=Ігнорується часовий пояс '%1$S' операційної системи.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Ігнорується місцевий часовий пояс '%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=Попередження: використовується "плаваючий" часовий пояс.\nВідсутні дані часових поясів ZoneInfo, які б відповідали даним часового поясу операційної системи.
+
+# "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=Попередження: використовується припущена часовий пояс\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Цей часовий пояс ZoneInfo майже відповідає часовому поясу операційної системи.\nДля цього правила наступні переходи між літнім та зимовим часом\nвідрізнятимуться щонайбільше на тиждень від переходів часового пояса операційної системи.\nУ даних можуть бути розбіжності, такі, як різниця у даті початку,\nрізні правила, або наближення для правила не-Григоріанського календаря.
+
+TZSeemsToMatchOS=Ймовірно цей часовий пояс ZoneInfo відповідає робочому системному часовому поясу цього року.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=Цей часовий пояс ZoneInfo обраний на основі ідентифікатора "%1$S"\n часового пояса операційної системи.
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=Цей часовий пояс ZoneInfo вибраний на основі відповідності часового пояса операційної\nсистеми зі схожими часовими поясами для інтернет-користувачів, які використовують українську.
+
+TZFromKnownTimezones=Цей часовий пояс ZoneInfo вибраний на основі відповідності часового пояса операційної\nсистеми з відомими часовими поясами у алфавітному переліку ідентифікаторів часових поясів.
+
+# Print Layout
+formatListName = Перелік
+weekPrinterName = Тижневий планувальник
+monthPrinterName = Сітка місяців
+tasksWithNoDueDate = Завдання, не обмежені у часі
+
+# Providers
+caldavName=CalDAV
+compositeName=Composite
+icsName=iCalendar (ICS)
+memoryName=Тимчасовий (пам’ять)
+storageName=Місцевий (SQLite)
+
+# Used in created html code for list layout print and html export
+htmlPrefixTitle=Назва
+htmlPrefixWhen=Коли
+htmlPrefixLocation=Місце
+htmlPrefixDescription=Опис
+htmlTaskCompleted=%1$S (завершено)
+
+# Categories
+addCategory=Додати категорію
+multipleCategories=Декілька категорій
+
+today=Сьогодні
+tomorrow=Завтра
+yesterday=Учора
+
+#Today pane
+eventsonly=Події
+eventsandtasks=Події та завдання
+tasksonly=Завдання
+shortcalendarweek=тиждень
+
+go=Перейти
+
+# Some languages have different conjugations of 'next' and 'last'. If yours
+# does not, simply repeat the value. This will be used with day names, as in
+# 'next Sunday'.
+next1=наступний
+next2=наступна
+last1=останній
+last2=остання
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 нагадування;#1 нагадування;#1 нагадування
+
+# 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=Початок: %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=Сьогодні о %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=Завтра о %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=Учора о %1$S
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+alarmDefaultDescription=Типовий опис Mozilla
+alarmDefaultSummary=Типовий підсумок Mozilla
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=Ви не можете відкласти сигнал довше, ніж на #1 місяць.;Ви не можете відкласти сигнал довше, ніж на #1 місяці.;Ви не можете відкласти сигнал довше, ніж на #1 місяців.
+
+taskDetailsStatusNeedsAction=Вимагає дії
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=%1$S%% завершено
+taskDetailsStatusCompleted=Завершено
+
+# 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=Завершено на %1$S
+taskDetailsStatusCancelled=Скасовано
+
+gettingCalendarInfoCommon=Перевірка календарів…
+
+# 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=Перевірка календаря %1$S з %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Код помилки: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Опис: %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=Під час запису змін в календар %1$S сталася помилка! Перегляньте докладні відомості нижче.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Якщо ви бачите це повідомлення після відкладання чи відхилення нагадування, і воно для календаря, який ви не хочете редагувати, ви можете позначити цей календар, як лише для читання, щоб уникнути подібної поведінки в майбутньому. Щоб зробити це, перейдіть до властивостей календаря, клацнувши правою кнопкою миші по ньому в списку календарів чи в завданнях.
+
+# 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=Календар %1$S зараз недоступний
+
+# 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=Календар %1$S тільки для читання
+
+taskEditInstructions=Клацніть тут, щоб додати нове завдання
+taskEditInstructionsReadonly=Будь ласка, оберіть календар, у який можна записувати
+taskEditInstructionsCapability=Будь ласка, оберіть календар, який підтримує завдання
+
+eventDetailsStartDate=Початок:
+eventDetailsEndDate=Кінець:
+
+# 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=Тиждень: %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=Тижні %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=Тжд: %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=Тжд: %1$S-%2$S
+
+# LOCALIZATION NOTE (abbreviationOfWeek):
+# Used for displaying the week number in the first day box of every week
+# in multiweek and month views.
+# It allows to localize the label with the week number in case your locale
+# requires it.
+# Take into account that this label is placed in the same room of the day label
+# inside the day boxes, exactly on left side, hence a possible string shouldn't
+# be too long otherwise it will create confusion between the week number and
+# the day number other than a possible crop when the window is resized.
+#
+# %1$S is a number from 1 to 53 that represents the week number.
+abbreviationOfWeek=%1$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=#1 день;#1 дні;#1 днів
+dueInHours=#1 година;#1 години;#1 годин
+dueInLessThanOneHour=< 1 години
+
+# 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= відсутня дата початку та завершення
+# 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=дата початку %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=дата завершення %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Час початку
+dragLabelTasksWithOnlyDueDate=Завершено о
+
+deleteTaskLabel=Видалити завдання
+deleteTaskMessage=Ви справді бажаєте видалити це завдання?
+deleteTaskAccesskey=л
+deleteItemLabel=Видалити
+deleteItemMessage=Ви справді бажаєте видалити цей елемент?
+deleteItemAccesskey=л
+deleteEventLabel=Видалити подію
+deleteEventMessage=Ви справді бажаєте видалити цю подію?
+deleteEventAccesskey=л
+
+calendarPropertiesEveryMinute=Щохвилини;Кожні #1 хвилини;Кожні #1 хвилин
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=Використання %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=Використання %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 хвилина;#1 хвилини;#1 хвилин
+unitHours=#1 година;#1 години;#1 годин
+unitDays=#1 день;#1 дні;#1 днів
+unitWeeks=#1 тиждень;#1 тижні;#1 тижнів
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+showCalendar=Показати %1$S
+hideCalendar=Приховати %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Показати лише %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Конфлікт зміни елемента
+modifyConflictPromptMessage=Елемент, змінюваний в діалозі, був змінений з моменту його відкриття.
+modifyConflictPromptButton1=Перезаписати інші зміни
+modifyConflictPromptButton2=Відхилити ці зміни
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the original
+# invited attendee gets replaced
+dialog.attendee.append.delegatedFrom=(делеговано від %1$S)
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the original
+# invited attendee gets replaced
+dialog.attendee.append.delegatedTo=(делеговано до %1$S)
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Дата не вибрана
diff --git a/l10n-uk/calendar/chrome/calendar/calendarCreation.dtd b/l10n-uk/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..f55ef5c019
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY wizard.title "Створити новий календар" >
+<!ENTITY wizard.label "Створити новий календар" >
+<!ENTITY wizard.description "Розмістити ваш календар" >
+
+<!ENTITY initialpage.description "Календар може бути збережено на вашому комп’ютері або на віддаленому сервері, щоб ви могли звернутись до нього з будь-якого місця або використовувати спільно з друзями та колегами." >
+<!ENTITY initialpage.computer.label "На комп’ютері">
+<!ENTITY initialpage.network.label "У мережі">
+
+<!ENTITY locationpage.description "Надайте інформацію щодо того, що потрібно, щоб отримати доступ до вашого віддаленого календаря" >
+<!ENTITY locationpage.login.description "Необов’язково: введіть ім’я користувача та пароль" >
+<!ENTITY locationpage.username.label "Ім’я користувача:" >
+<!ENTITY locationpage.password.label "Пароль:" >
+
+<!ENTITY custompage.shortdescription "Налаштувати ваш календар" >
+<!ENTITY custompage.longdescription "Ви можете дати назву вашому календарю та обрати кольори для подій цього календаря" >
+
+<!ENTITY finishpage.shortdescription "Календар створено" >
+<!ENTITY finishpage.longdescription "Ваш календар було створено" >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Інше">
+
+<!ENTITY buttons.create.label "Створити календар">
+<!ENTITY buttons.create.accesskey "С">
+
+<!ENTITY buttons.find.label "Знайти календарі">
+<!ENTITY buttons.find.accesskey "З">
+
+<!ENTITY buttons.back.label "Назад">
+<!ENTITY buttons.back.accesskey "Н">
+
+<!ENTITY buttons.subscribe.label "Підписатись">
+<!ENTITY buttons.subscribe.accesskey "П">
+
+<!ENTITY calendartype.label "Тип календаря:">
+<!ENTITY location.label "Розташування:">
+<!ENTITY location.placeholder "URL-адреса чи назва вузла сервера календаря">
+
+<!ENTITY network.nocredentials.label "Для цього розташування не потрібні облікові дані">
+<!ENTITY network.loading.description "Будь ласка, зачекайте доки обробляються ваші календарі.">
+<!ENTITY network.notfound.description "Не вдалося знайти календарі в цьому розташуванні. Будь ласка, перевірте свої налаштування.">
+<!ENTITY network.authfail.description "Введені вами облікові дані не було прийняти. Будь ласка, перевірте свої налаштування.">
+
+<!ENTITY network.subscribe.single.description "Оберіть календарі, на які б ви хотіли підписатися.">
+<!ENTITY network.subscribe.multiple.description "Для цього розташування доступні декілька типів календарів. Оберіть тип календаря, потім позначте календарі, на які ви хочете підписатися.">
diff --git a/l10n-uk/calendar/chrome/calendar/calendarCreation.properties b/l10n-uk/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..f30d1096a4
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/calendarCreation.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+error.invalidUri=Будь ласка, зазначте правильну місцевість.
+error.alreadyExists=Ви вже підписані на календар в цій місцевості.
diff --git a/l10n-uk/calendar/chrome/calendar/categories.properties b/l10n-uk/calendar/chrome/calendar/categories.properties
new file mode 100644
index 0000000000..ba55a7f661
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/categories.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# default categories
+
+categories2=Річниці,Дні народження,Справи,Дзвінки,Клієнти,Конкурси,Замовники,Обране,Відповіді,Подарунки,Відпустка,Ідеї,Доходи,Різне,Особисте,Проєкти,Свята,Релігійні свята,Державні свята,Зустрічі,Постачальники,Поїздки,Дозвілля
diff --git a/l10n-uk/calendar/chrome/calendar/dateFormat.properties b/l10n-uk/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..e154819517
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,146 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=Січень
+month.2.name=Лютий
+month.3.name=Березень
+month.4.name=Квітень
+month.5.name=Травень
+month.6.name=Червень
+month.7.name=Липень
+month.8.name=Серпень
+month.9.name=Вересень
+month.10.name=Жовтень
+month.11.name=Листопад
+month.12.name=Грудень
+
+# 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=січня
+month.2.genitive=лютого
+month.3.genitive=березня
+month.4.genitive=квітня
+month.5.genitive=травня
+month.6.genitive=червня
+month.7.genitive=липня
+month.8.genitive=серпня
+month.9.genitive=вересня
+month.10.genitive=жовтня
+month.11.genitive=листопада
+month.12.genitive=грудня
+
+month.1.Mmm=Січ
+month.2.Mmm=Лют
+month.3.Mmm=Бер
+month.4.Mmm=Кві
+month.5.Mmm=Тра
+month.6.Mmm=Чер
+month.7.Mmm=Лип
+month.8.Mmm=Сер
+month.9.Mmm=Вер
+month.10.Mmm=Жов
+month.11.Mmm=Лис
+month.12.Mmm=Гру
+
+day.1.name=Неділя
+day.2.name=Понеділок
+day.3.name=Вівторок
+day.4.name=Середа
+day.5.name=Четвер
+day.6.name=П’ятниця
+day.7.name=Субота
+
+day.1.Mmm=НД
+day.2.Mmm=ПН
+day.3.Mmm=ВТ
+day.4.Mmm=СР
+day.5.Mmm=ЧТ
+day.6.Mmm=ПТ
+day.7.Mmm=СБ
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=НД
+day.2.short=ПН
+day.3.short=ВТ
+day.4.short=СР
+day.5.short=ЧТ
+day.6.short=ПТ
+day.7.short=СБ
+
+# 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=опівдні
+midnight=опівночі
+
+AllDay=Цілий день
+Repeating=(Повторюється)
diff --git a/l10n-uk/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/l10n-uk/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..e073c1c410
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY reminderdialog.title "Налаштування нагадування">
+<!ENTITY reminder.add.label "Додати">
+<!ENTITY reminder.add.accesskey "Д">
+<!ENTITY reminder.remove.label "Вилучити">
+<!ENTITY reminder.remove.accesskey "В">
+
+<!ENTITY reminder.reminderDetails.label "Деталі нагадування">
+<!ENTITY reminder.action.label "Виберіть дію для нагадування">
+
+<!ENTITY reminder.action.alert.label "Показати виринаюче вікно">
+<!ENTITY reminder.action.email.label "Надіслати E-Mail">
+
+<!ENTITY alarm.units.minutes "хвилин" >
+<!ENTITY alarm.units.hours "годин" >
+<!ENTITY alarm.units.days "днів" >
diff --git a/l10n-uk/calendar/chrome/calendar/global.dtd b/l10n-uk/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..9f1379746b
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,54 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY time.midnight "Опівночі" >
+<!ENTITY time.noon "Опівдні" >
+
+<!-- Day Names -->
+<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently
+ only used in Preferences > Views > Workweek groupbox -->
+<!ENTITY day.1.Ddd "НД" >
+<!ENTITY day.1.Ddd.accesskey "Н">
+<!ENTITY day.2.Ddd "ПН" >
+<!ENTITY day.2.Ddd.accesskey "П">
+<!ENTITY day.3.Ddd "ВТ" >
+<!ENTITY day.3.Ddd.accesskey "В">
+<!ENTITY day.4.Ddd "СР" >
+<!ENTITY day.4.Ddd.accesskey "С">
+<!ENTITY day.5.Ddd "ЧТ" >
+<!ENTITY day.5.Ddd.accesskey "Ч">
+<!ENTITY day.6.Ddd "ПТ" >
+<!ENTITY day.6.Ddd.accesskey "т">
+<!ENTITY day.7.Ddd "СБ" >
+<!ENTITY day.7.Ddd.accesskey "б">
+
+<!ENTITY day.1.name "Неділя" >
+<!ENTITY day.2.name "Понеділок" >
+<!ENTITY day.3.name "Вівторок" >
+<!ENTITY day.4.name "Середа" >
+<!ENTITY day.5.name "Четвер" >
+<!ENTITY day.6.name "П’ятниця" >
+<!ENTITY day.7.name "Субота" >
+
+<!ENTITY month.1.name "Січень" >
+<!ENTITY month.2.name "Лютий" >
+<!ENTITY month.3.name "Березень" >
+<!ENTITY month.4.name "Квітень" >
+<!ENTITY month.5.name "Травень" >
+<!ENTITY month.6.name "Червень" >
+<!ENTITY month.7.name "Липень" >
+<!ENTITY month.8.name "Серпень" >
+<!ENTITY month.9.name "Вересень" >
+<!ENTITY month.10.name "Жовтень" >
+<!ENTITY month.11.name "Листопад" >
+<!ENTITY month.12.name "Грудень" >
+
+<!ENTITY onemonthbackward.tooltip "Один місяць назад" >
+<!ENTITY onemonthforward.tooltip "Один місяць вперед" >
+<!ENTITY oneyearbackward.tooltip "На один рік назад" >
+<!ENTITY oneyearforward.tooltip "На один рік вперед" >
+<!ENTITY showToday.tooltip "Сьогодні">
+<!ENTITY onedayforward.tooltip "Один день вперед">
+<!ENTITY onedaybackward.tooltip "Один день назад">
+<!ENTITY showselectedday.tooltip "Показати події обраного дня">
diff --git a/l10n-uk/calendar/chrome/calendar/menuOverlay.dtd b/l10n-uk/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..584897bf51
--- /dev/null
+++ b/l10n-uk/calendar/chrome/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 "Нова подія…">
+<!ENTITY event.new.event.accesskey "п">
+
+<!ENTITY event.new.task "Нове завдання…">
+<!ENTITY event.new.task.accesskey "з">
+
+<!ENTITY calendar.import.label "Імпорт…">
+<!ENTITY calendar.import.accesskey "І">
+
+<!ENTITY calendar.export.label "Експорт…">
+<!ENTITY calendar.export.accesskey "Е">
+
+<!ENTITY calendar.publish.label "Публікація…">
+<!ENTITY calendar.publish.accesskey "б">
+
+<!ENTITY calendar.deletecalendar.label "Вилучити вибраний календар…">
+<!ENTITY calendar.deletecalendar.accesskey "В">
+<!ENTITY calendar.unsubscribecalendar.label "Відписатися від вибраного календаря…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "д">
+
+<!-- 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 "Прибрати вибраний календар…">
+<!ENTITY calendar.removecalendar.accesskey "и">
+
+
+<!ENTITY calendar.menu.customize.label "Пристосувати…">
+<!ENTITY calendar.menu.customize.accesskey "с">
+
+<!ENTITY showUnifinderCmd.label "Знайти події">
+<!ENTITY showUnifinderCmd.accesskey "н">
+<!ENTITY showUnifinderCmd.tooltip "Перемкнути панель знаходження подій">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Показувати завдання в календарі">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "о">
+
+<!ENTITY goTodayCmd.label "Сьогодні">
+<!ENTITY goTodayCmd.accesskey "г">
+
+<!ENTITY showCurrentView.label "Поточний вигляд">
+<!ENTITY showCurrentView.accesskey "ч">
+
+<!ENTITY calendar.properties.label "Властивості календаря…">
+<!ENTITY calendar.properties.accesskey "л">
diff --git a/l10n-uk/calendar/chrome/calendar/migration.dtd b/l10n-uk/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 0000000000..ce74c5418d
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/migration.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY migration.title "&brandFullName;: імпорт даних">
+<!ENTITY migration.welcome "Вітаємо">
+<!ENTITY migration.importing "Завантажується">
+<!ENTITY migration.list.description "&brandShortName; може імпортувати дані календаря з багатьох популярних програм. На вашому комп’ютері знайдено дані з таких програм. Будь ласка, оберіть ті, з яких потрібно завантажити дані.">
+<!ENTITY migration.progress.description "Завантажуються обрані дані">
diff --git a/l10n-uk/calendar/chrome/calendar/migration.properties b/l10n-uk/calendar/chrome/calendar/migration.properties
new file mode 100644
index 0000000000..e76f60ec19
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/migration.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+migratingApp = Переміщення %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: імпорт даних
+migrationDescription=%1$S може імпортувати дані календаря з багатьох популярних програм. На вашому комп’ютері знайдено дані з наступних програм. Будь ласка, оберіть ті, з яких ви хочете імпортувати дані.
+finished = Завершено
+disableExtTitle = Знайдено несумісне розширення
+disableExtText = У Вас встановлено старе розширення Mozilla Calendar, яке несумісне з Lightning. Воно буде вимкнене і %1$S перевантажиться.
diff --git a/l10n-uk/calendar/chrome/calendar/provider-uninstall.dtd b/l10n-uk/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..75cb28c47d
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/provider-uninstall.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY providerUninstall.title "Вилучити постачальника">
+<!ENTITY providerUninstall.accept.label "Відписатись від обраного">
+<!ENTITY providerUninstall.accept.accesskey "В">
+<!ENTITY providerUninstall.cancel.label "Зберегти додаток">
+<!ENTITY providerUninstall.cancel.accesskey "З">
+<!ENTITY providerUninstall.preName.label "Ви бажаєте вилучити або зробити неактивним:">
+<!ENTITY providerUninstall.postName.label "Як наслідок цього календарі, що зазначені нижче, стануть неактивними.">
+<!ENTITY providerUninstall.reinstallNote.label "Якщо ви не плануєте перевстановлювати цього постачальника, ви можете відмовитись від підписки на календарі від цього постачальника.">
diff --git a/l10n-uk/calendar/chrome/calendar/timezones.properties b/l10n-uk/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 0000000000..56c59d7f53
--- /dev/null
+++ b/l10n-uk/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,488 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# extension:
+extensions.calendar-timezones@mozilla.org.name=Визначення часових поясів для Mozilla Calendar
+extensions.calendar-timezones@mozilla.org.description=Визначення часових поясів для Sunbird та Lightning
+extensions.calendar-timezones@mozilla.org.creator=Проєкт Mozilla Calendar
+
+pref.timezone.floating=Місцевий час
+pref.timezone.UTC=UTC/GMT
+
+# I've derived this list out of timezones.dtd
+# - replaced '_' with ' ' on value side
+# - corrected 'St xyz' to 'St. xyz'
+
+# timezone names:
+pref.timezone.Africa.Abidjan=Африка/Абіджан
+pref.timezone.Africa.Accra=Африка/Аккра
+pref.timezone.Africa.Addis_Ababa=Африка/Аддис-Абеба
+pref.timezone.Africa.Algiers=Африка/Алжир
+pref.timezone.Africa.Asmara=Африка/Асмара
+pref.timezone.Africa.Bamako=Африка/Бамако
+pref.timezone.Africa.Bangui=Африка/Банґі
+pref.timezone.Africa.Banjul=Африка/Банджул
+pref.timezone.Africa.Bissau=Африка/Бісау
+pref.timezone.Africa.Blantyre=Африка/Блантир
+pref.timezone.Africa.Brazzaville=Африка/Браззавіль
+pref.timezone.Africa.Bujumbura=Африка/Буджумбура
+pref.timezone.Africa.Cairo=Африка/Каїр
+pref.timezone.Africa.Casablanca=Африка/Касабланка
+pref.timezone.Africa.Ceuta=Африка/Сеута
+pref.timezone.Africa.Conakry=Африка/Конакрі
+pref.timezone.Africa.Dakar=Африка/Дакар
+pref.timezone.Africa.Dar_es_Salaam=Африка/Дар-ес-Салам
+pref.timezone.Africa.Djibouti=Африка/Джибуті
+pref.timezone.Africa.Douala=Африка/Дуала
+pref.timezone.Africa.El_Aaiun=Африка/Ель-Аюн
+pref.timezone.Africa.Freetown=Африка/Фрітаун
+pref.timezone.Africa.Gaborone=Африка/Ґабороне
+pref.timezone.Africa.Harare=Африка/Хараре
+pref.timezone.Africa.Johannesburg=Африка/Йоганнесбург
+pref.timezone.Africa.Kampala=Африка/Кампала
+pref.timezone.Africa.Khartoum=Африка/Хартум
+pref.timezone.Africa.Kigali=Африка/Кіґалі
+pref.timezone.Africa.Kinshasa=Африка/Кіншаса
+pref.timezone.Africa.Lagos=Африка/Лагос
+pref.timezone.Africa.Libreville=Африка/Лібревіль
+pref.timezone.Africa.Lome=Африка/Ломе
+pref.timezone.Africa.Luanda=Африка/Луанда
+pref.timezone.Africa.Lubumbashi=Африка/Лубумбаши
+pref.timezone.Africa.Lusaka=Африка/Лусака
+pref.timezone.Africa.Malabo=Африка/Малабо
+pref.timezone.Africa.Maputo=Африка/Мапуту
+pref.timezone.Africa.Maseru=Африка/Масеру
+pref.timezone.Africa.Mbabane=Африка/Мбабане
+pref.timezone.Africa.Mogadishu=Африка/Могадішо
+pref.timezone.Africa.Monrovia=Африка/Монровія
+pref.timezone.Africa.Nairobi=Африка/Найробі
+pref.timezone.Africa.Ndjamena=Африка/Нджамена
+pref.timezone.Africa.Niamey=Африка/Ніамей
+pref.timezone.Africa.Nouakchott=Африка/Нуакшот
+pref.timezone.Africa.Ouagadougou=Африка/Уаґадуґу
+pref.timezone.Africa.Porto-Novo=Африка/Порто-Ново
+pref.timezone.Africa.Sao_Tome=Африка/Сан-Томе
+pref.timezone.Africa.Tripoli=Африка/Тріполі
+pref.timezone.Africa.Tunis=Африка/Туніс
+pref.timezone.Africa.Windhoek=Африка/Віндхук
+pref.timezone.America.Adak=Америка/Адак
+pref.timezone.America.Anchorage=Америка/Анкорідж
+pref.timezone.America.Anguilla=Америка/Анґілья
+pref.timezone.America.Antigua=Америка/Антігуа
+pref.timezone.America.Araguaina=Америка/Араґуяна
+pref.timezone.America.Argentina.Buenos_Aires=Америка/Аргентина/Буенос Айрес
+pref.timezone.America.Argentina.Catamarca=Америка/Аргентина/Катамарка
+pref.timezone.America.Argentina.Cordoba=Америка/Аргентина/Кордоба
+pref.timezone.America.Argentina.Jujuy=Америка/Аргентина/Хухуй
+pref.timezone.America.Argentina.La_Rioja=Америка/Аргентина/Ла Ріоха
+pref.timezone.America.Argentina.Mendoza=Америка/Аргентина/Мендоза
+pref.timezone.America.Argentina.Rio_Gallegos=Америка/Аргентина/Ріо Ґалеґос
+pref.timezone.America.Argentina.San_Juan=Америка/Аргентина/Сан Хуан
+pref.timezone.America.Argentina.Tucuman=Америка/Аргентина/Тукуман
+pref.timezone.America.Argentina.Ushuaia=Америка/Аргентина/Ушуайя
+pref.timezone.America.Aruba=Америка/Аруба
+pref.timezone.America.Asuncion=Америка/Асунсьон
+pref.timezone.America.Atikokan=Америка/Атікокан
+pref.timezone.America.Bahia=Америка/Багія
+pref.timezone.America.Barbados=Америка/Барбадос
+pref.timezone.America.Belem=Америка/Белем
+pref.timezone.America.Belize=Америка/Беліз
+pref.timezone.America.Blanc-Sablon=Америка/Блан-Саблон
+pref.timezone.America.Boa_Vista=Америка/Боа-Вішта
+pref.timezone.America.Bogota=Америка/Богота
+pref.timezone.America.Boise=Америка/Бойсе
+pref.timezone.America.Cambridge_Bay=Америка/Кембрідж-Бей
+pref.timezone.America.Campo_Grande=Америка/Кампо Ґранде
+pref.timezone.America.Cancun=Америка/Канкун
+pref.timezone.America.Caracas=Америка/Каракас
+pref.timezone.America.Cayenne=Америка/Кайєнна
+pref.timezone.America.Cayman=Америка/Кайманові острови
+pref.timezone.America.Chicago=Америка/Чикаго
+pref.timezone.America.Chihuahua=Америка/Чіхуахуа
+pref.timezone.America.Costa_Rica=Америка/Коста-Ріка
+pref.timezone.America.Cuiaba=Америка/Куяба
+pref.timezone.America.Curacao=Америка/Куракао
+pref.timezone.America.Danmarkshavn=Америка/Денмаркшавн
+pref.timezone.America.Dawson=Америка/Досон
+pref.timezone.America.Dawson_Creek=Америка/Досон-Крік
+pref.timezone.America.Denver=Америка/Денвер
+pref.timezone.America.Detroit=Америка/Детройт
+pref.timezone.America.Dominica=Америка/Домініка
+pref.timezone.America.Edmonton=Америка/Едмонтон
+pref.timezone.America.Eirunepe=Америка/Ірунепе
+pref.timezone.America.El_Salvador=Америка/Сальвадор
+pref.timezone.America.Fortaleza=Америка/Форталеза
+pref.timezone.America.Glace_Bay=Америка/Ґлейс-Бей
+pref.timezone.America.Godthab=Америка/Ґодтаб
+pref.timezone.America.Goose_Bay=Америка/Ґуз-Бей
+pref.timezone.America.Grand_Turk=Америка/Ґрад-Тюрк
+pref.timezone.America.Grenada=Америка/Гренада
+pref.timezone.America.Guadeloupe=Америка/Гваделупа
+pref.timezone.America.Guatemala=Америка/Гватемала
+pref.timezone.America.Guayaquil=Америка/Ґуаякіль
+pref.timezone.America.Guyana=Америка/Гаяна
+pref.timezone.America.Halifax=Америка/Галіфакс
+pref.timezone.America.Havana=Америка/Гавана
+pref.timezone.America.Hermosillo=Америка/Ермосійо
+pref.timezone.America.Indiana.Indianapolis=Америка/Індіана/Індіанаполіс
+pref.timezone.America.Indiana.Knox=Америка/Індіана/Нокс
+pref.timezone.America.Indiana.Marengo=Америка/Індіана/Маренґо
+pref.timezone.America.Indiana.Petersburg=Америка/Індіана/Петерсбург
+pref.timezone.America.Indiana.Vevay=Америка/Індіана/Вевей
+pref.timezone.America.Indiana.Vincennes=Америка/Індіана/Вінсеннес
+pref.timezone.America.Inuvik=Америка/Інувік
+pref.timezone.America.Iqaluit=Америка/Ікалуіт
+pref.timezone.America.Jamaica=Америка/Ямайка
+pref.timezone.America.Juneau=Америка/Джуно
+pref.timezone.America.Kentucky.Louisville=Америка/Кентуккі/Луісвілл
+pref.timezone.America.Kentucky.Monticello=Америка/Кентуккі/Монтічелло
+pref.timezone.America.La_Paz=Америка/Ла-Паз
+pref.timezone.America.Lima=Америка/Ліма
+pref.timezone.America.Los_Angeles=Америка/Лос-Анжелес
+pref.timezone.America.Maceio=Америка/Масейо
+pref.timezone.America.Managua=Америка/Манагуа
+pref.timezone.America.Manaus=Америка/Манаус
+pref.timezone.America.Martinique=Америка/Мартініка
+pref.timezone.America.Mazatlan=Америка/Мазатлан
+pref.timezone.America.Menominee=Америка/Меноміні
+pref.timezone.America.Merida=Америка/Меріда
+pref.timezone.America.Mexico_City=Америка/Мехіко
+pref.timezone.America.Miquelon=Америка/Мікелон
+pref.timezone.America.Moncton=Америка/Монктон
+pref.timezone.America.Monterrey=Америка/Мотеррей
+pref.timezone.America.Montevideo=Америка/Монтевідео
+pref.timezone.America.Montreal=Америка/Монреаль
+pref.timezone.America.Montserrat=Америка/Монтсеррат
+pref.timezone.America.Nassau=Америка/Нассау
+pref.timezone.America.New_York=Америка/Нью-Йорк
+pref.timezone.America.Nipigon=Америка/Ніпіґон
+pref.timezone.America.Nome=Америка/Ном
+pref.timezone.America.Noronha=Америка/Норонга
+pref.timezone.America.North_Dakota.Center=Америка/Півн. Дакота/Центр
+pref.timezone.America.North_Dakota.New_Salem=Америка/Півн. Дакота/Нью Салем
+pref.timezone.America.Panama=Америка/Панама
+pref.timezone.America.Pangnirtung=Америка/Панґніртунґ
+pref.timezone.America.Paramaribo=Америка/Парамарібо
+pref.timezone.America.Phoenix=Америка/Фенікс
+pref.timezone.America.Port-au-Prince=Америка/Порт-о-Пренс
+pref.timezone.America.Port_of_Spain=Америка/Порт-оф-Спейн
+pref.timezone.America.Porto_Velho=Америка/Порто-Велго
+pref.timezone.America.Puerto_Rico=Америка/Пуерто-Ріко
+pref.timezone.America.Rainy_River=Америка/Рейні-Рівер
+pref.timezone.America.Rankin_Inlet=Америка/Ранклін-Інлет
+pref.timezone.America.Recife=Америка/Ресіфі
+pref.timezone.America.Regina=Америка/Ріджайна
+pref.timezone.America.Rio_Branco=Америка/Ріо-Бранко
+pref.timezone.America.Santiago=Америка/Сантьяґо
+pref.timezone.America.Santo_Domingo=Америка/Санто-Домінґо
+pref.timezone.America.Sao_Paulo=Америка/Сан-Паулу
+pref.timezone.America.Scoresbysund=Америка/Скорсбайзунд
+pref.timezone.America.Shiprock=Америка/Шіпрок
+pref.timezone.America.St_Johns=Америка/Сент-Джонс
+pref.timezone.America.St_Kitts=Америка/Сент-Кіттс
+pref.timezone.America.St_Lucia=Америка/Санта-Лючія
+pref.timezone.America.St_Thomas=Америка/Сент-Томас
+pref.timezone.America.St_Vincent=Америка/Сент-Вінсент
+pref.timezone.America.Swift_Current=Америка/Свіфт-Карент
+pref.timezone.America.Tegucigalpa=Америка/Теґучіґальпа
+pref.timezone.America.Thule=Америка/Тулє
+pref.timezone.America.Thunder_Bay=Америка/Тандер-Бей
+pref.timezone.America.Tijuana=Америка/Тіхуана
+pref.timezone.America.Toronto=Америка/Торонто
+pref.timezone.America.Tortola=Америка/Тортола
+pref.timezone.America.Vancouver=Америка/Ванкувер
+pref.timezone.America.Whitehorse=Америка/Вайтхорс
+pref.timezone.America.Winnipeg=Америка/Вінніпег
+pref.timezone.America.Yakutat=Америка/Якутат
+pref.timezone.America.Yellowknife=Америка/Єллоунайф
+pref.timezone.Antarctica.Casey=Антарктика/Кейсі
+pref.timezone.Antarctica.Davis=Антарктика/Девіс
+pref.timezone.Antarctica.DumontDUrville=Антарктика/Дюмон-д’Юрвиль
+pref.timezone.Antarctica.Mawson=Антарктика/Моусон
+pref.timezone.Antarctica.McMurdo=Антарктика/Макмердо
+pref.timezone.Antarctica.Palmer=Антарктика/Палмер
+pref.timezone.Antarctica.Rothera=Антарктика/Ротера
+pref.timezone.Antarctica.South_Pole=Антарктика/Південний_Полюс
+pref.timezone.Antarctica.Syowa=Антарктика/Сєва
+pref.timezone.Antarctica.Vostok=Антарктика/Восток
+pref.timezone.Arctic.Longyearbyen=Арктика/Лонґєрбєн
+pref.timezone.Asia.Aden=Азія/Аден
+pref.timezone.Asia.Almaty=Азія/Алмати
+pref.timezone.Asia.Amman=Азія/Амман
+pref.timezone.Asia.Anadyr=Азія/Анадир
+pref.timezone.Asia.Aqtau=Азія/Актау
+pref.timezone.Asia.Aqtobe=Азія/Актобе (Актюбінськ)
+pref.timezone.Asia.Ashgabat=Азія/Ашхабад
+pref.timezone.Asia.Baghdad=Азія/Багдад
+pref.timezone.Asia.Bahrain=Азія/Бахрейн
+pref.timezone.Asia.Baku=Азія/Баку
+pref.timezone.Asia.Bangkok=Азія/Бангкок
+pref.timezone.Asia.Beirut=Азія/Бейрут
+pref.timezone.Asia.Bishkek=Азія/Бішкек
+pref.timezone.Asia.Brunei=Азія/Бруней
+pref.timezone.Asia.Choibalsan=Азія/Чойбалсан
+pref.timezone.Asia.Chongqing=Азія/Чонґкінґ
+pref.timezone.Asia.Colombo=Азія/Коломбо
+pref.timezone.Asia.Damascus=Азія/Дамаск
+pref.timezone.Asia.Dhaka=Азія/Дакка
+pref.timezone.Asia.Dili=Азія/Ділі
+pref.timezone.Asia.Dubai=Азія/Дубаї
+pref.timezone.Asia.Dushanbe=Азія/Душанбе
+pref.timezone.Asia.Gaza=Азія/Ґаза
+pref.timezone.Asia.Harbin=Азія/Гарбін
+pref.timezone.Asia.Hong_Kong=Азія/Гонґ-Конґ
+pref.timezone.Asia.Hovd=Азія/Ховд
+pref.timezone.Asia.Irkutsk=Азія/Іркутськ
+pref.timezone.Asia.Istanbul=Азія/Стамбул
+pref.timezone.Asia.Jakarta=Азія/Джакарта
+pref.timezone.Asia.Jayapura=Азія/Джаяпура
+pref.timezone.Asia.Jerusalem=Азія/Єрусалим
+pref.timezone.Asia.Kabul=Азія/Кабул
+pref.timezone.Asia.Kamchatka=Азія/Камчатка
+pref.timezone.Asia.Karachi=Азія/Карачі
+pref.timezone.Asia.Kashgar=Азія/Кашгар
+pref.timezone.Asia.Kathmandu=Азія/Катманду
+pref.timezone.Asia.Krasnoyarsk=Азія/Красноярськ
+pref.timezone.Asia.Kuala_Lumpur=Азія/Куала-Лумпур
+pref.timezone.Asia.Kuching=Азія/Кучінґ
+pref.timezone.Asia.Kuwait=Азія/Кувейт
+pref.timezone.Asia.Macau=Азія/Макау
+pref.timezone.Asia.Magadan=Азія/Магадан
+pref.timezone.Asia.Makassar=Азія/Макассар
+pref.timezone.Asia.Manila=Азія/Маніла
+pref.timezone.Asia.Muscat=Азія/Мускат
+pref.timezone.Asia.Nicosia=Азія/Нікосія
+pref.timezone.Asia.Novosibirsk=Азія/Новосибірськ
+pref.timezone.Asia.Omsk=Азія/Омськ
+pref.timezone.Asia.Oral=Азія/Орал
+pref.timezone.Asia.Phnom_Penh=Азія/Пном-Пень
+pref.timezone.Asia.Pontianak=Азія/Понтіанак
+pref.timezone.Asia.Pyongyang=Азія/Пхеньян
+pref.timezone.Asia.Qatar=Азія/Катар
+pref.timezone.Asia.Qyzylorda=Азія/Кізіл-Орда
+pref.timezone.Asia.Rangoon=Азія/Раґун
+pref.timezone.Asia.Riyadh=Азія/Ер-Ріяд
+pref.timezone.Asia.Sakhalin=Азія/Сахалін
+pref.timezone.Asia.Samarkand=Азія/Самарканд
+pref.timezone.Asia.Seoul=Азія/Сеул
+pref.timezone.Asia.Shanghai=Азія/Шанхай
+pref.timezone.Asia.Singapore=Азія/Сінгапур
+pref.timezone.Asia.Taipei=Азія/Тайпей
+pref.timezone.Asia.Tashkent=Азія/Ташкент
+pref.timezone.Asia.Tbilisi=Азія/Тбілісі
+pref.timezone.Asia.Tehran=Азія/Тегеран
+pref.timezone.Asia.Thimphu=Азія/Тімфу
+pref.timezone.Asia.Tokyo=Азія/Токіо
+pref.timezone.Asia.Ulaanbaatar=Азія/Улан-Батор
+pref.timezone.Asia.Urumqi=Азія/Урумкі
+pref.timezone.Asia.Vientiane=Азія/В’єнтьян
+pref.timezone.Asia.Vladivostok=Азія/Владивосток
+pref.timezone.Asia.Yakutsk=Азія/Якутськ
+pref.timezone.Asia.Yekaterinburg=Азія/Єкатеринбург
+pref.timezone.Asia.Yerevan=Азія/Єреван
+pref.timezone.Atlantic.Azores=Атлантика/Азорські острови
+pref.timezone.Atlantic.Bermuda=Атлантика/Бермудські остр.
+pref.timezone.Atlantic.Canary=Атлантика/Канари
+pref.timezone.Atlantic.Cape_Verde=Атлантика/Кабо-Верде
+pref.timezone.Atlantic.Faroe=Атлантика/Фаро
+pref.timezone.Atlantic.Madeira=Атлантика/Мадейра
+pref.timezone.Atlantic.Reykjavik=Атлантика/Рейк’явік
+pref.timezone.Atlantic.South_Georgia=Атлантика/Південна Джорджія
+pref.timezone.Atlantic.St_Helena=Атлантика/Святої Олени острів
+pref.timezone.Atlantic.Stanley=Атлантика/Стенлі
+pref.timezone.Australia.Adelaide=Австралія/Аделаїда
+pref.timezone.Australia.Brisbane=Австралія/Брісбен
+pref.timezone.Australia.Broken_Hill=Австралія/Брокен-Гілл
+pref.timezone.Australia.Currie=Австралія/Каррі
+pref.timezone.Australia.Darwin=Австралія/Дарвін
+pref.timezone.Australia.Eucla=Австралія/Юкла
+pref.timezone.Australia.Hobart=Австралія/Гобарт
+pref.timezone.Australia.Lindeman=Австралія/Ліндеман
+pref.timezone.Australia.Lord_Howe=Австралія/Лорд-Гоув
+pref.timezone.Australia.Melbourne=Австралія/Мельбурн
+pref.timezone.Australia.Perth=Австралія/Перт
+pref.timezone.Australia.Sydney=Австралія/Сідней
+pref.timezone.Europe.Amsterdam=Європа/Амстердам
+pref.timezone.Europe.Andorra=Європа/Андорра
+pref.timezone.Europe.Athens=Європа/Афіни
+pref.timezone.Europe.Belgrade=Європа/Белград
+pref.timezone.Europe.Berlin=Європа/Берлін
+pref.timezone.Europe.Bratislava=Європа/Братислава
+pref.timezone.Europe.Brussels=Європа/Брюссель
+pref.timezone.Europe.Bucharest=Європа/Бухарест
+pref.timezone.Europe.Budapest=Європа/Будапешт
+pref.timezone.Europe.Chisinau=Європа/Кишинів
+pref.timezone.Europe.Copenhagen=Європа/Копенгаген
+pref.timezone.Europe.Dublin=Європа/Дублін
+pref.timezone.Europe.Gibraltar=Європа/Гібралтар
+pref.timezone.Europe.Guernsey=Європа/Ґюрнсей
+pref.timezone.Europe.Helsinki=Європа/Хельсінкі
+pref.timezone.Europe.Isle_of_Man=Європа/Айл ов Мен
+pref.timezone.Europe.Istanbul=Європа/Стамбул
+pref.timezone.Europe.Jersey=Європа/Джерсі
+pref.timezone.Europe.Kaliningrad=Європа/Калінінград
+pref.timezone.Europe.Kiev=Європа/Київ
+pref.timezone.Europe.Lisbon=Європа/Лісабон
+pref.timezone.Europe.Ljubljana=Європа/Любляна
+pref.timezone.Europe.London=Європа/Лондон
+pref.timezone.Europe.Luxembourg=Європа/Люксембург
+pref.timezone.Europe.Madrid=Європа/Мадрид
+pref.timezone.Europe.Malta=Європа/Мальта
+pref.timezone.Europe.Mariehamn=Європа/Мерігемн
+pref.timezone.Europe.Minsk=Європа/Мінськ
+pref.timezone.Europe.Monaco=Європа/Монако
+pref.timezone.Europe.Moscow=Європа/Москва
+pref.timezone.Europe.Nicosia=Європа/Нікосія
+pref.timezone.Europe.Oslo=Європа/Осло
+pref.timezone.Europe.Paris=Європа/Париж
+pref.timezone.Europe.Podgorica=Європа/Подґоріца
+pref.timezone.Europe.Prague=Європа/Прага
+pref.timezone.Europe.Riga=Європа/Рига
+pref.timezone.Europe.Rome=Європа/Рим
+pref.timezone.Europe.Samara=Європа/Самара
+pref.timezone.Europe.San_Marino=Європа/Сан-Маріно
+pref.timezone.Europe.Sarajevo=Європа/Сараєво
+pref.timezone.Europe.Simferopol=Європа/Сімферополь
+pref.timezone.Europe.Skopje=Європа/Скоп’є
+pref.timezone.Europe.Sofia=Європа/Софія
+pref.timezone.Europe.Stockholm=Європа/Стокгольм
+pref.timezone.Europe.Tallinn=Європа/Таллін
+pref.timezone.Europe.Tirane=Європа/Тірана
+pref.timezone.Europe.Uzhgorod=Європа/Ужгород
+pref.timezone.Europe.Vaduz=Європа/Вадуц
+pref.timezone.Europe.Vatican=Європа/Ватикан
+pref.timezone.Europe.Vienna=Європа/Відень
+pref.timezone.Europe.Vilnius=Європа/Вільнюс
+pref.timezone.Europe.Volgograd=Європа/Волгоград
+pref.timezone.Europe.Warsaw=Європа/Варшава
+pref.timezone.Europe.Zagreb=Європа/Загреб
+pref.timezone.Europe.Zaporozhye=Європа/Запоріжжя
+pref.timezone.Europe.Zurich=Європа/Цюріх
+pref.timezone.Indian.Antananarivo=Індійський океан/Антананаріву
+pref.timezone.Indian.Chagos=Індійський океан/Чагос
+pref.timezone.Indian.Christmas=Індійський океан/Різдва острів
+pref.timezone.Indian.Cocos=Індійський океан/Кокосові острови
+pref.timezone.Indian.Comoro=Індійський океан/Коморо
+pref.timezone.Indian.Kerguelen=Індійський/Керґелен
+pref.timezone.Indian.Mahe=Індійський океан/Маге
+pref.timezone.Indian.Maldives=Індійський океан/Мальдіви
+pref.timezone.Indian.Mauritius=Індійський океан/Маврикій
+pref.timezone.Indian.Mayotte=Індійський океан/Майотт
+pref.timezone.Indian.Reunion=Індійський океан/Реюніон
+pref.timezone.Pacific.Apia=Тихий океан/Апіа
+pref.timezone.Pacific.Auckland=Тихий океан/Окленд
+pref.timezone.Pacific.Chatham=Тихий океан/Чатем
+pref.timezone.Pacific.Easter=Тихий океан/Пасхи острів
+pref.timezone.Pacific.Efate=Тихий океан/Ефат
+pref.timezone.Pacific.Enderbury=Тихий океан/Енденбері
+pref.timezone.Pacific.Fakaofo=Тихий океан/Факаофо
+pref.timezone.Pacific.Fiji=Тихий океан/Фіджі
+pref.timezone.Pacific.Funafuti=Тихий океан/Фунафуті
+pref.timezone.Pacific.Galapagos=Тихий океан/Галапагосові острови
+pref.timezone.Pacific.Gambier=Тихий океан/Ґамб’єр
+pref.timezone.Pacific.Guadalcanal=Тихий океан/Ґуадальканал
+pref.timezone.Pacific.Guam=Тихий океан/Ґуам
+pref.timezone.Pacific.Honolulu=Тихий океан/Гонолулу
+pref.timezone.Pacific.Johnston=Тихий океан/Джонстон
+pref.timezone.Pacific.Kiritimati=Тихий океан/Кіріматі
+pref.timezone.Pacific.Kosrae=Тихий океан/Косрае
+pref.timezone.Pacific.Kwajalein=Тихий океан/Кваялейн
+pref.timezone.Pacific.Majuro=Тихий океан/Махуро
+pref.timezone.Pacific.Marquesas=Тихий океан/Маркізькі острови
+pref.timezone.Pacific.Midway=Тихий океан/Мідуей
+pref.timezone.Pacific.Nauru=Тихий океан/Науру
+pref.timezone.Pacific.Niue=Тихий океан/Ніуе
+pref.timezone.Pacific.Norfolk=Тихий океан/Норфолк
+pref.timezone.Pacific.Noumea=Тихий океан/Нумея
+pref.timezone.Pacific.Pago_Pago=Тихий океан/Паґо-Паґо
+pref.timezone.Pacific.Palau=Тихий океан/Палау
+pref.timezone.Pacific.Pitcairn=Тихий океан/Піткерн
+pref.timezone.Pacific.Ponape=Тихий океан/Понапе
+pref.timezone.Pacific.Port_Moresby=Тихий океан/Порт-Морсбі
+pref.timezone.Pacific.Rarotonga=Тихий океан/Раротонга
+pref.timezone.Pacific.Saipan=Тихий океан/Сайпан
+pref.timezone.Pacific.Tahiti=Тихий океан/Таїті
+pref.timezone.Pacific.Tarawa=Тихий океан/Тарава
+pref.timezone.Pacific.Tongatapu=Тихий океан/Тонгатапу
+pref.timezone.Pacific.Truk=Тихий океан/Трак
+pref.timezone.Pacific.Wake=Тихий океан/Вейк
+pref.timezone.Pacific.Wallis=Тихий океан/Волліс
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=Америка/Індіана/Телл Сіті
+pref.timezone.America.Indiana.Winamac=Америка/Індіана/Віманак
+pref.timezone.America.Marigot=Америка/Мариґот
+pref.timezone.America.Resolute=Америка/Резолют
+pref.timezone.America.St_Barthelemy=Америка/Сент Бартелемі
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=Америка/Аргентина/Сан Луіс
+pref.timezone.America.Santarem=Америка/Сантарем
+pref.timezone.Asia.Ho_Chi_Minh=Азія/Хо Ши Мін
+pref.timezone.Asia.Kolkata=Азія/Калькутта
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=Америка/Аргентина/Сальта
+
+# added with 2010i
+pref.timezone.America.Matamoros=Америка/Матамарос
+pref.timezone.America.Ojinaga=Америка/Оджинаґа
+pref.timezone.America.Santa_Isabel=Америка/Санта Ізабель
+pref.timezone.Antarctica.Macquarie=Антарктика/Макварі
+pref.timezone.Asia.Novokuznetsk=Азія/Новокузнєцк
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=Америка/Байя-де-Бандерас
+pref.timezone.America.North_Dakota.Beulah=Америка/Північна Дакота/Беула
+pref.timezone.Pacific.Chuuk=Тихий океан/Чуук
+pref.timezone.Pacific.Pohnpei=Тихий океан/Понпеї
+
+#added with 2011n
+pref.timezone.Africa.Juba=Африка/Джуба
+pref.timezone.America.Kralendijk=Америка/Кралендейк
+pref.timezone.America.Lower_Princes=Америка/Lower Princes
+pref.timezone.America.Metlakatla=Америка/Метлакатла
+pref.timezone.America.Sitka=Америка/Сітка
+pref.timezone.Asia.Hebron=Азія/Хеврон
+
+#added with 2013a
+pref.timezone.America.Creston=Америка/Крестон
+pref.timezone.Asia.Khandyga=Азія/Хандига
+pref.timezone.Asia.Ust-Nera=Азія/Усть-Нера
+pref.timezone.Europe.Busingen=Європа/Бюзінген
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Антарктика/Тролл
+
+#added with 2014j
+pref.timezone.Asia.Chita=Азія/Чита
+pref.timezone.Asia.Srednekolymsk=Азія/Середньоколимськ
+pref.timezone.Pacific.Bougainville=Тихий океан/Бугенвіль
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=Америка/Форт Нельсон
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Європа/Ульянівськ
+pref.timezone.Europe.Astrakhan=Європа/Астрахань
+pref.timezone.Asia.Barnaul=Азія/Барнаул
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Азія/Янгон
+pref.timezone.Asia.Tomsk=Азія/Томськ
+pref.timezone.Asia.Famagusta=Азія/Фамагуста
+pref.timezone.Europe.Kirov=Європа/Кіров
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Європа/Саратов
+pref.timezone.Asia.Atyrau=Азія/Атирау
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=Америка/Пунта-Аренас
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Азія/Костанай
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=Америка/Нуук
diff --git a/l10n-uk/calendar/chrome/lightning/lightning-toolbar.dtd b/l10n-uk/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..8208c0fbe9
--- /dev/null
+++ b/l10n-uk/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY lightning.toolbar.calendar.name "Панель Календаря">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "К">
+<!ENTITY lightning.toolbar.task.name "Панель Завдання">
+<!ENTITY lightning.toolbar.task.name.accesskey "З">
+
+<!ENTITY lightning.toolbar.sync.label "Синхронізувати">
+<!ENTITY lightning.toolbar.sync.tooltip "Перезавантажити календарі та синхронізувати зміни">
+<!ENTITY lightning.toolbar.delete.label "Видалити">
+<!ENTITY lightning.toolbar.delete.tooltip "Видалити вибрані події чи завдання">
+<!ENTITY lightning.toolbar.edit.label "Змінити">
+<!ENTITY lightning.toolbar.edit.tooltip "Змінити вибрану подію чи завдання">
+<!ENTITY lightning.toolbar.gototoday.label "Перейти на сьогодні">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Перейти на сьогодні">
+<!ENTITY lightning.toolbar.print.label "Друкувати ">
+<!ENTITY lightning.toolbar.print.tooltip "Друк подій чи завдань">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Календар">
+<!ENTITY lightning.toolbar.calendar.tooltip "Перемкнутись на вкладку календаря">
+<!ENTITY lightning.toolbar.calendar.accesskey "к">
+<!ENTITY lightning.toolbar.task.label "Завдання">
+<!ENTITY lightning.toolbar.task.tooltip "Перемкнутись на вкладку завдань">
+<!ENTITY lightning.toolbar.task.accesskey "з">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Подія">
+<!ENTITY lightning.toolbar.newevent.tooltip "Створити нову подію">
+<!ENTITY lightning.toolbar.newtask.label "Завдання">
+<!ENTITY lightning.toolbar.newtask.tooltip "Створити нове завдання">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "День">
+<!ENTITY lightning.toolbar.day.accesskey "Д">
+<!ENTITY lightning.toolbar.week.label "Тиждень">
+<!ENTITY lightning.toolbar.week.accesskey "Т">
+<!ENTITY lightning.toolbar.multiweek.label "Кілька тижнів">
+<!ENTITY lightning.toolbar.multiweek.accesskey "К">
+<!ENTITY lightning.toolbar.month.label "Місяць">
+<!ENTITY lightning.toolbar.month.accesskey "М">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "Меню програми">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Відобразити меню &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "Панель календаря">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "П">
+<!ENTITY lightning.toolbar.calendarpane.label "Показати панель календаря">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "о">
diff --git a/l10n-uk/calendar/chrome/lightning/lightning.dtd b/l10n-uk/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 0000000000..1ef472c322
--- /dev/null
+++ b/l10n-uk/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,116 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- WARNING! This file contains UTF-8 encoded characters!
+ - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
+ - your editor isn't using UTF-8 encoding and may munge up the document!
+ -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "Календар">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "Подія…">
+<!ENTITY lightning.menupopup.new.event.accesskey "П">
+<!ENTITY lightning.menupopup.new.task.label "Завдання…">
+<!ENTITY lightning.menupopup.new.task.accesskey "З">
+<!ENTITY lightning.menupopup.new.calendar.label "Календар…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "К">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label "Відкрити">
+<!ENTITY lightning.menupopup.open.accesskey "В">
+<!ENTITY lightning.menupopup.open.message.label "Збережене повідомлення…">
+<!ENTITY lightning.menupopup.open.message.accesskey "п">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.calendar.label "Файл календаря…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "к">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "Календар">
+<!ENTITY lightning.menu.view.calendar.accesskey "К">
+<!ENTITY lightning.menu.view.tasks.label "Завдання">
+<!ENTITY lightning.menu.view.tasks.accesskey "З">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Події та завдання">
+<!ENTITY lightning.menu.eventtask.accesskey "з">
+
+<!-- properties dialog, calendar creation wizard -->
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.email.label,
+ lightning.calendarproperties.forceEmailScheduling.label)
+ These strings are used in the calendar wizard and the calendar properties dialog, but are only
+ displayed when setting/using a caldav calendar -->
+<!ENTITY lightning.calendarproperties.email.label "E-Mail:">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "Віддавати перевагу надсилати листи із запрошеннями зі сторони клієнта">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "В даний момент ви можете увімкнути це лише після налаштування цього календаря в діалоговому вікні його властивостей, якщо сервер календаря сам обробляє запрошення.">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Це налаштування доступне лише тоді, коли сервер календаря сам може обробляти запрошення. Увімкнення цього дозволить повернутися до стандартного надсилання електронних листів із запрошеннями замість доручення цього серверу.">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Прийняти">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Прийняти запрошення на подію">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Прийняти все">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Прийняти запрошення на подію для всіх випадків події">
+<!ENTITY lightning.imipbar.btnAdd.label "Додати">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Додати подію в календар">
+<!ENTITY lightning.imipbar.btnDecline.label "Відхилити">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Відхилити запрошення на подію">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Відхилити все">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Відхилити запрошення на подію для всіх випадків події">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Відхилити">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Відхилити зустрічну пропозицію">
+<!ENTITY lightning.imipbar.btnDelete.label "Видалити">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Видалити з календаря">
+<!ENTITY lightning.imipbar.btnDetails.label "Подробиці…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Показати подробиці події">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "Не показувати мені ці повідомлення">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "Календар">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Перейти на вкладку календаря">
+<!ENTITY lightning.imipbar.btnMore.label "Більше">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Натисніть для показу додаткових можливостей">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Підтвердити заново">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Надсилає повторне підтвердження організатору">
+<!ENTITY lightning.imipbar.btnReschedule.label "Змінити розклад">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Змінити розклад події">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Зберегти копію">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Зберегти копію події в календар незалежно від відповіді організатору. Список присутніх буде очищений.">
+<!ENTITY lightning.imipbar.btnTentative.label "Попередньо">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Попередньо прийняти запрошення на подію">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Попередньо все">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Попередньо прийняти запрошення на подію для всіх випадків події">
+<!ENTITY lightning.imipbar.btnUpdate.label "Оновити">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Оновити подію в календарі">
+<!ENTITY lightning.imipbar.description "Це повідомлення містить запрошення на подію.">
+
+<!ENTITY lightning.imipbar.btnSend.label "Надіслати відповідь зараз">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "Надіслати відповідь організатору">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Надіслати відповідь організатору для усієї серії">
+<!ENTITY lightning.imipbar.btnDontSend.label "Не надсилати відповідь">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Змінити свій статус участі без надсилання відповіді організатору">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Змінити свій статус участі для серії без надсилання відповіді організатору">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.showCalendar.key "C">
+<!ENTITY lightning.keys.event.showTasks.key "D">
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "D">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "Створити новий календар">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Показувати календарик">
+<!ENTITY todaypane.showMinimonth.accesskey "к">
+<!ENTITY todaypane.showMiniday.label "Показувати день">
+<!ENTITY todaypane.showMiniday.accesskey "д">
+<!ENTITY todaypane.showNone.label "Нічого не показувати">
+<!ENTITY todaypane.showNone.accesskey "Н">
+<!ENTITY todaypane.showTodayPane.label "Показувати панель дня">
+<!ENTITY todaypane.showTodayPane.accesskey "п">
+<!ENTITY todaypane.statusButton.label "Сьогодні">
diff --git a/l10n-uk/calendar/chrome/lightning/lightning.properties b/l10n-uk/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 0000000000..7bae4caf00
--- /dev/null
+++ b/l10n-uk/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,201 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=Вбудований у Thunderbird календар
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Проєкт Mozilla Calendar
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Завдання
+
+# Tab titles
+tabTitleCalendar=Календар
+tabTitleTasks=Завдання
+
+# Html event display in message
+imipHtml.header=Запрошення на подію
+imipHtml.summary=Назва:
+imipHtml.location=Місце:
+imipHtml.when=Коли:
+imipHtml.organizer=Організатор:
+imipHtml.description=Опис:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=Вкладення:
+imipHtml.comment=Коментар:
+imipHtml.attendees=Учасники:
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=Пов'язане посилання:
+imipHtml.canceledOccurrences=Скасовані повторення:
+imipHtml.modifiedOccurrences=Змінені повторення:
+imipHtml.newLocation=Нове розташування: %1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+imipHtml.attendeeDelegatedFrom=(делеговано від %1$S)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(делеговано до %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S очолює подію.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S не приймає участь.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=Для %1$S участь необов'язкова.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=Для %1$S участь обов'язкова.
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S підтвердив присутність.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S відмовився від присутності.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S делегував присутність %2$S.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S все ще повинен дати відповідь.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S підтвердив присутність під сумнівом.
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (група)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (засіб)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (кімната)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=Подію було додано до вашого календаря.
+imipCanceledItem2=Подію було видалено з вашого календаря.
+imipUpdatedItem2=Подію оновлено.
+imipBarCancelText=Це повідомлення містить скасування події.
+imipBarCounterErrorText=Це повідомлення містить зустрічну пропозицію на запрошення, яку неможливо опрацювати.
+imipBarCounterPreviousVersionText=Це повідомлення містить зустрічну пропозицію на попередню версію запрошення.
+imipBarCounterText=Це повідомлення містить зустрічну пропозицію на запрошення.
+imipBarDisallowedCounterText=Це повідомлення містить зустрічну пропозицію, не дивлячись на те, що ви заборонили зустрічні пропозиції для цієї події.
+imipBarDeclineCounterText=Це повідомлення містить відповідь на вашу зустрічну пропозицію.
+imipBarRefreshText=Це повідомлення просить поновлення подій.
+imipBarPublishText=Це повідомлення містить подію.
+imipBarRequestText=Це повідомлення містить запрошення на подію.
+imipBarSentText=Це повідомлення містить надіслану подію.
+imipBarSentButRemovedText=Це повідомлення містить надіслану подію, якої більше немає у вашому календарі.
+imipBarUpdateText=Це повідомлення містить оновлення існуючої події.
+imipBarUpdateMultipleText=Це повідомлення містить оновлення для багатьох наявних подій.
+imipBarUpdateSeriesText=Це повідомлення містить оновлення для серії наявних подій.
+imipBarAlreadyProcessedText=Це повідомлення містить подію, яка вже була оброблена.
+imipBarProcessedNeedsAction=Це повідомлення містить подію, на яку ви ще не дали відповідь.
+imipBarProcessedMultipleNeedsAction=Це повідомлення містить декілька подій, на які ви досі не відреагували.
+imipBarProcessedSeriesNeedsAction=Це повідомлення містить серію подій, на які ви досі не відреагували.
+imipBarReplyText=Це повідомлення містить відповідь на запрошення.
+imipBarReplyToNotExistingItem=Це повідомлення містить відповідь, що відноситься до події, якої немає у вашому календарі.                       
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=Це повідомлення містить відповідь, що відноситься до події, яку було вилучено з вашого календаря %1$S.
+imipBarUnsupportedText=Це повідомлення містить подію, яку ця версія Lightning не може обробити.
+imipBarUnsupportedText2=Це повідомлення містить подію, яку ця версія %1$S не може обробити.
+imipBarProcessingFailed=Обробка повідомлення не вдалася. Статус: %1$S.
+imipBarCalendarDeactivated=Це повідомлення містить інформацію про події. Увімкніть календар для обробки.
+imipBarNotWritable=Немає налаштованих для запису календарів для запрошень. Будь ласка, перевірте властивості календаря.
+imipSendMail.title=E-Mail сповіщення
+imipSendMail.text=Бажаєте надіслати E-Mail сповіщення зараз?
+imipNoIdentity=Нічого
+imipNoCalendarAvailable=Немає доступних перезаписуємих календарів.
+
+itipReplySubject2=Відповідь на запрошення: %1$S
+itipReplyBodyAccept=%1$S прийняв(ла) ваше запрошення на подію.
+itipReplyBodyDecline=%1$S не прийняв(ла) ваше запрошення на подію.
+itipReplySubjectAccept2=Прийнято: %1$S
+itipReplySubjectDecline2=Запрошення відхилено: %1$S
+itipReplySubjectTentative2=Під сумнівом: %1$S
+itipRequestSubject2=Запрошення: %1$S
+itipRequestUpdatedSubject2=Оновлено: %1$S
+itipRequestBody=%1$S запросив(ла) Вас на %2$S
+itipCancelSubject2=Скасовано: %1$S
+itipCancelBody=%1$S скасував(ла) цю подію: « %2$S »
+itipCounterBody=%1$S робить зустрічну пропозицію для « %2$S »:
+itipDeclineCounterBody=%1$S відхиляє вашу зустрічну пропозицію для « %2$S ».
+itipDeclineCounterSubject=Зустрічна пропозиція відхилена: %1$S
+
+confirmProcessInvitation=Ви недавно видалили цей пункт, ви впевнені, що ви хочете обробляти це запрошення?
+confirmProcessInvitationTitle=Процес Запрощення?
+
+invitationsLink.label=Запрошення: %1$S
+
+# LOCALIZATION_NOTE(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+binaryComponentKnown=Не вдалося завантажити бінарний компонент, потрібний для %1$S, скоріш за все тому, що використовується неправильна комбінація версії. Зараз у вас встановлено %1$S %2$S, але повинна бути використана версія з серії %3$S.
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+binaryComponentUnknown=Не вдалося завантажити бінарний компонент, потрібний для %1$S, скоріш за все тому, що використовується неправильна комбінація версії. Ви використовуєте %2$S %3$S разом з %1$S %4$S. Будь ласка, ознайомтеся зі статтею https://developer.mozilla.org/en/Calendar/Calendar_Versions для отримання детальних відомостей.
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=Невідповідність версії %1$S
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=Якщо ви хочете використовувати цей календар для зберігання запрошень іншим людям або від інших людей, вам слід вказати адресу електронної пошти внизу.