summaryrefslogtreecommitdiffstats
path: root/l10n-gl/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'l10n-gl/calendar')
-rw-r--r--l10n-gl/calendar/README.txt3
-rw-r--r--l10n-gl/calendar/calendar/category-dialog.ftl7
-rw-r--r--l10n-gl/calendar/calendar/preferences.ftl172
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-alarms.properties30
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-event-dialog.dtd432
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-event-dialog.properties416
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-extract.properties278
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd14
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar.dtd411
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendar.properties774
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendarCreation.dtd51
-rw-r--r--l10n-gl/calendar/chrome/calendar/calendarCreation.properties6
-rw-r--r--l10n-gl/calendar/chrome/calendar/categories.properties7
-rw-r--r--l10n-gl/calendar/chrome/calendar/dateFormat.properties146
-rw-r--r--l10n-gl/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--l10n-gl/calendar/chrome/calendar/global.dtd52
-rw-r--r--l10n-gl/calendar/chrome/calendar/menuOverlay.dtd50
-rw-r--r--l10n-gl/calendar/chrome/calendar/migration.dtd9
-rw-r--r--l10n-gl/calendar/chrome/calendar/migration.properties13
-rw-r--r--l10n-gl/calendar/chrome/calendar/provider-uninstall.dtd12
-rw-r--r--l10n-gl/calendar/chrome/calendar/timezones.properties461
-rw-r--r--l10n-gl/calendar/chrome/lightning/lightning-toolbar.dtd51
-rw-r--r--l10n-gl/calendar/chrome/lightning/lightning.dtd99
-rw-r--r--l10n-gl/calendar/chrome/lightning/lightning.properties184
-rw-r--r--l10n-gl/calendar/lightning-l10n.js23
29 files changed, 3824 insertions, 0 deletions
diff --git a/l10n-gl/calendar/README.txt b/l10n-gl/calendar/README.txt
new file mode 100644
index 0000000000..927fc142f2
--- /dev/null
+++ b/l10n-gl/calendar/README.txt
@@ -0,0 +1,3 @@
+For information about installing, running and configuring Sunbird
+including a list of known issues and troubleshooting information,
+refer to: http://www.mozilla.org/projects/calendar/
diff --git a/l10n-gl/calendar/calendar/category-dialog.ftl b/l10n-gl/calendar/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..ff4b5f8e26
--- /dev/null
+++ b/l10n-gl/calendar/calendar/category-dialog.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+category-name-label = Nome
+category-color-label =
+ .label = Usar cor
diff --git a/l10n-gl/calendar/calendar/preferences.ftl b/l10n-gl/calendar/calendar/preferences.ftl
new file mode 100644
index 0000000000..955c5d5585
--- /dev/null
+++ b/l10n-gl/calendar/calendar/preferences.ftl
@@ -0,0 +1,172 @@
+# 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/.
+
+dateformat-label =
+ .value = Formato de texto da data:
+ .accesskey = d
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Longo: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Curto: { $date }
+timezone-label =
+ .value = Fuso horario:
+weekstart-label =
+ .value = Comezar a semana o:
+ .accesskey = r
+day-1-name =
+ .label = Domingo
+day-2-name =
+ .label = Luns
+day-3-name =
+ .label = Martes
+day-4-name =
+ .label = Mércores
+day-5-name =
+ .label = Xoves
+day-6-name =
+ .label = Venres
+day-7-name =
+ .label = Sábado
+show-weeknumber-label =
+ .label = Amosar o número da semana nas vistas e o mes reducido
+ .accesskey = m
+day-1-checkbox =
+ .label = Dom
+ .accesskey = D
+day-2-checkbox =
+ .label = Lun
+ .accesskey = L
+day-3-checkbox =
+ .label = Mar
+ .accesskey = M
+day-4-checkbox =
+ .label = Mer
+ .accesskey = M
+day-5-checkbox =
+ .label = Xov
+ .accesskey = X
+day-6-checkbox =
+ .label = Ven
+ .accesskey = V
+day-7-checkbox =
+ .label = Sab
+ .accesskey = a
+dayweek-legend = Vistas diaria e semanal
+visible-hours-label =
+ .value = Mostrar:
+ .accesskey = o
+visible-hours-end-label =
+ .value = horas seguidas
+day-start-label =
+ .value = O día comeza ás:
+ .accesskey = d
+day-end-label =
+ .value = O día termina ás:
+ .accesskey = O
+midnight-label =
+ .label = Media noite
+noon-label =
+ .label = Mediodía
+location-checkbox =
+ .label = Amosar localización
+ .accesskey = l
+multiweek-legend = Vista de varias semanas
+number-of-weeks-label =
+ .value = Número de semanas a mostrar (incluíndo as semanas anteriores):
+ .accesskey = e
+week-0-label =
+ .label = ningunha
+week-1-label =
+ .label = 1 semana
+week-2-label =
+ .label = 2 semanas
+week-3-label =
+ .label = 3 semanas
+week-4-label =
+ .label = 4 semanas
+week-5-label =
+ .label = 5 semanas
+week-6-label =
+ .label = 6 semanas
+previous-weeks-label =
+ .value = Semanas anteriores a mostrar:
+ .accesskey = S
+todaypane-legend = Panel de hoxe
+# Note: "Upcoming" is the name of a section and the translation must match the
+# translation of that section name (calendar.upcoming.button.label). Also,
+# it should be upper case (as a proper name) if the target language permits.
+soon-label =
+ .value = A sección "Proximamente" amosa:
+ .accesskey = P
+event-task-legend = Eventos e tarefas
+task-start-label =
+ .value = Data de inicio:
+task-start-1-label =
+ .label = Ningunha
+task-start-2-label =
+ .label = Inicio do día
+task-start-3-label =
+ .label = Fin do día
+task-start-4-label =
+ .label = Mañá
+task-start-5-label =
+ .label = Seguinte semana
+task-start-6-label =
+ .label = Relativo á hora actual
+task-start-7-label =
+ .label = Relativo ao inicio
+task-start-8-label =
+ .label = Relativo a próxima hora
+task-due-label =
+ .value = Data de vencemento:
+edit-intab-label =
+ .label = Editar eventos e tarefas nunha lapela en vez de nunha xanela de diálogo.
+ .accesskey = t
+accessibility-legend = Accesibilidade
+accessibility-colors-label =
+ .label = Optimizar as cores para accesibilidade
+ .accesskey = c
+reminder-legend = Cando se activa unha alarma:
+reminder-play-checkbox =
+ .label = Reproducir un son
+ .accesskey = s
+reminder-play-alarm-button =
+ .label = Reproducir
+ .accesskey = p
+reminder-default-sound-label =
+ .label = Usar son predeterminado
+ .accesskey = d
+reminder-browse-sound-label =
+ .label = Examinar…
+ .accesskey = r
+reminder-dialog-label =
+ .label = Amosar unha caixa de alarma
+ .accesskey = x
+reminder-default-legend = Valores predeterminados para alarmas
+default-snooze-label =
+ .value = Duración predeterminada da suspensión:
+ .accesskey = s
+event-alarm-label =
+ .value = Configuración predeterminada da alarma para os eventos:
+ .accesskey = e
+alarm-on-label =
+ .label = Activada
+alarm-off-label =
+ .label = Desactivada
+task-alarm-label =
+ .value = Configuración predeterminada da alarma para as tarefas:
+ .accesskey = a
+event-alarm-time-label =
+ .value = Tempo predeterminado no que se activará unha alarma antes dun evento:
+ .accesskey = u
+task-alarm-time-label =
+ .value = Tempo predeterminado no que se activará unha alarma antes dunha tarefa:
+ .accesskey = o
+category-new-label = Nova categoría
+category-edit-label = Editar categoría
+category-overwrite-title = Aviso: nome duplicado
+category-overwrite = Xa existe unha categoría con ese nome. Desexa sobrescribila?
+category-blank-warning = Escriba un nome para a categoría.
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-alarms.properties b/l10n-gl/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..d9c7fff184
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=Momento en que comeza o evento
+reminderTitleAtStartTask=Momento en que comeza a tarefa
+reminderTitleAtEndEvent=Momento no que remata o evento
+reminderTitleAtEndTask=Momento no que remata a tarefa
+
+# 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=Pospor o recordatorio durante %1$S
+
+reminderCustomOriginBeginBeforeEvent=antes de que comece o evento
+reminderCustomOriginBeginAfterEvent=despois de que comece o evento
+reminderCustomOriginEndBeforeEvent=antes de que remate o evento
+reminderCustomOriginEndAfterEvent=despois de que remate o evento
+reminderCustomOriginBeginBeforeTask=antes de que comece a tarefa
+reminderCustomOriginBeginAfterTask=despois de que comece a tarefa
+reminderCustomOriginEndBeforeTask=antes de que remate a tarefa
+reminderCustomOriginEndAfterTask=despois de que remate a tarefa
+
+reminderErrorMaxCountReachedEvent=O calendario seleccionado ten unha limitación de #1 recordatorio por evento.;O calendario seleccionado ten unha limitación de #1 recordatorios por evento.
+reminderErrorMaxCountReachedTask=O calendario seleccionado ten unha limitación de #1 recordatorio por tarefa.;O calendario seleccionado ten unha limitación de #1 recordatorios por tarefa.
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/l10n-gl/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..3ea1260a1a
--- /dev/null
+++ b/l10n-gl/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= Asistente necesario
+event.attendee.role.optional= Asistente opcional
+event.attendee.role.nonparticipant= Non participa
+event.attendee.role.chair= Presidencia
+event.attendee.role.unknown= Asistente descoñecido (%1$S)
+
+event.attendee.usertype.individual= Individual
+event.attendee.usertype.group= Grupo
+event.attendee.usertype.resource= Recurso
+event.attendee.usertype.room= Sala
+event.attendee.usertype.unknown= Tipo descoñecido (%1$S)
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-gl/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..428a1adabc
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,432 @@
+<!-- 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 "Editar elemento" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Conservar a duración ao cambiar a data de remate">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label "De" >
+<!ENTITY newevent.to.label "Para" >
+
+<!ENTITY newevent.status.label "Estado" >
+<!ENTITY newevent.status.accesskey "s" >
+<!ENTITY newevent.eventStatus.none.label "Sen especificar" >
+<!ENTITY newevent.eventStatus.none.accesskey "S" >
+<!ENTITY newevent.todoStatus.none.label "Sen especificar" >
+<!ENTITY newevent.eventStatus.cancelled.label "Cancelado" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "n" >
+<!ENTITY newevent.todoStatus.cancelled.label "Cancelado" >
+<!ENTITY newevent.status.tentative.label "Provisional" >
+<!ENTITY newevent.status.tentative.accesskey "P" >
+<!ENTITY newevent.status.confirmed.label "Confirmado" >
+<!ENTITY newevent.status.confirmed.accesskey "C" >
+<!ENTITY newevent.status.needsaction.label "Precisa dunha acción" >
+<!ENTITY newevent.status.inprogress.label "En proceso" >
+<!ENTITY newevent.status.completed.label "Rematado o" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#37; completo">
+
+<!-- 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 "Notificar asistentes">
+<!ENTITY event.attendees.notify.accesskey "f">
+<!ENTITY event.attendees.notifyundisclosed.label "Invitación separada por cada asistente">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "v">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Esta opción envía unha mensaxe de invitación a cada asistente. Cada invitación só contén un asistente como destinatario, de modo que non se revelan as identidades dos outros asistentes.">
+<!ENTITY event.attendees.disallowcounter.label "Desactivar contrapropostas">
+<!ENTITY event.attendees.disallowcounter.accesskey "a">
+<!ENTITY event.attendees.disallowcounter.tooltip "Indica que vostede non aceptará contrapropostas">
+
+<!-- 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 "Novo">
+<!ENTITY event.menu.item.new.accesskey "N">
+<!ENTITY event.menu.item.new.event.label "Evento">
+<!ENTITY event.menu.item.new.event.accesskey "E">
+<!ENTITY event.menu.item.new.task.label "Tarefa">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "Mensaxe">
+<!ENTITY event.menu.item.new.message.accesskey "M">
+<!ENTITY event.menu.item.new.contact.label "Contacto da axenda de enderezos">
+<!ENTITY event.menu.item.new.contact.accesskey "C">
+<!ENTITY event.menu.item.close.label "Pechar">
+<!ENTITY event.menu.item.close.accesskey "c">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.save.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a dialog window.
+ - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.save.label "Gardar">
+<!ENTITY event.menu.item.save.accesskey "G">
+<!ENTITY event.menu.item.save.tab.accesskey "a">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.saveandclose.label "Gardar e pechar">
+<!ENTITY event.menu.item.saveandclose.accesskey "d">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "p">
+
+<!ENTITY event.menu.item.delete.label "Eliminar…">
+<!ENTITY event.menu.item.delete.accesskey "E">
+<!ENTITY event.menu.item.page.setup.label "Configuración da páxina">
+<!ENTITY event.menu.item.page.setup.accesskey "u">
+<!ENTITY event.menu.item.print.label "Imprimir">
+<!ENTITY event.menu.item.print.accesskey "p">
+
+<!ENTITY event.menu.edit.label "Editar">
+<!ENTITY event.menu.edit.accesskey "E">
+<!ENTITY event.menu.edit.undo.label "Desfacer">
+<!ENTITY event.menu.edit.undo.accesskey "D">
+<!ENTITY event.menu.edit.redo.label "Refacer">
+<!ENTITY event.menu.edit.redo.accesskey "R">
+<!ENTITY event.menu.edit.cut.label "Cortar">
+<!ENTITY event.menu.edit.cut.accesskey "t">
+<!ENTITY event.menu.edit.copy.label "Copiar">
+<!ENTITY event.menu.edit.copy.accesskey "C">
+<!ENTITY event.menu.edit.paste.label "Pegar">
+<!ENTITY event.menu.edit.paste.accesskey "P">
+<!ENTITY event.menu.edit.select.all.label "Seleccionar todo">
+<!ENTITY event.menu.edit.select.all.accesskey "a">
+
+<!ENTITY event.menu.view.label "Ver">
+<!ENTITY event.menu.view.accesskey "V">
+<!ENTITY event.menu.view.toolbars.label "Barras de ferramentas">
+<!ENTITY event.menu.view.toolbars.accesskey "t">
+<!ENTITY event.menu.view.toolbars.event.label "Barra de ferramentas de eventos">
+<!ENTITY event.menu.view.toolbars.event.accesskey "e">
+<!ENTITY event.menu.view.toolbars.customize.label "Personalizar…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "P">
+<!ENTITY event.menu.view.showlink.label "Amosar ligazón relacionada">
+<!ENTITY event.menu.view.showlink.accesskey "r">
+
+<!ENTITY event.menu.options.label "Opcións">
+<!ENTITY event.menu.options.accesskey "O">
+<!ENTITY event.menu.options.attendees.label "Invitar á asistentes…">
+<!ENTITY event.menu.options.attendees.accesskey "I">
+<!ENTITY event.menu.options.timezone2.label "Amosar fusos horarios">
+<!ENTITY event.menu.options.timezone2.accesskey "F">
+<!ENTITY event.menu.options.priority2.label "Prioridade">
+<!ENTITY event.menu.options.priority2.accesskey "P">
+<!ENTITY event.menu.options.priority.notspecified.label "Sen especificar">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "S">
+<!ENTITY event.menu.options.priority.low.label "Baixa">
+<!ENTITY event.menu.options.priority.low.accesskey "B">
+<!ENTITY event.menu.options.priority.normal.label "Normal">
+<!ENTITY event.menu.options.priority.normal.accesskey "N">
+<!ENTITY event.menu.options.priority.high.label "Alta">
+<!ENTITY event.menu.options.priority.high.accesskey "A">
+<!ENTITY event.menu.options.privacy.label "Privacidade">
+<!ENTITY event.menu.options.privacy.accesskey "P">
+<!ENTITY event.menu.options.privacy.public.label "Evento público">
+<!ENTITY event.menu.options.privacy.public.accesskey "E">
+<!ENTITY event.menu.options.privacy.confidential.label "Amosar só a data e a hora">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "s">
+<!ENTITY event.menu.options.privacy.private.label "Evento privado">
+<!ENTITY event.menu.options.privacy.private.accesskey "r">
+<!ENTITY event.menu.options.show.time.label "Amosar hora como">
+<!ENTITY event.menu.options.show.time.accesskey "t">
+<!ENTITY event.menu.options.show.time.busy.label "Ocupado">
+<!ENTITY event.menu.options.show.time.busy.accesskey "O">
+<!ENTITY event.menu.options.show.time.free.label "Libre">
+<!ENTITY event.menu.options.show.time.free.accesskey "L">
+
+<!ENTITY event.invite.attendees.label "Invitar á asistentes…">
+<!ENTITY event.invite.attendees.accesskey "I">
+<!ENTITY event.email.attendees.label "Redactar mensaxe para todos os asistentes…">
+<!ENTITY event.email.attendees.accesskey "a">
+<!ENTITY event.email.tentative.attendees.label "Redactar mensaxe para os asistentes indecisos…">
+<!ENTITY event.email.tentative.attendees.accesskey "x">
+<!ENTITY event.remove.attendees.label2 "Retirar todos os asistentes">
+<!ENTITY event.remove.attendees.accesskey "R">
+<!ENTITY event.remove.attendee.label "Retirar asistente">
+<!ENTITY event.remove.attendee.accesskey "e">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Gardar">
+<!ENTITY event.toolbar.saveandclose.label "Gardar e pechar">
+<!ENTITY event.toolbar.delete.label "Eliminar">
+<!ENTITY event.toolbar.attendees.label "Invitar á asistentes">
+<!ENTITY event.toolbar.privacy.label "Privacidade">
+
+<!ENTITY event.toolbar.save.tooltip2 "Gardar">
+<!ENTITY event.toolbar.saveandclose.tooltip "Gardar e pechar">
+<!ENTITY event.toolbar.delete.tooltip "Eliminar">
+<!ENTITY event.toolbar.attendees.tooltip "Invitar á asistentes">
+<!ENTITY event.toolbar.attachments.tooltip "Engadir anexos">
+<!ENTITY event.toolbar.privacy.tooltip "Cambiar privacidade">
+<!ENTITY event.toolbar.priority.tooltip "Cambiar prioridade">
+<!ENTITY event.toolbar.status.tooltip "Cambiar estado">
+<!ENTITY event.toolbar.freebusy.tooltip "Cambiar dispoñibilidade (Libre/Ocupado)">
+
+<!-- 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 "Aplicar proposta">
+<!ENTITY counter.button.proposal.accesskey "p">
+<!ENTITY counter.button.original.label "Aplicar a data orixinal">
+<!ENTITY counter.button.original.accesskey "r">
+<!ENTITY counter.button.original.tooltip2 "Os campos estabeleceranse cos valores do evento orixinal anterior á contraproposta">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Título:" >
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Localización:" >
+<!ENTITY event.location.accesskey "L">
+<!ENTITY event.categories.label "Categoría:">
+<!ENTITY event.categories.accesskey "C">
+<!ENTITY event.categories.textbox.label "Engadir unha nova categoría" >
+<!ENTITY event.calendar.label "Calendario:" >
+<!ENTITY event.calendar.accesskey "C">
+<!ENTITY event.attendees.label "Asistentes:" >
+<!ENTITY event.attendees.accesskey "A">
+<!ENTITY event.alldayevent.label "Evento para todo o día" >
+<!ENTITY event.alldayevent.accesskey "d">
+<!ENTITY event.from.label "Inicio:" >
+<!ENTITY event.from.accesskey "I">
+<!ENTITY task.from.label "Inicio:" >
+<!ENTITY task.from.accesskey "I">
+<!ENTITY event.to.label "Final:" >
+<!ENTITY event.to.accesskey "n">
+<!ENTITY task.to.label "Data de vencemento:" >
+<!ENTITY task.to.accesskey "D">
+<!ENTITY task.status.label "Estado:" >
+<!ENTITY task.status.accesskey "a">
+<!ENTITY event.repeat.label "Repetir:" >
+<!ENTITY event.repeat.accesskey "R">
+<!ENTITY event.until.label "Ata:">
+<!ENTITY event.until.accesskey "t">
+<!ENTITY event.reminder.label "Recordatorio:" >
+<!ENTITY event.reminder.accesskey "i">
+<!ENTITY event.description.label "Descrición:" >
+<!ENTITY event.description.accesskey "D">
+<!ENTITY event.attachments.label "Anexos:" >
+<!ENTITY event.attachments.accesskey "A" >
+<!ENTITY event.attachments.menubutton.label "Anexar">
+<!ENTITY event.attachments.menubutton.accesskey "A">
+<!ENTITY event.attachments.url.label "Páxina web…">
+<!ENTITY event.attachments.url.accesskey "w">
+<!ENTITY event.attachments.popup.remove.label "Retirar" >
+<!ENTITY event.attachments.popup.remove.accesskey "r" >
+<!ENTITY event.attachments.popup.open.label "Abrir" >
+<!ENTITY event.attachments.popup.open.accesskey "b" >
+<!ENTITY event.attachments.popup.removeAll.label "Retirar todos" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "a" >
+<!ENTITY event.attachments.popup.attachPage.label "Anexar páxina web…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "w" >
+<!ENTITY event.url.label "Ligazón relacionada:" >
+<!ENTITY event.priority2.label "Prioridade:">
+
+<!ENTITY event.reminder.none.label "Sen recordatorio " >
+<!ENTITY event.reminder.0minutes.before.label "0 minutos antes" >
+<!ENTITY event.reminder.5minutes.before.label "5 minutos antes" >
+<!ENTITY event.reminder.15minutes.before.label "15 minutos antes" >
+<!ENTITY event.reminder.30minutes.before.label "30 minutos antes" >
+<!ENTITY event.reminder.1hour.before.label "1 hora antes" >
+<!ENTITY event.reminder.2hours.before.label "2 horas antes" >
+<!ENTITY event.reminder.12hours.before.label "12 horas antes" >
+<!ENTITY event.reminder.1day.before.label "1 día antes" >
+<!ENTITY event.reminder.2days.before.label "2 días antes" >
+<!ENTITY event.reminder.1week.before.label "1 semana antes" >
+<!ENTITY event.reminder.custom.label "Personalizar…" >
+
+<!ENTITY event.reminder.multiple.label "Varios recordatorios…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Tempo como:">
+<!ENTITY event.statusbarpanel.privacy.label "Privacidade">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Editar repetición">
+
+<!ENTITY event.repeat.does.not.repeat.label "Non se repite">
+<!ENTITY event.repeat.daily.label "Diariamente">
+<!ENTITY event.repeat.weekly.label "Semanalmente">
+<!ENTITY event.repeat.every.weekday.label "Cada semana">
+<!ENTITY event.repeat.bi.weekly.label "Cada dúas semanas">
+<!ENTITY event.repeat.monthly.label "Mensual">
+<!ENTITY event.repeat.yearly.label "Anualmente">
+<!ENTITY event.repeat.custom.label "Personalizar…">
+
+<!ENTITY event.recurrence.pattern.label "Patrón de repetición">
+<!ENTITY event.recurrence.occurs.label "Repetir" >
+<!ENTITY event.recurrence.day.label "diariamente" >
+<!ENTITY event.recurrence.week.label "semanalmente" >
+<!ENTITY event.recurrence.month.label "mensualmente" >
+<!ENTITY event.recurrence.year.label "anualmente" >
+
+<!ENTITY event.recurrence.pattern.every.label "Cada" >
+<!ENTITY repeat.units.days.both "Día(s)" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Cada semana" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Cada" >
+<!ENTITY repeat.units.weeks.both "Semana(s)" >
+<!ENTITY event.recurrence.on.label "En:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Cada" >
+<!ENTITY repeat.units.months.both "Mes(es)" >
+<!ENTITY event.recurrence.monthly.every.label "Cada" >
+<!ENTITY event.recurrence.monthly.first.label "O primeiro">
+<!ENTITY event.recurrence.monthly.second.label "O segundo">
+<!ENTITY event.recurrence.monthly.third.label "O terceiro">
+<!ENTITY event.recurrence.monthly.fourth.label "O cuarto">
+<!ENTITY event.recurrence.monthly.fifth.label "O quinto">
+<!ENTITY event.recurrence.monthly.last.label "O último">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Domingo" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Luns" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Martes" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Mércores" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Xoves" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Venres" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Sábado" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Día do mes">
+<!ENTITY event.recurrence.repeat.recur.label "Repetir os días">
+
+<!ENTITY event.recurrence.every.label "Cada:" >
+<!ENTITY repeat.units.years.both "Ano(s)" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Cada" >
+
+<!-- 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 "Xaneiro" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Febreiro" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "Marzo" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "Abril" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Maio" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Xuño" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Xullo" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Agosto" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "Setembro" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Outubro" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "Novembro" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Decembro" >
+<!ENTITY event.recurrence.yearly.every.label "Cada">
+<!ENTITY event.recurrence.yearly.first.label "O primeiro">
+<!ENTITY event.recurrence.yearly.second.label "O segundo">
+<!ENTITY event.recurrence.yearly.third.label "O terceiro">
+<!ENTITY event.recurrence.yearly.fourth.label "O cuarto">
+<!ENTITY event.recurrence.yearly.fifth.label "O quinto">
+<!ENTITY event.recurrence.yearly.last.label "O último">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Domingo" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Luns" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Martes" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Mércores" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Xoves" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Venres" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "Sábado" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "día" >
+<!ENTITY event.recurrence.of.label "de" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Xaneiro" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Febreiro" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Marzo" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "Abril" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Maio" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Xuño" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Xullo" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Agosto" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Setembro" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Outubro" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Novembro" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Decembro" >
+
+<!ENTITY event.recurrence.range.label "Intervalo de repetición">
+<!ENTITY event.recurrence.forever.label "Sen data de remate" >
+<!ENTITY event.recurrence.repeat.for.label "Crear" >
+<!ENTITY event.recurrence.appointments.label "Cita(s)" >
+<!ENTITY event.repeat.until.label "Repetir ata" >
+<!ENTITY event.recurrence.preview.label "Previsualizar">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Invitar á asistentes">
+<!ENTITY event.organizer.label "Organizador">
+<!ENTITY event.freebusy.suggest.slot "Intervalo de tempo suxerido:">
+<!ENTITY event.freebusy.button.next.slot "Seguinte intervalo">
+<!ENTITY event.freebusy.button.previous.slot "Intervalo anterior">
+<!ENTITY event.freebusy.zoom "Ampliación:">
+<!ENTITY event.freebusy.legend.free "Libre" >
+<!ENTITY event.freebusy.legend.busy "Ocupado" >
+<!ENTITY event.freebusy.legend.busy_tentative "Provisional" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Fóra da oficina" >
+<!ENTITY event.freebusy.legend.unknown "Sen información" >
+<!ENTITY event.attendee.role.required "Asistente necesario">
+<!ENTITY event.attendee.role.optional "Asistente opcional">
+<!ENTITY event.attendee.role.chair "Presidencia">
+<!ENTITY event.attendee.role.nonparticipant "Non participa">
+<!ENTITY event.attendee.usertype.individual "Individual">
+<!ENTITY event.attendee.usertype.group "Grupo">
+<!ENTITY event.attendee.usertype.resource "Recurso">
+<!ENTITY event.attendee.usertype.room "Sala">
+<!ENTITY event.attendee.usertype.unknown "Descoñecido">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Especifique o fuso horario">
+<!ENTITY event.timezone.custom.label "Máis fusos horarios…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "Xeral">
+<!ENTITY read.only.title.label "Título:">
+<!ENTITY read.only.calendar.label "Calendario:">
+<!ENTITY read.only.event.start.label "Data de inicio:">
+<!ENTITY read.only.task.start.label "Data de inicio:">
+<!ENTITY read.only.event.end.label "Data de remate:">
+<!ENTITY read.only.task.due.label "Data de vencemento:">
+<!ENTITY read.only.repeat.label "Repetir:">
+<!ENTITY read.only.location.label "Localización:">
+<!ENTITY read.only.category.label "Categoría:">
+<!ENTITY read.only.organizer.label "Organizador:">
+<!ENTITY read.only.reply.label "Responder:">
+<!ENTITY read.only.accept.label "Asistirei">
+<!ENTITY read.only.decline.label "Non asistirei">
+<!ENTITY read.only.tentative.label "Pode que asista">
+<!ENTITY read.only.needs.action.label "Confirmareino máis tarde">
+<!ENTITY read.only.reminder.label "Recordatorio:">
+<!ENTITY read.only.attachments.label "Anexos:">
+<!ENTITY read.only.attendees.label "Asistentes">
+<!ENTITY read.only.description.label "Descrición">
+<!ENTITY read.only.link.label "Ligazón relacionada">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Gardar e pechar">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Garda os cambios e pecha a xanela sen cambiar o estado de participación e envía unha resposta">
+<!ENTITY summary.dialog.accept.label "Aceptar">
+<!ENTITY summary.dialog.accept.tooltiptext "Aceptar a invitación">
+<!ENTITY summary.dialog.tentative.label "Provisionalmente">
+<!ENTITY summary.dialog.tentative.tooltiptext "Aceptar a invitación provisionalmente">
+<!ENTITY summary.dialog.decline.label "Rexeitar">
+<!ENTITY summary.dialog.decline.tooltiptext "Rexeitar a invitación">
+<!ENTITY summary.dialog.dontsend.label "Non enviar unha resposta">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Cambia o seu estado de participación sen enviar unha resposta ao organizador e pecha a xanela">
+<!ENTITY summary.dialog.send.label "Enviar unha resposta agora">
+<!ENTITY summary.dialog.send.tooltiptext "Envía unha resposta ao organizador e pecha a xanela">
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-gl/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..9620a243e2
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,416 @@
+# 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=cada día;cada #1 días
+repeatDetailsRuleDaily4=cada semana
+
+# 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=cada %1$S;cada #2 semanas o %1$S
+weeklyNthOnNounclass2=cada %1$S;cada #2 semanas o %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=cada semana;cada #1 semanas
+
+# 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=Domingo
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=Luns
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Martes
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Mércores
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Xoves
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Venres
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=Sábado
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=e
+
+# 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 de cada mes;%1$S de cada #2 meses
+monthlyRuleNthOfEveryNounclass2=%1$S de cada mes;%1$S de cada #2 meses
+
+# 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=cada %1$S de cada mes;cada %1$S de cada #2 meses
+monthlyEveryOfEveryNounclass2=cada %1$S de cada mes;cada %1$S de cada #2 meses
+
+# 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=o día %1$S;os días %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 de cada mes;%1$S de cada #2 meses
+
+# 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=o último día do mes; o último día de cada #1 meses
+
+# 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=cada día de cada mes; cada día do mes de cada #2 meses
+
+# 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=o primeiro
+repeatOrdinal2Nounclass1=o segundo
+repeatOrdinal3Nounclass1=o terceiro
+repeatOrdinal4Nounclass1=o cuarto
+repeatOrdinal5Nounclass1=o quinto
+repeatOrdinal-1Nounclass1=o último
+repeatOrdinal1Nounclass2=o primeiro
+repeatOrdinal2Nounclass2=o segundo
+repeatOrdinal3Nounclass2=o terceiro
+repeatOrdinal4Nounclass2=o cuarto
+repeatOrdinal5Nounclass2=o quinto
+repeatOrdinal-1Nounclass2=o último
+
+# 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=cada %2$S de %1$S;o %2$S de %1$S cada #3 anos
+
+# 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 de cada %3$S;cada #4 anos o %1$S %2$S de %3$S
+yearlyNthOnNthOfNounclass2=%1$S %2$S de cada %3$S;cada #4 anos o %1$S %2$S de %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=cada %1$S de %2$S;cada %1$S de %2$S de cada #3 anos
+yearlyOnEveryNthOfNthNounclass2=cada %1$S de %2$S;cada %1$S de %2$S de cada #3 anos
+
+#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=cada día de %1$S;cada #2 anos cada día de %1$S
+
+repeatDetailsMonth1=Xaneiro
+repeatDetailsMonth2=Febreiro
+repeatDetailsMonth3=Marzo
+repeatDetailsMonth4=Abril
+repeatDetailsMonth5=Maio
+repeatDetailsMonth6=Xuño
+repeatDetailsMonth7=Xullo
+repeatDetailsMonth8=Agosto
+repeatDetailsMonth9=Setembro
+repeatDetailsMonth10=Outubro
+repeatDetailsMonth11=Novembro
+repeatDetailsMonth12=Decembro
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times
+# from 5:00 PM to 6:00 PM"
+repeatCount=Ocorre %1$S\n#5 vez a partir de %2$S\ndende %3$S a %4$S.;Ocorre %1$S\n#5 veces a partir de %2$S\ndende %3$S a %4$S.
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times"
+repeatCountAllDay=Ocorre %1$S\n#3 vez a partir de %2$S.;Ocorre %1$S\n#3 veces a partir de %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=Ocorre %1$S\nefectivo %2$S ata %3$S\nde %4$S a %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=Ocorre %1$S\nefectivo %2$S ata %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=Ocorre %1$S\nefectivo %2$S\nde %3$S a %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=Ocorre %1$S\nefectivo %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=o último día
+
+# 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=Prema aquí para obter detalles
+
+# 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=Detalles da repetición descoñecidos
+
+# differences between the dialog for an Event or a Task
+newEvent=Novo evento
+newTask=Nova tarefa
+itemMenuLabelEvent=Evento
+itemMenuAccesskeyEvent2=t
+itemMenuLabelTask=Tarefa
+itemMenuAccesskeyTask2=F
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Especifique a localización da ligazón
+enterLinkLocation=Introduza unha páxina web ou a localización dun documento.
+
+summaryDueTaskLabel=Vencemento:
+
+# Attach File Dialog
+attachViaFilelink=Ficheiro usando %1$S
+selectAFile=Seleccione os ficheiros a anexar
+removeCalendarsTitle=Retirar anexos
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=Seguro que quere retirar #1 anexo?;Seguro que quere retirar #1 anexos?
+
+# 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 %2$S %3$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=Domingo
+repeatDetailsDay2Plural=Luns
+repeatDetailsDay3Plural=Martes
+repeatDetailsDay4Plural=Mércores
+repeatDetailsDay5Plural=Xoves
+repeatDetailsDay6Plural=Venres
+repeatDetailsDay7Plural=Sábado
+
+# 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=Indefinidamente
+
+# 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=Último día
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-extract.properties b/l10n-gl/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..2b74479af3
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,278 @@
+# 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
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+
+# 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
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today= hoxe
+
+from.tomorrow= mañá
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow=
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# %1$S = matches numbers 1-31 and number.x
+# should not have "%1$S" as this would match any single number in email to a time
+from.ordinal.date= %1$Sº
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# %1$S = matches numbers 1-31 and number.x
+until.ordinal.date=
+
+from.noon= mediodía
+until.noon=
+
+# LOCALIZATION NOTE (from.hour):
+# %1$S = matches numbers 0-23 and number.0-number.23
+# should not have "%1$S" as this would match any single number in email to a time
+
+# LOCALIZATION NOTE (until.hour):
+# %1$S = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+
+# LOCALIZATION NOTE (from.hour.am):
+# %1$S = matches numbers 0-23 and number.0-number.23
+
+# LOCALIZATION NOTE (until.hour.am):
+# %1$S = 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$S = matches numbers 0-23 and number.0-number.23
+
+# LOCALIZATION NOTE (until.hour.pm):
+# %1$S = 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= media hora antes da/s %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 e media
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after=
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+until.hour.minutes=
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+until.hour.minutes.am=
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+until.hour.minutes.pm=
+
+# LOCALIZATION NOTE (from.monthname.day):
+# %1$S = matches numbers 1-31 and number.x
+# %2$S = matches monthname
+
+# LOCALIZATION NOTE (until.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+until.monthname.day=
+
+# LOCALIZATION NOTE (from.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+
+# LOCALIZATION NOTE (until.month.day):
+# %1$S = matches numbers 1-31 and number.x
+# %2$S = matches numbers 1-12
+until.month.day=
+
+# LOCALIZATION NOTE (from.year.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+# %3$S = matches 2/4 numbers
+
+# LOCALIZATION NOTE (until.year.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+# %3$S = matches 2/4 numbers
+until.year.month.day=
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+# %3$S = matches 2/4 numbers
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+# %3$S = 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$S = matches 1/2 numbers and number.0 - and number.31
+
+# LOCALIZATION NOTE (duration.hours):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.hours= %1$S hora | %1$S horas
+
+# LOCALIZATION NOTE (duration.days):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.days= %1$S días
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1= xaneiro | xan | xan.
+month.2= febreiro | feb | feb.
+month.3= marzo | mar | mar.
+month.4= abril | abr | abr.
+month.5= maio | mai | mai.
+month.6= xuño | xun | xun.
+month.7= xullo | xul | xul.
+month.8= agosto | ago | ago.
+month.9= setembro | set | set.
+month.10= outubro | out | out.
+month.11= novembro | nov | nov.
+month.12= decembro | dec | dec.
+
+# 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= domingo | domingos
+from.weekday.1= luns
+from.weekday.2= martes
+from.weekday.3= mércores
+from.weekday.4= xoves
+from.weekday.5= venres
+from.weekday.6= sábado | sábados
+
+# 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= cero
+number.1= un | primeiro
+number.2= dous | segundo
+number.3= tres | terceiro
+number.4= catro | cuarto
+number.5= cinco | quinto
+number.6= seis | sexto
+number.7= sete | sétimo
+number.8= oito | oitavo
+number.9= nove | noveno
+number.10= dez | décimo
+number.11= once | undécimo | décimo primeiro
+number.12= doce | duodécimo | décimo segundo
+number.13= trece | décimo terceiro
+number.14= catorce | décimo cuarto
+number.15= quince | décimo quinto
+number.16= dezaseis | décimo sexto
+number.17= dezasete |décimo sétimo
+number.18= dezaoito | décimo oitavo
+number.19= dezanove | décimo noveno
+number.20= vinte | vixésimo
+number.21= vinte e un | vixésimo primeiro
+number.22= vinte e dous | vixésimo segundo
+number.23= vinte e tres | vixésimo terceiro
+number.24= vinte e catro | vixésimo cuarto
+number.25= vinte e cinco | vixésimo quinto
+number.26= vinte e seis | vixésimo sexto
+number.27= vinte e sete | vixésimo sétimo
+number.28= vinte e oito | vixésimo oitavo
+number.29= vinte e nove | vixésimo noveno
+number.30= trinta | trixésimo
+number.31= trinta e un | trixésimo primeiro
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet= abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/l10n-gl/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..4c7c1976a5
--- /dev/null
+++ b/l10n-gl/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 "Invitacións">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Actualizando a lista de invitacións.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Non se atoparon invitacións sen confirmar.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Aceptar">
+<!ENTITY calendar.invitations.list.decline.button.label "Rexeitar">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Evento repetitivo">
+<!ENTITY calendar.invitations.list.alldayevent.text "Evento para todo o día">
+<!ENTITY calendar.invitations.list.location.text "Localización: ">
+<!ENTITY calendar.invitations.list.organizer.text "Organizador: ">
+<!ENTITY calendar.invitations.list.attendee.text "Asistente: ">
+<!ENTITY calendar.invitations.list.none.text "Ningunha">
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..5864a9335f
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY buttons.occurrence.accesskey "t">
+<!ENTITY buttons.allfollowing.accesskey "f">
+<!ENTITY buttons.parent.accesskey "a">
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/l10n-gl/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..a4a85d8c4c
--- /dev/null
+++ b/l10n-gl/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=é un evento repetitivo
+header.isrepeating.task.label=é unha tarefa repetitiva
+
+header.containsrepeating.event.label=contén eventos repetitivos
+header.containsrepeating.task.label=contén tarefas repetitivas
+header.containsrepeating.mixed.label=contén elementos repetitivos de tipo diferente
+
+windowtitle.event.copy=Copiar evento repetitivo
+windowtitle.task.copy=Copiar tarefa repetitiva
+windowtitle.mixed.copy=Copiar elementos repetitivos
+windowtitle.event.cut=Cortar evento repetitivo
+windowtitle.task.cut=Cortar tarefa repetitiva
+windowtitle.mixed.cut=Cortar elementos repetitivos
+windowtitle.event.delete=Eliminar evento repetitivo
+windowtitle.task.delete=Eliminar tarefa repetitiva
+windowtitle.mixed.delete=Eliminar elementos repetitivos
+windowtitle.event.edit=Editar evento repetitivo
+windowtitle.task.edit=Editar tarefa repetitiva
+
+buttons.occurrence.delete.label=Eliminar só esta ocorrencia
+buttons.occurrence.edit.label=Editar só esta ocorrencia
+
+buttons.allfollowing.delete.label=Eliminar esta ocorrencia e todas as futuras
+buttons.allfollowing.edit.label=Editar esta ocorrencia e todas as futuras
+
+buttons.parent.delete.label=Eliminar todas as ocorrencias
+buttons.parent.edit.label=Editar todas as ocorrencias
+windowtitle.mixed.edit=Editar elementos repetitivos
+windowtitle.multipleitems=Elementos seleccionados
+
+buttons.single.occurrence.copy.label=Copiar só esta ocorrencia
+buttons.single.occurrence.cut.label=Cortar só esta ocorrencia
+buttons.single.occurrence.delete.label=Eliminar só esta ocorrencia
+buttons.single.occurrence.edit.label=Editar só está ocorrencia
+
+buttons.multiple.occurrence.copy.label=Copiar só as ocorrencias seleccionadas
+buttons.multiple.occurrence.cut.label=Cortar só as ocorrencias seleccionadas
+buttons.multiple.occurrence.delete.label=Eliminar só as ocorrencias seleccionadas
+buttons.multiple.occurrence.edit.label=Editar só as ocorrencias seleccionadas
+
+buttons.single.allfollowing.copy.label=Copiar esta e as ocorrencias futuras
+buttons.single.allfollowing.cut.label=Cortar esta e as ocorrencias futuras
+buttons.single.allfollowing.delete.label=Eliminar esta e as ocorrencias futuras
+buttons.single.allfollowing.edit.label=Editar esta e as ocorrencias futuras
+
+buttons.multiple.allfollowing.copy.label=Copiar as ocorrencias seleccionadas e as futuras
+buttons.multiple.allfollowing.cut.label=Cortar as ocorrencias seleccionadas e as futuras
+buttons.multiple.allfollowing.delete.label=Eliminar as ocorrencias seleccionadas e as futuras
+buttons.multiple.allfollowing.edit.label=Editar as ocorrencias seleccionadas e as futuras
+
+buttons.single.parent.copy.label=Copiar todas as ocorrencias
+buttons.single.parent.cut.label=Cortar todas as ocorrencias
+buttons.single.parent.delete.label=Eliminar todas as ocorrencias
+buttons.single.parent.edit.label=Editar todas as ocorrencias
+
+buttons.multiple.parent.copy.label=Copiar todas as ocorrencias dos elementos seleccionados
+buttons.multiple.parent.cut.label=Cortar todas as ocorrencias dos elementos seleccionados
+buttons.multiple.parent.delete.label=Eliminar todas as ocorrencias dos elementos seleccionados
+buttons.multiple.parent.edit.label=Editar todas as ocorrencias dos elementos seleccionados
diff --git a/l10n-gl/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/l10n-gl/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 0000000000..eacd30bebd
--- /dev/null
+++ b/l10n-gl/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 "Subscribirse aos calendarios">
+<!ENTITY calendar.subscriptions.dialog.search.label.value "Amosar os calendarios que conteñan:">
+<!ENTITY calendar.subscriptions.dialog.search.button.label "Buscar">
+<!ENTITY calendar.subscriptions.dialog.select.label.value "Seleccione a que calendarios desexa subscribirse:">
+<!ENTITY calendar.subscriptions.dialog.subscribe.button.label "Subscribir">
+<!ENTITY calendar.subscriptions.dialog.unsubscribe.button.label "Cancelar subscrición">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.busy.label "Buscar…">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.nomatches.label "Non se atoparon coincidencias.">
diff --git a/l10n-gl/calendar/chrome/calendar/calendar.dtd b/l10n-gl/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..e681244c35
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+<!-- 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 "Calendario">
+<!ENTITY calendar.calendar.accesskey "C">
+
+<!ENTITY calendar.newevent.button.tooltip "Crear un novo evento" >
+<!ENTITY calendar.newtask.button.tooltip "Crear unha nova tarefa" >
+
+<!ENTITY calendar.unifinder.todoitems.label "Tarefas" >
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Amosar as tarefas rematadas">
+
+<!ENTITY calendar.today.button.label "Hoxe">
+<!ENTITY calendar.tomorrow.button.label "Mañá">
+<!ENTITY calendar.upcoming.button.label "Proximamente">
+
+<!ENTITY calendar.events.filter.all.label "Todos os eventos">
+<!ENTITY calendar.events.filter.today.label "Eventos de hoxe">
+<!ENTITY calendar.events.filter.future.label "Todos os eventos futuros">
+<!ENTITY calendar.events.filter.current.label "Día seleccionado actualmente">
+<!ENTITY calendar.events.filter.currentview.label "Eventos na vista actual">
+<!ENTITY calendar.events.filter.next7Days.label "Eventos dos próximos 7 días">
+<!ENTITY calendar.events.filter.next14Days.label "Eventos dos próximos 14 días">
+<!ENTITY calendar.events.filter.next31Days.label "Eventos dos próximos 31 días">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Eventos deste mes do calendario">
+
+<!-- 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 "Feito">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Ordenar por rematado">
+<!ENTITY calendar.unifinder.tree.priority.label "Prioridade">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Ordenar pola prioridade">
+<!ENTITY calendar.unifinder.tree.title.label "Título">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Ordenar polo título">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "Progresión">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Ordenar pola progresión">
+<!ENTITY calendar.unifinder.tree.startdate.label "Inicio">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Ordenar pola data de inicio">
+<!ENTITY calendar.unifinder.tree.enddate.label "Fin">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Ordenar pola data de fin">
+<!ENTITY calendar.unifinder.tree.duedate.label "Vencemento">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Ordenar pola data de vencemento">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Rematado">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Ordenar pola data de remate">
+<!ENTITY calendar.unifinder.tree.categories.label "Categoría">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Ordenar pola categoría">
+<!ENTITY calendar.unifinder.tree.location.label "Localización">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Ordenar pola localización">
+<!ENTITY calendar.unifinder.tree.status.label "Estado">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Ordenar polo estado">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Nome do calendario">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Ordenar polo nome do calendario">
+<!ENTITY calendar.unifinder.tree.duration.label "Tempo restante">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Ordenar polo tempo ata o vencemento">
+<!ENTITY calendar.unifinder.close.tooltip "Pechar a lista da busca de eventos e a lista de eventos">
+
+<!ENTITY calendar.today.button.tooltip "Ir ao día actual" >
+<!ENTITY calendar.todaypane.button.tooltip "Amosar o panel de hoxe" >
+
+<!ENTITY calendar.day.button.tooltip "Cambiar á vista diaria" >
+<!ENTITY calendar.week.button.tooltip "Cambiar á vista semanal" >
+<!ENTITY calendar.month.button.tooltip "Cambiar á vista mensual" >
+<!ENTITY calendar.multiweek.button.tooltip "Cambiar á vista de varias semanas" >
+
+<!ENTITY calendar.nextday.label "Seguinte día" >
+<!ENTITY calendar.prevday.label "Día anterior" >
+<!ENTITY calendar.nextday.accesskey "g" >
+<!ENTITY calendar.prevday.accesskey "D" >
+<!ENTITY calendar.nextweek.label "Seguinte semana" >
+<!ENTITY calendar.prevweek.label "Semana anterior" >
+<!ENTITY calendar.nextweek.accesskey "g" >
+<!ENTITY calendar.prevweek.accesskey "S" >
+<!ENTITY calendar.nextmonth.label "Seguinte mes" >
+<!ENTITY calendar.prevmonth.label "Mes anterior" >
+<!ENTITY calendar.nextmonth.accesskey "g" >
+<!ENTITY calendar.prevmonth.accesskey "s" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "Avanzar un día" >
+<!ENTITY calendar.navigation.prevday.tooltip "Retroceder un día" >
+<!ENTITY calendar.navigation.nextweek.tooltip "Avanzar unha semana" >
+<!ENTITY calendar.navigation.prevweek.tooltip "Retroceder unha semana" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "Avanzar un mes" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "Retroceder un mes" >
+
+<!ENTITY calendar.newevent.button.label "Novo evento" >
+<!ENTITY calendar.newtask.button.label "Nova tarefa" >
+<!ENTITY calendar.print.button.label "Imprimir" >
+<!ENTITY calendar.print.button.accesskey "p">
+
+<!ENTITY calendar.day.button.label "Día" >
+<!ENTITY calendar.week.button.label "Semana" >
+<!ENTITY calendar.month.button.label "Mes" >
+<!ENTITY calendar.multiweek.button.label "Varias semanas" >
+<!ENTITY calendar.onlyworkday.checkbox.label "Só días laborábeis" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "r" >
+<!ENTITY calendar.displaytodos.checkbox.label "Tarefas na vista" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "T" >
+<!ENTITY calendar.completedtasks.checkbox.label "Amosar as tarefas rematadas" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "m" >
+
+<!ENTITY calendar.orientation.label "Rotar vista" >
+<!ENTITY calendar.orientation.accesskey "o" >
+
+<!ENTITY calendar.search.options.searchfor " conteñen">
+
+<!ENTITY calendar.list.header.label "Calendario">
+
+<!ENTITY calendar.task.filter.title.label "Amosar">
+<!ENTITY calendar.task.filter.all.label "Todas">
+<!ENTITY calendar.task.filter.all.accesskey "a">
+<!ENTITY calendar.task.filter.today.label "Hoxe">
+<!ENTITY calendar.task.filter.today.accesskey "H">
+<!ENTITY calendar.task.filter.next7days.label "Os próximos 7 días">
+<!ENTITY calendar.task.filter.next7days.accesskey "O">
+<!ENTITY calendar.task.filter.notstarted.label "Tarefas non comezadas">
+<!ENTITY calendar.task.filter.notstarted.accesskey "a">
+<!ENTITY calendar.task.filter.overdue.label "Tarefas atrasadas">
+<!ENTITY calendar.task.filter.overdue.accesskey "T">
+<!ENTITY calendar.task.filter.completed.label "Tarefas rematadas">
+<!ENTITY calendar.task.filter.completed.accesskey "T">
+<!ENTITY calendar.task.filter.open.label "Tarefas non rematadas">
+<!ENTITY calendar.task.filter.open.accesskey "m">
+
+<!-- LOCALIZATION NOTE(calendar.task.filter.current.label)
+ "Current Tasks" will show all tasks, except those with a start date set
+ that is after today and after the selected date. If a task repeats, a
+ separate entry will be shown for each of the occurrences that happen on or
+ before today (or the selected date, whichever is later). -->
+<!ENTITY calendar.task.filter.current.label "Tarefas actuais">
+<!ENTITY calendar.task.filter.current.accesskey "u">
+
+<!ENTITY calendar.task-details.title.label "título">
+<!ENTITY calendar.task-details.organizer.label "de">
+<!ENTITY calendar.task-details.priority.label "prioridade">
+<!ENTITY calendar.task-details.priority.low.label "Baixa">
+<!ENTITY calendar.task-details.priority.normal.label "Normal">
+<!ENTITY calendar.task-details.priority.high.label "Alta">
+<!ENTITY calendar.task-details.status.label "estado">
+<!ENTITY calendar.task-details.category.label "categoría">
+<!ENTITY calendar.task-details.repeat.label "repetir">
+<!ENTITY calendar.task-details.attachments.label "anexos">
+<!ENTITY calendar.task-details.start.label "data de inicio">
+<!ENTITY calendar.task-details.due.label "data de vencemento">
+
+<!ENTITY calendar.task.category.button.tooltip "Categorizar tarefas">
+<!ENTITY calendar.task.complete.button.tooltip "Marcar as tarefas seleccionadas como rematadas">
+<!ENTITY calendar.task.priority.button.tooltip "Cambiar a prioridade">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Filtrar tarefas #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;CTRL+Maiús+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "Abrir">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "A">
+<!ENTITY calendar.context.modifyorviewtask.label "Abrir tarefa…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "A">
+<!ENTITY calendar.context.newevent.label "Novo evento…">
+<!ENTITY calendar.context.newevent.accesskey "N">
+<!ENTITY calendar.context.newtodo.label "Nova tarefa…">
+<!ENTITY calendar.context.newtodo.accesskey "N">
+<!ENTITY calendar.context.deletetask.label "Eliminar tarefa">
+<!ENTITY calendar.context.deletetask.accesskey "l">
+<!ENTITY calendar.context.deleteevent.label "Eliminar evento">
+<!ENTITY calendar.context.deleteevent.accesskey "l">
+<!ENTITY calendar.context.cutevent.label "Cortar">
+<!ENTITY calendar.context.cutevent.accesskey "t">
+<!ENTITY calendar.context.copyevent.label "Copiar">
+<!ENTITY calendar.context.copyevent.accesskey "C">
+<!ENTITY calendar.context.pasteevent.label "Pegar">
+<!ENTITY calendar.context.pasteevent.accesskey "P">
+<!ENTITY calendar.context.button.label "Panel de hoxe">
+<!ENTITY calendar.context.button.accesskey "P">
+
+<!ENTITY calendar.context.attendance.menu.label "Asistencia">
+<!ENTITY calendar.context.attendance.menu.accesskey "A">
+<!ENTITY calendar.context.attendance.occurrence.label "Esta ocorrencia">
+<!ENTITY calendar.context.attendance.all.label "Todas as ocorrencias" >
+
+<!ENTITY calendar.context.attendance.all2.label "Series completas">
+<!ENTITY calendar.context.attendance.send.label "Enviar unha notificación agora">
+<!ENTITY calendar.context.attendance.send.accesskey "g">
+<!ENTITY calendar.context.attendance.dontsend.label "Non enviar unha notificación">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "h">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Aceptada">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "m">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Aceptada provisionalmente">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "x">
+<!ENTITY calendar.context.attendance.occ.declined.label "Rexeitada">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "g">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Delegado">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "s">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Aínda precisa acción">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "g">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "En progreso">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "R">
+<!ENTITY calendar.context.attendance.occ.completed.label "Rematada">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.all.accepted.label "Aceptadas">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "m">
+<!ENTITY calendar.context.attendance.all.tentative.label "Aceptadas provisionalmente">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "x">
+<!ENTITY calendar.context.attendance.all.declined.label "Rexeitadas">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "l">
+<!ENTITY calendar.context.attendance.all.delegated.label "Delegado">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "p">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Aínda precisa acción">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "g">
+<!ENTITY calendar.context.attendance.all.inprogress.label "En progreso">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "R">
+<!ENTITY calendar.context.attendance.all.completed.label "Rematadas">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Progreso">
+<!ENTITY calendar.context.progress.accesskey "P">
+<!ENTITY calendar.context.priority.label "Prioridade">
+<!ENTITY calendar.context.priority.accesskey "r">
+<!ENTITY calendar.context.postpone.label "Pospor a tarefa">
+<!ENTITY calendar.context.postpone.accesskey "s">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Marcar como rematada">
+<!ENTITY calendar.context.markcompleted.accesskey "o">
+
+<!ENTITY progress.level.0 "0&percnt; completado">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "25&percnt; completado">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "50&percnt; completado">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "75&percnt; completado">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "100&percnt; completado">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "Sen especificar">
+<!ENTITY priority.level.none.accesskey "S">
+<!ENTITY priority.level.low "Baixa">
+<!ENTITY priority.level.low.accesskey "B">
+<!ENTITY priority.level.normal "Normal">
+<!ENTITY priority.level.normal.accesskey "N">
+<!ENTITY priority.level.high "Alta">
+<!ENTITY priority.level.high.accesskey "A">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 hora">
+<!ENTITY calendar.context.postpone.1hour.accesskey "h">
+<!ENTITY calendar.context.postpone.1day.label "1 día">
+<!ENTITY calendar.context.postpone.1day.accesskey "d">
+<!ENTITY calendar.context.postpone.1week.label "1 semana">
+<!ENTITY calendar.context.postpone.1week.accesskey "m">
+
+<!ENTITY calendar.copylink.label "Copiar a localización da ligazón">
+<!ENTITY calendar.copylink.accesskey "C">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "Eliminar">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Novo calendario…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "Atopar calendario…" >
+<!ENTITY calendar.context.findcalendar.accesskey "A" >
+<!ENTITY calendar.context.deleteserver2.label "Eliminar calendario…">
+<!ENTITY calendar.context.deleteserver2.accesskey "d">
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+<!ENTITY calendar.context.removeserver.label "Retirar calendario…">
+<!ENTITY calendar.context.removeserver.accesskey "R">
+<!ENTITY calendar.context.unsubscribeserver.label "Cancelar subscrición ao calendario…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "u">
+<!ENTITY calendar.context.synccalendars.label "Sincronizar os calendarios">
+<!ENTITY calendar.context.synccalendars.accesskey "S">
+<!ENTITY calendar.context.publish.label "Publicar calendario…">
+<!ENTITY calendar.context.publish.accesskey "b">
+<!ENTITY calendar.context.export.label "Exportar calendario…">
+<!ENTITY calendar.context.export.accesskey "E">
+<!ENTITY calendar.context.properties.label "Propiedades">
+<!ENTITY calendar.context.properties.accesskey "P">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "m">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "h">
+
+<!-- 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 "Amosar todos os calendarios">
+<!ENTITY calendar.context.showall.accesskey "a">
+
+<!ENTITY calendar.context.convertmenu.label "Converter a">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "n">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "v">
+<!ENTITY calendar.context.convertmenu.event.label "Evento…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "E">
+<!ENTITY calendar.context.convertmenu.message.label "Mensaxe…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "M">
+<!ENTITY calendar.context.convertmenu.task.label "Tarefa…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Mes reducido">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "M">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Lista de calendarios">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "L">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Filtrar tarefas">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "F">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Localización:" >
+<!ENTITY calendar.alarm.details.label "Detalles…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Suspender para" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Suspender todo para" >
+<!ENTITY calendar.alarm.title.label "Alarma do calendario" >
+<!ENTITY calendar.alarm.dismiss.label "Rexeitar" >
+<!ENTITY calendar.alarm.dismissall.label "Rexeitar todo" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 minutos" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 minutos" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 minutos" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 minutos" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 minutos" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 hora" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 horas" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 día" >
+
+<!-- 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 "Cancelar suspensión">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Editar calendario">
+<!ENTITY calendar.server.dialog.name.label "Nome do calendario:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Cor:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.wcap.label "Sun Java System Calendar Server (WCAP)">
+<!ENTITY calendarproperties.format.label "Formato:">
+<!ENTITY calendarproperties.location.label "Localización:">
+<!ENTITY calendarproperties.refreshInterval.label "Refrescar calendario:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Manualmente">
+<!ENTITY calendarproperties.name.label "Nome:">
+<!ENTITY calendarproperties.readonly.label "Só de lectura">
+<!ENTITY calendarproperties.firealarms.label "Amosar alarmas">
+<!ENTITY calendarproperties.cache3.label "Compatíbel co modo sen conexión">
+<!ENTITY calendarproperties.enabled.label "Activar este calendario">
+<!ENTITY calendarproperties.forceDisabled.label "Non foi posíbel atopar o fornecedor para este calendario. Iso sucede frecuentemente se desactivou ou desinstalou certos complementos.">
+<!ENTITY calendarproperties.unsubscribe.label "Cancelar subscrición">
+<!ENTITY calendarproperties.unsubscribe.accesskey "u">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Publicar calendario">
+<!ENTITY calendar.publish.url.label "Publicando URL">
+<!ENTITY calendar.publish.publish.button "Publicar">
+<!ENTITY calendar.publish.close.button "Pechar">
+
+<!ENTITY calendar.publish.example.url.description "Algo como http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Seleccionar calendario">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "Imprimir un calendario">
+<!ENTITY calendar.print.title.label "Título:">
+<!ENTITY calendar.print.layout.label "Deseño:">
+<!ENTITY calendar.print.range.label "Que imprimir">
+<!ENTITY calendar.print.currentView2.label "Vista actual">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Eventos/tarefas seleccionados">
+<!ENTITY calendar.print.tasks.label "Tarefas">
+<!ENTITY calendar.print.events.label "Eventos">
+<!ENTITY calendar.print.custom.label "Personalizar o intervalo da data:">
+<!ENTITY calendar.print.from.label "De:">
+<!ENTITY calendar.print.to.label "Para:">
+<!ENTITY calendar.print.settingsGroup.label "Configuración da impresión">
+<!ENTITY calendar.print.optionsGroup.label "Opcións">
+<!ENTITY calendar.print.taskswithnoduedate.label "Tarefas sen data límite">
+<!ENTITY calendar.print.completedtasks.label "Tarefas rematadas">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Detalles…">
+<!ENTITY calendar.error.code "Código do erro:">
+<!ENTITY calendar.error.description "Descrición:">
+<!ENTITY calendar.error.title "Produciuse un erro">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Engadir como evento">
+<!ENTITY calendar.extract.task.button "Engadir como tarefa">
+<!ENTITY calendar.extract.event.button.tooltip "Extrae a información temporal da mensaxe e engádea ao calendario como un evento">
+<!ENTITY calendar.extract.task.button.tooltip "Extrae a información temporal da mensaxe e engádea ao calendario como unha tarefa">
diff --git a/l10n-gl/calendar/chrome/calendar/calendar.properties b/l10n-gl/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 0000000000..87f6852956
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,774 @@
+# 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=Previsualización de %1$S
+Untitled=Sen título
+
+# Default name for new events
+newEvent=Novo evento
+
+# Titles for the event/task dialog
+newEventDialog=Novo evento
+editEventDialog=Editar evento
+newTaskDialog=Nova tarefa
+editTaskDialog=Editar tarefa
+
+# Do you want to save changes?
+askSaveTitleEvent=Gardar evento
+askSaveTitleTask=Gardar tarefa
+askSaveMessageEvent=Non se gardou o evento. Desexa gardalo?
+askSaveMessageTask=Non se gardou a tarefa. Desexa gardala?
+
+# Event Dialog Warnings
+warningEndBeforeStart=A data de remate escrita ocorre antes que a data de inicio
+warningUntilDateBeforeStart=A data de remate ocorre antes que a data de inicio
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Persoal
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Calendario sen título
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Provisional
+statusConfirmed =Confirmado
+eventStatusCancelled=Cancelado
+todoStatusCancelled =Cancelado
+statusNeedsAction =Precisa dunha acción
+statusInProcess =En proceso
+statusCompleted =Rematado
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Alta
+normalPriority=Normal
+lowPriority=Baixa
+
+importPrompt=En que calendario quere importar estes elementos?
+exportPrompt=De que calendario quere exportar?
+publishPrompt=Que calendario quere publicar?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+# 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
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Pegar e enviar agora
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Pegar sen enviar
+
+# 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=Produciuse un fallo ao importar %1$S elementos. O último erro foi: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+
+#spaces needed at the end of the following lines
+eventDescription=Descrición:
+
+unableToRead=Foi imposíbel ler do ficheiro:
+unableToWrite=Foi imposíbel escribir no ficheiro:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Calendario de Mozilla
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=Atopouse un fuso horario descoñecido e indefinido ao ler %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=Ignoráronse %1$S elementos posto que xa existen tanto no calendario de destino como en %2$S.
+
+unableToCreateProvider=Produciuse un erro ao preparar o calendario localizado en %1$S para o seu uso. Non estará dispoñíbel.
+unknownTimezonesError=Produciuse un erro ao preparar o calendario localizado en %1$S para o seu uso. O calendario podería facer referencia a fusos horarios descoñecidos. Instale o último calendar-timezones.xpi.
+missingCalendarTimezonesError=Non se atoparon fusos horarios! Instale calendar-timezones.xpi.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Fuso horario descoñecido "%1$S" en "%2$S". No seu lugar tratarase como o fuso horario 'flotante': %3$S
+TimezoneErrorsAlertTitle=Erros nos fusos horarios
+TimezoneErrorsSeeConsole=Ver a consola de erros: os fusos horarios descoñecidos trátanse como o fuso horario local 'flotante'.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Retirar calendario
+removeCalendarButtonDelete=Eliminar calendario
+removeCalendarButtonUnsubscribe=Cancelar subscrición
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Quere retirar o calendario "%1$S"? Cancelar a subscrición retirará o calendario da lista, a eliminación tamén borrará os datos que contén de forma permanente.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=Quere eliminar permanentemente o calendario "%1$S"?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=Quere cancelar a subscrición do calendario "%1$S"?
+
+WeekTitle=Semana %1$S
+None=Ningunha
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+tooNewSchemaErrorBoxTitle=Os datos do seu calendario non son compatíbeis con esta versión de %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=Actualizáronse os datos do calendario do seu perfil por unha nova versión de %1$S,e continuar probabelmente causará a perda ou corrupción de información. A continuación desactivarase o %1$S e reiniciarase o %2$S.
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=Reiniciar %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=Saír do %1$S
+
+# List of events or todos (unifinder)
+eventUntitled=Sen título
+
+# Tooltips of events or todos
+tooltipTitle=Título:
+tooltipLocation=Localización:
+# 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=Data:
+# event calendar name
+tooltipCalName=Nome do calendario:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Estado:
+# event organizer
+tooltipOrganizer=Organizador:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Inicio:
+tooltipDue=Vencemento:
+tooltipPriority=Prioridade:
+tooltipPercent=% completo:
+tooltipCompleted=Completado:
+
+# 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 preside o evento.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing individual attendee
+# 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)
+# 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)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+# 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
+
+#File commands and dialogs
+New=Novo
+Open=Abrir
+filepickerTitleImport=Importar
+filepickerTitleExport=Exportar
+
+# 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=Documento XML (%1$S)
+filterHtml=Páxina web (%1$S)
+filterOutlookCsv=Valores separados por comas de Outlook (%1$S)
+filterWav=Son de Waveform (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Produciuse un erro
+httpPutError=Produciuse un fallo ao publicar o ficheiro do calendario.\nCódigo de estado: %1$S: %2$S
+otherPutError=Produciuse un fallo ao publicar o ficheiro do calendario.\nCódigo de estado: 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=Produciuse un error ao ler datos do calendario: %1$S. Pasouse ao modo de só lectura, xa que os cambios neste calendario probabelmente provocarían pérdida de datos. Pode cambiar esta configuración escollendo 'Editar calendario'.
+
+# 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=Produciuse un erro ao ler datos do calendario: %1$S. Desactivarase ata que sexa seguro usalo.
+
+# 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=Produciuse un erro ao ler datos do calendario: %1$S. Porén, este erro parece menor polo que o programa tentará continuar.
+
+# 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=Produciuse un erro ao ler datos do calendario: %1$S.
+utf8DecodeError=Produciuse un erro ao descodificar un ficheiro iCalendar (ics) como UTF-8. Comprobe que o ficheiro está codificado usando UTF-8, incluíndo símbolos e letras acentuadas.
+icsMalformedError=Produciuse un fallo ao analizar un ficheiro iCalendar (ics). Comprobe que o ficheiro está conforme a sintaxe de ficheiro iCalendar (ics).
+itemModifiedOnServerTitle=Cambiouse o elemento no servidor
+itemModifiedOnServer=Este elemento cambiouse recentemente no servidor.\n
+modifyWillLoseData=Enviando os seus cambios sobrescribirá os feitos no servidor.
+deleteWillLoseData=Borrando este elemento perderanse os cambios feitos no servidor.
+updateFromServer=Descartar os meus cambios e recargar
+proceedModify=Enviar os meus cambios de todos os xeitos
+proceedDelete=Borralo de todos os xeitos
+dav_notDav=O recurso en %1$S, ou non é unha colección DAV ou non está dispoñíbel
+dav_davNotCaldav=O recurso en %1$S é unha colección DAV pero non é un calendario CalDAV
+itemPutError=Produciuse un erro ao almacenar o elemento no servidor.
+itemDeleteError=Produciuse un erro ao eliminar o elemento do servidor.
+caldavRequestError=Produciuse un erro ao enviar a invitación.
+caldavResponseError=Produciuse un erro ao enviar a resposta.
+caldavRequestStatusCode=Código de estado: %1$S
+caldavRequestStatusCodeStringGeneric=Non é posíbel procesar a solicitude.
+caldavRequestStatusCodeString400=A solicitude conten erros de sintaxe e non é posíbel procesala.
+caldavRequestStatusCodeString403=O usuario non ten os permisos necesarios para executar a solicitude.
+caldavRequestStatusCodeString404=Non se atopou o recurso.
+caldavRequestStatusCodeString409=Conflito de recurso.
+caldavRequestStatusCodeString412=Fallou a condición previa.
+caldavRequestStatusCodeString500=Erro interno do servidor.
+caldavRequestStatusCodeString502=Pasarela incorrecta (configuración do proxy?).
+caldavRequestStatusCodeString503=Erro interno do servidor (caída temporal do servidor?).
+caldavRedirectTitle=Actualizar a localización do calendario %1$S?
+caldavRedirectText=As solicitudes de %1$S están sendo redirixidas a unha nova localización. Quere cambiar a localización ao seguinte valor?
+caldavRedirectDisableCalendar=Desactivar calendario
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=Europe/Madrid, Africa/Ceuta, Atlantic/Canary, America/Mexico_City, America/Argentina/Buenos_Aires, America/Santiago, America/Tijuana, America/Santo_Domingo, America/Puerto_Rico, America/Panama, America/Merida, America/Montevideo, America/Monterrey, America/La_Paz, America/Lima
+
+# 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=Aviso: o fuso horario do sistema operativo "%1$S"\nxa non coincide co fuso horario interno ZoneInfo "%2$S".
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=Ignorando o fuso horario '%1$S' do sistema operativo.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Ignorando o fuso horario '%1$S' do idioma.
+
+# 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=Aviso: usase un fuso horario "flotante".\nNingún fuso horario ZoneInfo coincide cos datos do fuso horario do sistema operativo.
+
+# "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=Aviso: infírese o fuso horario\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Este fuso horario ZoneInfo coincide case por completo co fuso horario\ndo sistema operativo. Para esta regra, as próximas transicións entre a\nhora do verán e inverno difiren en, como moito, unha semana respecto das\ntransicións do fuso horario do sistema operativo. Pode haber\ndiscrepancias nos datos, como unha data de inicio diferente, ou unha regra\ndiferente, ou unha aproximación a unha regra dun calendario non gregoriano.
+
+TZSeemsToMatchOS=Este fuso horario ZoneInfo parece coincidir co fuso horario do sistema operativo este ano.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=Este fuso horario ZoneInfo escolleuse baseándose no identificador do\nfuso horario do sistema operativo "%1$S".
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=Este fuso horario ZoneInfo escolleuse pola coincidencia entre o fuso\nhorario do sistema operativo cos fusos horarios probabelmente usados polos usuarios de\nInternet que usan o galego.
+
+TZFromKnownTimezones=Este fuso horario ZoneInfo escolleuse pola coincidencia entre o fuso horario\ndo sistema operativo entre unha lista de fusos horarios coñecidos ordenada\nalfabeticamente por identificador de fuso horario.
+
+# Print Layout
+formatListName = Lista
+weekPrinterName = Planificador semanal
+monthPrinterName = Grade mensual
+tasksWithNoDueDate = Tarefas sen data límite
+
+# Providers
+caldavName=CalDAV
+compositeName=Composto
+icsName=iCalendar (ICS)
+memoryName=Temporal (memoria)
+storageName=Local (SQLite)
+
+# Used in created html code for list layout print and html export
+htmlPrefixTitle=Título
+htmlPrefixWhen=Cando
+htmlPrefixLocation=Localización
+htmlPrefixDescription=Descrición
+htmlTaskCompleted=%1$S (completado)
+
+# Categories
+addCategory=Engadir categoría
+multipleCategories=Múltiples categorías
+
+today=Hoxe
+tomorrow=Mañá
+yesterday=Onte
+
+#Today pane
+eventsonly=Eventos
+eventsandtasks=Eventos e tarefas
+tasksonly=Tarefas
+shortcalendarweek=SC
+
+go=Ir
+
+# 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=seguinte
+next2=seguinte
+last1=último
+last2=último
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 recordatorio;#1 recordatorios
+
+# 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=Comeza: %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=Hoxe ás %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=Mañá ás %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=Onte ás %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=Descrición predeterminada de Mozilla
+alarmDefaultSummary=Resumo predeterminado de Mozilla
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+
+taskDetailsStatusNeedsAction=Precisa dunha acción
+
+# 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%% completada
+taskDetailsStatusCompleted=Rematada
+
+# 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=Completada o %1$S
+taskDetailsStatusCancelled=Cancelado
+
+gettingCalendarInfoCommon=Comprobando calendarios…
+
+# 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=Comprobando o calendario %1$S de %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Código de erro: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Descrición: %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
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+
+# 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=O calendario %1$S está momentaneamente non dispoñíbel
+
+# 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=O calendario %1$S é só de lectura
+
+taskEditInstructions=Prema aquí para engadir unha nova tarefa
+taskEditInstructionsReadonly=Seleccione un calendario no que se poida escribir
+taskEditInstructionsCapability=Seleccione un calendario que admita tarefas
+
+eventDetailsStartDate=Inicio:
+eventDetailsEndDate=Final:
+
+# 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=Semana do calendario: %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=Semanas do calendario %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=SC: %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=Sem: %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 día;#1 días
+dueInHours=#1 hora;#1 horas
+dueInLessThanOneHour=< 1 hora
+
+# 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 de %2$S
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S %2$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalInMonth=%2$S – %3$S %1$S %4$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalInMonth.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the commmon year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%2$S %1$S – %4$S %3$S %5$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenMonths.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%2$S %1$S %3$S – %5$S %4$S %6$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenYears.monthFormat=nominative
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S – %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S – %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= sen data de inicio ou de fin
+# 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=con inicio o %1$S á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=data de vencemento o %1$S ás %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Hora de inicio
+dragLabelTasksWithOnlyDueDate=Remata o
+
+deleteTaskLabel=Eliminar tarefa
+deleteTaskMessage=Realmente quere eliminar esta tarefa?
+deleteTaskAccesskey=l
+deleteItemLabel=Eliminar
+deleteItemMessage=Realmente quere eliminar este elemento?
+deleteItemAccesskey=l
+deleteEventLabel=Eliminar evento
+deleteEventMessage=Realmente quere eliminar este evento?
+deleteEventAccesskey=l
+
+calendarPropertiesEveryMinute=Cada minuto;Cada #1 minutos
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=En %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=En %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 minuto;#1 minutos
+unitHours=#1 hora;#1 horas
+unitDays=#1 día;#1 días
+unitWeeks=#1 semana;#1 semanas
+
+# 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=Amosar %1$S
+hideCalendar=Agochar %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Só amosar %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Conflito na modificación do elemento
+modifyConflictPromptMessage=O elemento que se está a editar no diálogo foi modificado dende que se abriu.
+modifyConflictPromptButton1=Sobrescribir os outros cambios
+modifyConflictPromptButton2=Descartar estes cambios
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+
+# Accessible description of a grid calendar with no selected date
diff --git a/l10n-gl/calendar/chrome/calendar/calendarCreation.dtd b/l10n-gl/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..6fe177f339
--- /dev/null
+++ b/l10n-gl/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 "Crear novo calendario" >
+<!ENTITY wizard.label "Crear un novo calendario" >
+<!ENTITY wizard.description "Localice o seu calendario" >
+
+<!ENTITY initialpage.description "Pode almacenarse o calendario no seu computador ou nun servidor para acceder a el remotamente ou compartilo cos seus amigos ou compañeiros de traballo." >
+<!ENTITY initialpage.computer.label "No meu computador">
+<!ENTITY initialpage.network.label "Na rede">
+
+<!ENTITY locationpage.description "Forneza a información necesaria para acceder ao seu calendario remoto" >
+<!ENTITY locationpage.login.description "Opcional: escriba un nome de usuario e contrasinal" >
+<!ENTITY locationpage.username.label "Nome de usuario:" >
+<!ENTITY locationpage.password.label "Contrasinal:" >
+
+<!ENTITY custompage.shortdescription "Personalizar o seu calendario" >
+<!ENTITY custompage.longdescription "Pode pórlle un alcume ao calendario e colorear os seus eventos." >
+
+<!ENTITY finishpage.shortdescription "Creouse o calendario" >
+<!ENTITY finishpage.longdescription "Creouse o seu calendario." >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Outro">
+
+<!ENTITY buttons.create.label "Crear calendario">
+<!ENTITY buttons.create.accesskey "r">
+
+<!ENTITY buttons.find.label "Atopar calendarios">
+<!ENTITY buttons.find.accesskey "l">
+
+<!ENTITY buttons.back.label "Atrás">
+<!ENTITY buttons.back.accesskey "A">
+
+<!ENTITY buttons.subscribe.label "Subscribir">
+<!ENTITY buttons.subscribe.accesskey "S">
+
+<!ENTITY calendartype.label "Tipo de calendario:">
+<!ENTITY location.label "Localización:">
+<!ENTITY location.placeholder "URL ou nome para o servidor do calendario">
+
+<!ENTITY network.nocredentials.label "Esta localización non require credenciais">
+<!ENTITY network.loading.description "Agarde mentres se buscan os seus calendarios.">
+<!ENTITY network.notfound.description "Non foi posíbel atopar calendarios nesta localización. Comprobe os axustes.">
+<!ENTITY network.authfail.description "As credenciais que introduciu non foron aceptadas. Comprobe os axustes.">
+
+<!ENTITY network.subscribe.single.description "Seleccione os calendarios aos que desexa subscribirse.">
+<!ENTITY network.subscribe.multiple.description "Están dispoñíbeis varios tipos de calendarios nesta localización. Seleccione o tipo de calendario e despois marque os que desexa subscribir.">
diff --git a/l10n-gl/calendar/chrome/calendar/calendarCreation.properties b/l10n-gl/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..5585d3ee39
--- /dev/null
+++ b/l10n-gl/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=Introduza unha localización correcta.
+error.alreadyExists=Xa está subscrito ao calendario desta localización.
diff --git a/l10n-gl/calendar/chrome/calendar/categories.properties b/l10n-gl/calendar/chrome/calendar/categories.properties
new file mode 100644
index 0000000000..6371d9aaa0
--- /dev/null
+++ b/l10n-gl/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=Aniversarios,Clientes,Competencia,Cumpreanos,Estado,Favoritos,Festivos,Ideas,Chamadas,Miscelánea,Negocios,Persoal,Problemas,Provedores,Proxectos,Regalos,Reunións,Seguimento,Usuarios,Vacacións,Viaxes
diff --git a/l10n-gl/calendar/chrome/calendar/dateFormat.properties b/l10n-gl/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..fe1cf8e06d
--- /dev/null
+++ b/l10n-gl/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=Xaneiro
+month.2.name=Febreiro
+month.3.name=Marzo
+month.4.name=Abril
+month.5.name=Maio
+month.6.name=Xuño
+month.7.name=Xullo
+month.8.name=Agosto
+month.9.name=Setembro
+month.10.name=Outubro
+month.11.name=Novembro
+month.12.name=Decembro
+
+# 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=Xaneiro
+month.2.genitive=Febreiro
+month.3.genitive=Marzo
+month.4.genitive=Abril
+month.5.genitive=Maio
+month.6.genitive=Xuño
+month.7.genitive=Xullo
+month.8.genitive=Agosto
+month.9.genitive=Setembro
+month.10.genitive=Outubro
+month.11.genitive=Novembro
+month.12.genitive=Decembro
+
+month.1.Mmm=Xan
+month.2.Mmm=Feb
+month.3.Mmm=Mar
+month.4.Mmm=Abr
+month.5.Mmm=Mai
+month.6.Mmm=Xun
+month.7.Mmm=Xul
+month.8.Mmm=Ago
+month.9.Mmm=Set
+month.10.Mmm=Out
+month.11.Mmm=Nov
+month.12.Mmm=Dec
+
+day.1.name=Domingo
+day.2.name=Luns
+day.3.name=Martes
+day.4.name=Mércores
+day.5.name=Xoves
+day.6.name=Venres
+day.7.name=Sábado
+
+day.1.Mmm=Dom
+day.2.Mmm=Lun
+day.3.Mmm=Mar
+day.4.Mmm=Mer
+day.5.Mmm=Xov
+day.6.Mmm=Ven
+day.7.Mmm=Sab
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=Do
+day.2.short=Lu
+day.3.short=Ma
+day.4.short=Me
+day.5.short=Xo
+day.6.short=Ve
+day.7.short=Sa
+
+# Localizable day's date
+day.1.number=1
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+noon=Mediodía
+midnight=Media noite
+
+AllDay=Todo o día
+Repeating=(Repetitivo)
diff --git a/l10n-gl/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/l10n-gl/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..5123c12991
--- /dev/null
+++ b/l10n-gl/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 "Configurar recordatorios">
+<!ENTITY reminder.add.label "Engadir">
+<!ENTITY reminder.add.accesskey "a">
+<!ENTITY reminder.remove.label "Eliminar">
+<!ENTITY reminder.remove.accesskey "r">
+
+<!ENTITY reminder.reminderDetails.label "Detalles do recordatorio">
+<!ENTITY reminder.action.label "Escolla unha acción de recordatorio">
+
+<!ENTITY reminder.action.alert.label "Amosar unha alerta">
+<!ENTITY reminder.action.email.label "Enviar un correo">
+
+<!ENTITY alarm.units.minutes "minutos" >
+<!ENTITY alarm.units.hours "horas" >
+<!ENTITY alarm.units.days "días" >
diff --git a/l10n-gl/calendar/chrome/calendar/global.dtd b/l10n-gl/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..360628c735
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,52 @@
+<!-- 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 "Media noite" >
+<!ENTITY time.noon "Mediodía" >
+
+<!-- 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 "Dom" >
+<!ENTITY day.1.Ddd.accesskey "D">
+<!ENTITY day.2.Ddd "Lun" >
+<!ENTITY day.2.Ddd.accesskey "L">
+<!ENTITY day.3.Ddd "Mar" >
+<!ENTITY day.3.Ddd.accesskey "M">
+<!ENTITY day.4.Ddd "Mer" >
+<!ENTITY day.4.Ddd.accesskey "M">
+<!ENTITY day.5.Ddd "Xov" >
+<!ENTITY day.5.Ddd.accesskey "X">
+<!ENTITY day.6.Ddd "Ven" >
+<!ENTITY day.6.Ddd.accesskey "V">
+<!ENTITY day.7.Ddd "Sab" >
+<!ENTITY day.7.Ddd.accesskey "a">
+
+<!ENTITY day.1.name "Domingo" >
+<!ENTITY day.2.name "Luns" >
+<!ENTITY day.3.name "Martes" >
+<!ENTITY day.4.name "Mércores" >
+<!ENTITY day.5.name "Xoves" >
+<!ENTITY day.6.name "Venres" >
+<!ENTITY day.7.name "Sábado" >
+
+<!ENTITY month.1.name "Xaneiro" >
+<!ENTITY month.2.name "Febreiro" >
+<!ENTITY month.3.name "Marzo" >
+<!ENTITY month.4.name "Abril" >
+<!ENTITY month.5.name "Maio" >
+<!ENTITY month.6.name "Xuño" >
+<!ENTITY month.7.name "Xullo" >
+<!ENTITY month.8.name "Agosto" >
+<!ENTITY month.9.name "Setembro" >
+<!ENTITY month.10.name "Outubro" >
+<!ENTITY month.11.name "Novembro" >
+<!ENTITY month.12.name "Decembro" >
+
+<!ENTITY onemonthbackward.tooltip "Retroceder un mes" >
+<!ENTITY onemonthforward.tooltip "Avanzar un mes" >
+<!ENTITY showToday.tooltip "Ir ao día actual">
+<!ENTITY onedayforward.tooltip "Avanzar un día">
+<!ENTITY onedaybackward.tooltip "Retroceder un día">
+<!ENTITY showselectedday.tooltip "Amosar eventos para o día seleccionado">
diff --git a/l10n-gl/calendar/chrome/calendar/menuOverlay.dtd b/l10n-gl/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..58f8166841
--- /dev/null
+++ b/l10n-gl/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 "Novo evento…">
+<!ENTITY event.new.event.accesskey "N">
+
+<!ENTITY event.new.task "Nova tarefa…">
+<!ENTITY event.new.task.accesskey "N">
+
+<!ENTITY calendar.import.label "Importar…">
+<!ENTITY calendar.import.accesskey "I">
+
+<!ENTITY calendar.export.label "Exportar…">
+<!ENTITY calendar.export.accesskey "E">
+
+<!ENTITY calendar.publish.label "Publicar…">
+<!ENTITY calendar.publish.accesskey "b">
+
+<!ENTITY calendar.deletecalendar.label "Eliminar calendario seleccionado…">
+<!ENTITY calendar.deletecalendar.accesskey "d">
+<!ENTITY calendar.unsubscribecalendar.label "Cancelar subscrición do calendario seleccionado…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "u">
+
+<!-- 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 "Retirar calendario seleccionado…">
+<!ENTITY calendar.removecalendar.accesskey "R">
+
+
+<!ENTITY calendar.menu.customize.label "Personalizar…">
+<!ENTITY calendar.menu.customize.accesskey "P">
+
+<!ENTITY showUnifinderCmd.label "Atopar eventos">
+<!ENTITY showUnifinderCmd.accesskey "A">
+<!ENTITY showUnifinderCmd.tooltip "Activar/desactivar o panel de atopar eventos">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Amosar as tarefas no calendario">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "t">
+
+<!ENTITY goTodayCmd.label "Hoxe">
+<!ENTITY goTodayCmd.accesskey "H">
+
+<!ENTITY showCurrentView.label "Vista actual">
+<!ENTITY showCurrentView.accesskey "V">
+
+<!ENTITY calendar.properties.label "Propiedades do calendario…">
+<!ENTITY calendar.properties.accesskey "c">
diff --git a/l10n-gl/calendar/chrome/calendar/migration.dtd b/l10n-gl/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 0000000000..c1cd0830cd
--- /dev/null
+++ b/l10n-gl/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;: Importación de datos">
+<!ENTITY migration.welcome "Benvida">
+<!ENTITY migration.importing "Importando">
+<!ENTITY migration.list.description "&brandShortName; pode importar datos de calendarios dos aplicativos máis populares. Atopáronse datos dos seguintes aplicativos no seu computador. Seleccione de cal destes aplicativos desexa importar os datos.">
+<!ENTITY migration.progress.description "Importando os datos seleccionados">
diff --git a/l10n-gl/calendar/chrome/calendar/migration.properties b/l10n-gl/calendar/chrome/calendar/migration.properties
new file mode 100644
index 0000000000..13df058c4b
--- /dev/null
+++ b/l10n-gl/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= Migrando %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle= %1$S: Importación de datos
+migrationDescription=%1$S pode importar datos de calendarios dos aplicativos máis populares. Atopáronse datos dos seguintes aplicativos no seu computador. Seleccione de cal destes aplicativos desexa importar os datos.
+finished= Completo
+disableExtTitle= Atopouse unha extensión incompatíbel
+disableExtText= Ten instalada a antiga extensión Mozilla Calendar que non é compatíbel co Lightning. Desactivarase e reiniciarase o %1$S.
diff --git a/l10n-gl/calendar/chrome/calendar/provider-uninstall.dtd b/l10n-gl/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..8d4d796408
--- /dev/null
+++ b/l10n-gl/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 "Desinstalar un fornecedor">
+<!ENTITY providerUninstall.accept.label "Cancelar a subscrición dos seleccionados">
+<!ENTITY providerUninstall.accept.accesskey "u">
+<!ENTITY providerUninstall.cancel.label "Conservar complemento">
+<!ENTITY providerUninstall.cancel.accesskey "C">
+<!ENTITY providerUninstall.preName.label "Solicitou desinstalar ou desactivar:">
+<!ENTITY providerUninstall.postName.label "Isto causará que se desactiven os seguintes calendarios.">
+<!ENTITY providerUninstall.reinstallNote.label "Salvo que planee reinstalar este fornecedor, pode escoller cancelar a subscrición dos calendarios deste fornecedor.">
diff --git a/l10n-gl/calendar/chrome/calendar/timezones.properties b/l10n-gl/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 0000000000..3054d312a3
--- /dev/null
+++ b/l10n-gl/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,461 @@
+# 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=Definicións de fusos horarios para Mozilla Calendar
+extensions.calendar-timezones@mozilla.org.description=Definicións de fusos horarios requiridos por Sunbird e Lightning
+extensions.calendar-timezones@mozilla.org.creator=Mozilla Calendar Project
+
+pref.timezone.floating=Horal local
+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=África/Abidjan
+pref.timezone.Africa.Accra=África/Accra
+pref.timezone.Africa.Addis_Ababa=África/Addis Ababa
+pref.timezone.Africa.Algiers=África/Alxer
+pref.timezone.Africa.Asmara=África/Asmara
+pref.timezone.Africa.Bamako=África/Bamako
+pref.timezone.Africa.Bangui=África/Bangui
+pref.timezone.Africa.Banjul=África/Banjul
+pref.timezone.Africa.Bissau=África/Bissau
+pref.timezone.Africa.Blantyre=África/Blantyre
+pref.timezone.Africa.Brazzaville=África/Brazzaville
+pref.timezone.Africa.Bujumbura=África/Bujumbura
+pref.timezone.Africa.Cairo=África/O Cairo
+pref.timezone.Africa.Casablanca=África/Casablanca
+pref.timezone.Africa.Ceuta=África/Ceuta
+pref.timezone.Africa.Conakry=África/Conacri
+pref.timezone.Africa.Dakar=África/Dakar
+pref.timezone.Africa.Dar_es_Salaam=África/Dar es Salaam
+pref.timezone.Africa.Djibouti=África/Xibutí
+pref.timezone.Africa.Douala=África/Douala
+pref.timezone.Africa.El_Aaiun=África/El Aaiun
+pref.timezone.Africa.Freetown=África/Freetown
+pref.timezone.Africa.Gaborone=África/Gaborone
+pref.timezone.Africa.Harare=África/Harare
+pref.timezone.Africa.Johannesburg=África/Johannesburgo
+pref.timezone.Africa.Kampala=África/Kampala
+pref.timezone.Africa.Khartoum=África/Khartum
+pref.timezone.Africa.Kigali=África/Kigali
+pref.timezone.Africa.Kinshasa=África/Kinshasa
+pref.timezone.Africa.Lagos=África/Lagos
+pref.timezone.Africa.Libreville=África/Libreville
+pref.timezone.Africa.Lome=África/Lomé
+pref.timezone.Africa.Luanda=África/Luanda
+pref.timezone.Africa.Lubumbashi=África/Lubumbashi
+pref.timezone.Africa.Lusaka=África/Lusaka
+pref.timezone.Africa.Malabo=África/Malabo
+pref.timezone.Africa.Maputo=África/Maputo
+pref.timezone.Africa.Maseru=África/Maseru
+pref.timezone.Africa.Mbabane=África/Mbabane
+pref.timezone.Africa.Mogadishu=África/Mogadixo
+pref.timezone.Africa.Monrovia=África/Monrovia
+pref.timezone.Africa.Nairobi=África/Nairobi
+pref.timezone.Africa.Ndjamena=África/Ndjamena
+pref.timezone.Africa.Niamey=África/Niamey
+pref.timezone.Africa.Nouakchott=África/Nouakchott
+pref.timezone.Africa.Ouagadougou=África/Ouagadougou
+pref.timezone.Africa.Porto-Novo=África/Porto-Novo
+pref.timezone.Africa.Sao_Tome=África/Sao Tome
+pref.timezone.Africa.Tripoli=África/Trípoli
+pref.timezone.Africa.Tunis=África/Tunes
+pref.timezone.Africa.Windhoek=África/Windhoek
+pref.timezone.America.Adak=América/Adak
+pref.timezone.America.Anchorage=América/Anchorage
+pref.timezone.America.Anguilla=América/Anguilla
+pref.timezone.America.Antigua=América/Antigua
+pref.timezone.America.Araguaina=América/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=América/Arxentina/Bos Aires
+pref.timezone.America.Argentina.Catamarca=América/Arxentina//Catamarca
+pref.timezone.America.Argentina.Cordoba=América/Arxentina/Córdoba
+pref.timezone.America.Argentina.Jujuy=América/Arxentina/Jujuy
+pref.timezone.America.Argentina.La_Rioja=América/Arxentina/La Rioja
+pref.timezone.America.Argentina.Mendoza=América/Arxentina/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=América/Arxentina/Rio Gallegos
+pref.timezone.America.Argentina.San_Juan=América/Arxentina/San Juan
+pref.timezone.America.Argentina.Tucuman=América/Arxentina/Tucuman
+pref.timezone.America.Argentina.Ushuaia=América/Arxentina/Ushuaia
+pref.timezone.America.Aruba=América/Aruba
+pref.timezone.America.Asuncion=América/Asunción
+pref.timezone.America.Atikokan=América/Atikokan
+pref.timezone.America.Bahia=América/Bahía
+pref.timezone.America.Barbados=América/Barbados
+pref.timezone.America.Belem=América/Belém
+pref.timezone.America.Belize=América/Belice
+pref.timezone.America.Blanc-Sablon=América/Blanc-Sablon
+pref.timezone.America.Boa_Vista=América/Boa Vista
+pref.timezone.America.Bogota=América/Bogotá
+pref.timezone.America.Boise=América/Boise
+pref.timezone.America.Cambridge_Bay=América/Cambridge Bay
+pref.timezone.America.Campo_Grande=América/Campo Grande
+pref.timezone.America.Cancun=América/Cancún
+pref.timezone.America.Caracas=América/Caracas
+pref.timezone.America.Cayenne=América/Cayenne
+pref.timezone.America.Cayman=América/Caimán
+pref.timezone.America.Chicago=América/Chicago
+pref.timezone.America.Chihuahua=América/Chihuahua
+pref.timezone.America.Costa_Rica=América/Costa Rica
+pref.timezone.America.Cuiaba=América/Cuiabá
+pref.timezone.America.Curacao=América/Curaçao
+pref.timezone.America.Danmarkshavn=América/Danmarkshavn
+pref.timezone.America.Dawson=América/Dawson
+pref.timezone.America.Dawson_Creek=América/Dawson Creek
+pref.timezone.America.Denver=América/Denver
+pref.timezone.America.Detroit=América/Detroit
+pref.timezone.America.Dominica=América/Dominica
+pref.timezone.America.Edmonton=América/Edmonton
+pref.timezone.America.Eirunepe=América/Eirunepé
+pref.timezone.America.El_Salvador=América/El Salvador
+pref.timezone.America.Fortaleza=América/Fortaleza
+pref.timezone.America.Glace_Bay=América/Glace Bay
+pref.timezone.America.Godthab=América/Godthab
+pref.timezone.America.Goose_Bay=América/Goose Bay
+pref.timezone.America.Grand_Turk=América/Grand Turk
+pref.timezone.America.Grenada=América/Granada
+pref.timezone.America.Guadeloupe=América/Guadalupe
+pref.timezone.America.Guatemala=América/Guatemala
+pref.timezone.America.Guayaquil=América/Guayaquil
+pref.timezone.America.Guyana=América/Guiana
+pref.timezone.America.Halifax=América/Halifax
+pref.timezone.America.Havana=América/A Habana
+pref.timezone.America.Hermosillo=América/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=América/Indiana/Indianápolis
+pref.timezone.America.Indiana.Knox=América/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=América/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=América/Indiana/Petersburgo
+pref.timezone.America.Indiana.Vevay=América/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=América/Indiana/Vincennes
+pref.timezone.America.Inuvik=América/Inuvik
+pref.timezone.America.Iqaluit=América/Iqaluit
+pref.timezone.America.Jamaica=América/Xamaica
+pref.timezone.America.Juneau=América/Juneau
+pref.timezone.America.Kentucky.Louisville=América/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=América/Kentucky/Monticello
+pref.timezone.America.La_Paz=América/La Paz
+pref.timezone.America.Lima=América/Lima
+pref.timezone.America.Los_Angeles=América/Los Angeles
+pref.timezone.America.Maceio=América/Maceió
+pref.timezone.America.Managua=América/Managua
+pref.timezone.America.Manaus=América/Manaus
+pref.timezone.America.Martinique=América/Martinica
+pref.timezone.America.Mazatlan=América/Mazatlán
+pref.timezone.America.Menominee=América/Menominee
+pref.timezone.America.Merida=América/Mérida
+pref.timezone.America.Mexico_City=América/Cidade de México
+pref.timezone.America.Miquelon=América/Miquelon
+pref.timezone.America.Moncton=América/Moncton
+pref.timezone.America.Monterrey=América/Monterrei
+pref.timezone.America.Montevideo=América/Montevideo
+pref.timezone.America.Montreal=América/Montreal
+pref.timezone.America.Montserrat=América/Montserrat
+pref.timezone.America.Nassau=América/Nassau
+pref.timezone.America.New_York=América/Nova Iorque
+pref.timezone.America.Nipigon=América/Nipigon
+pref.timezone.America.Nome=América/Nome
+pref.timezone.America.Noronha=América/Noronha
+pref.timezone.America.North_Dakota.Center=América/Dakota do norte/Centro
+pref.timezone.America.North_Dakota.New_Salem=América/Dakota do norte/New Salem
+pref.timezone.America.Panama=América/Panamá
+pref.timezone.America.Pangnirtung=América/Pangnirtung
+pref.timezone.America.Paramaribo=América/Paramaribo
+pref.timezone.America.Phoenix=América/Phoenix
+pref.timezone.America.Port-au-Prince=América/Porto Príncipe
+pref.timezone.America.Port_of_Spain=América/Porto España
+pref.timezone.America.Porto_Velho=América/Porto Velho
+pref.timezone.America.Puerto_Rico=América/Porto Rico
+pref.timezone.America.Rainy_River=América/Rainy River
+pref.timezone.America.Rankin_Inlet=América/Rankin Inlet
+pref.timezone.America.Recife=América/Recife
+pref.timezone.America.Regina=América/Regina
+pref.timezone.America.Rio_Branco=América/Río Branco
+pref.timezone.America.Santiago=América/Santiago
+pref.timezone.America.Santo_Domingo=América/Santo Domingo
+pref.timezone.America.Sao_Paulo=América/Sao Paulo
+pref.timezone.America.Scoresbysund=América/Scoresbysund
+pref.timezone.America.Shiprock=América/Shiprock
+pref.timezone.America.St_Johns=América/St. Johns
+pref.timezone.America.St_Kitts=América/St. Kitts
+pref.timezone.America.St_Lucia=América/Santa Lucía
+pref.timezone.America.St_Thomas=América/Santo Tomás
+pref.timezone.America.St_Vincent=América/San Vicente
+pref.timezone.America.Swift_Current=América/Swift Current
+pref.timezone.America.Tegucigalpa=América/Tegucigalpa
+pref.timezone.America.Thule=América/Thule
+pref.timezone.America.Thunder_Bay=América/Thunder Bay
+pref.timezone.America.Tijuana=América/Tijuana
+pref.timezone.America.Toronto=América/Toronto
+pref.timezone.America.Tortola=América/Tortola
+pref.timezone.America.Vancouver=América/Vancouver
+pref.timezone.America.Whitehorse=América/Whitehorse
+pref.timezone.America.Winnipeg=América/Winnipeg
+pref.timezone.America.Yakutat=América/Yakutat
+pref.timezone.America.Yellowknife=América/Yellowknife
+pref.timezone.Antarctica.Casey=Antártida/Casey
+pref.timezone.Antarctica.Davis=Antártida/Davis
+pref.timezone.Antarctica.DumontDUrville=Antártida/DumontDUrville
+pref.timezone.Antarctica.Mawson=Antártida/Mawson
+pref.timezone.Antarctica.McMurdo=Antártida/McMurdo
+pref.timezone.Antarctica.Palmer=Antártida/Palmer
+pref.timezone.Antarctica.Rothera=Antártida/Rothera
+pref.timezone.Antarctica.South_Pole=Antártida/Polo Sur
+pref.timezone.Antarctica.Syowa=Antártida/Syowa
+pref.timezone.Antarctica.Vostok=Antártida/Vostok
+pref.timezone.Arctic.Longyearbyen=Ártico/Longyearbyen
+pref.timezone.Asia.Aden=Asia/Adén
+pref.timezone.Asia.Almaty=Asia/Almaty
+pref.timezone.Asia.Amman=Asia/Amán
+pref.timezone.Asia.Anadyr=Asia/Anadyr
+pref.timezone.Asia.Aqtau=Asia/Aqtau
+pref.timezone.Asia.Aqtobe=Asia/Aqtobe
+pref.timezone.Asia.Ashgabat=Asia/Ashgabat
+pref.timezone.Asia.Baghdad=Asia/Bagdad
+pref.timezone.Asia.Bahrain=Asia/Bahrein
+pref.timezone.Asia.Baku=Asia/Bakú
+pref.timezone.Asia.Bangkok=Asia/Bangkok
+pref.timezone.Asia.Beirut=Asia/Beirut
+pref.timezone.Asia.Bishkek=Asia/Bishkek
+pref.timezone.Asia.Brunei=Asia/Brunei
+pref.timezone.Asia.Choibalsan=Asia/Choibalsan
+pref.timezone.Asia.Chongqing=Asia/Chongking
+pref.timezone.Asia.Colombo=Asia/Colombo
+pref.timezone.Asia.Damascus=Asia/Damasco
+pref.timezone.Asia.Dhaka=Asia/Dhaka
+pref.timezone.Asia.Dili=Asia/Dili
+pref.timezone.Asia.Dubai=Asia/Dubai
+pref.timezone.Asia.Dushanbe=Asia/Dushanbe
+pref.timezone.Asia.Gaza=Asia/Gaza
+pref.timezone.Asia.Harbin=Asia/Harbin
+pref.timezone.Asia.Hong_Kong=Asia/Hong Kong
+pref.timezone.Asia.Hovd=Asia/Hovd
+pref.timezone.Asia.Irkutsk=Asia/Irkutsk
+pref.timezone.Asia.Istanbul=Asia/Estambul
+pref.timezone.Asia.Jakarta=Asia/Jakarta
+pref.timezone.Asia.Jayapura=Asia/Jayapura
+pref.timezone.Asia.Jerusalem=Asia/Xerusalén
+pref.timezone.Asia.Kabul=Asia/Kabul
+pref.timezone.Asia.Kamchatka=Asia/Kamchatka
+pref.timezone.Asia.Karachi=Asia/Karachi
+pref.timezone.Asia.Kashgar=Asia/Kashgar
+pref.timezone.Asia.Kathmandu=Asia/Kathmandu
+pref.timezone.Asia.Krasnoyarsk=Asia/Krasnoyarsk
+pref.timezone.Asia.Kuala_Lumpur=Asia/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asia/Kuching
+pref.timezone.Asia.Kuwait=Asia/Kuwait
+pref.timezone.Asia.Macau=Asia/Macau
+pref.timezone.Asia.Magadan=Asia/Magadan
+pref.timezone.Asia.Makassar=Asia/Makassar
+pref.timezone.Asia.Manila=Asia/Manila
+pref.timezone.Asia.Muscat=Asia/Muscat
+pref.timezone.Asia.Nicosia=Asia/Nicosia
+pref.timezone.Asia.Novosibirsk=Asia/Novosibirsk
+pref.timezone.Asia.Omsk=Asia/Omsk
+pref.timezone.Asia.Oral=Asia/Oral
+pref.timezone.Asia.Phnom_Penh=Asia/Phnom Penh
+pref.timezone.Asia.Pontianak=Asia/Pontianak
+pref.timezone.Asia.Pyongyang=Asia/Pyongyang
+pref.timezone.Asia.Qatar=Asia/Qatar
+pref.timezone.Asia.Qyzylorda=Asia/Qyzylorda
+pref.timezone.Asia.Rangoon=Asia/Rangún
+pref.timezone.Asia.Riyadh=Asia/Riyadh
+pref.timezone.Asia.Sakhalin=Asia/Sakhalin
+pref.timezone.Asia.Samarkand=Asia/Samarkanda
+pref.timezone.Asia.Seoul=Asia/Seúl
+pref.timezone.Asia.Shanghai=Asia/Shangai
+pref.timezone.Asia.Singapore=Asia/Singapur
+pref.timezone.Asia.Taipei=Asia/Taipei
+pref.timezone.Asia.Tashkent=Asia/Tashkent
+pref.timezone.Asia.Tbilisi=Asia/Tbilisi
+pref.timezone.Asia.Tehran=Asia/Teherán
+pref.timezone.Asia.Thimphu=Asia/Thimphu
+pref.timezone.Asia.Tokyo=Asia/Toquio
+pref.timezone.Asia.Ulaanbaatar=Asia/Ulaanbaatar
+pref.timezone.Asia.Urumqi=Asia/Urumqi
+pref.timezone.Asia.Vientiane=Asia/Vientiane
+pref.timezone.Asia.Vladivostok=Asia/Vladivostok
+pref.timezone.Asia.Yakutsk=Asia/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asia/Yekaterinburg
+pref.timezone.Asia.Yerevan=Asia/Yerevan
+pref.timezone.Atlantic.Azores=Atlántico/Os Azores
+pref.timezone.Atlantic.Bermuda=Atlántico/Bermudas
+pref.timezone.Atlantic.Canary=Atlántico/Canarias
+pref.timezone.Atlantic.Cape_Verde=Atlántico/Cabo Verde
+pref.timezone.Atlantic.Faroe=Atlántico/Faroe
+pref.timezone.Atlantic.Madeira=Atlántico/Madeira
+pref.timezone.Atlantic.Reykjavik=Atlántico/Reiquiavik
+pref.timezone.Atlantic.South_Georgia=Atlántico/Xeorxia do sur
+pref.timezone.Atlantic.St_Helena=Atlántico/Santa Helena
+pref.timezone.Atlantic.Stanley=Atlántico/Stanley
+pref.timezone.Australia.Adelaide=Australia/Adelaida
+pref.timezone.Australia.Brisbane=Australia/Brisbane
+pref.timezone.Australia.Broken_Hill=Australia/Broken Hill
+pref.timezone.Australia.Currie=Australia/Currie
+pref.timezone.Australia.Darwin=Australia/Darwin
+pref.timezone.Australia.Eucla=Australia/Eucla
+pref.timezone.Australia.Hobart=Australia/Hobart
+pref.timezone.Australia.Lindeman=Australia/Lindeman
+pref.timezone.Australia.Lord_Howe=Australia/Lord Howe
+pref.timezone.Australia.Melbourne=Australia/Melbourne
+pref.timezone.Australia.Perth=Australia/Perth
+pref.timezone.Australia.Sydney=Australia/Sydney
+pref.timezone.Europe.Amsterdam=Europa/Amsterdam
+pref.timezone.Europe.Andorra=Europa/Andorra
+pref.timezone.Europe.Athens=Europa/Atenas
+pref.timezone.Europe.Belgrade=Europa/Belgrado
+pref.timezone.Europe.Berlin=Europa/Berlín
+pref.timezone.Europe.Bratislava=Europa/Bratislava
+pref.timezone.Europe.Brussels=Europa/Bruxelas
+pref.timezone.Europe.Bucharest=Europa/Bucarest
+pref.timezone.Europe.Budapest=Europa/Budapest
+pref.timezone.Europe.Chisinau=Europa/Chisinau
+pref.timezone.Europe.Copenhagen=Europa/Copenhaguen
+pref.timezone.Europe.Dublin=Europa/Dublín
+pref.timezone.Europe.Gibraltar=Europa/Xibraltar
+pref.timezone.Europe.Guernsey=Europa/Guernsey
+pref.timezone.Europe.Helsinki=Europa/Helsinki
+pref.timezone.Europe.Isle_of_Man=Europa/Illa de Man
+pref.timezone.Europe.Istanbul=Europa/Estambul
+pref.timezone.Europe.Jersey=Europa/Jersey
+pref.timezone.Europe.Kaliningrad=Europa/Kaliningrado
+pref.timezone.Europe.Kiev=Europa/Kiev
+pref.timezone.Europe.Lisbon=Europa/Lisboa
+pref.timezone.Europe.Ljubljana=Europa/Liubliana
+pref.timezone.Europe.London=Europa/Londres
+pref.timezone.Europe.Luxembourg=Europa/Luxemburgo
+pref.timezone.Europe.Madrid=Europa/Madrid
+pref.timezone.Europe.Malta=Europa/Malta
+pref.timezone.Europe.Mariehamn=Europa/Mariehamn
+pref.timezone.Europe.Minsk=Europa/Minsk
+pref.timezone.Europe.Monaco=Europa/Mónaco
+pref.timezone.Europe.Moscow=Europa/Moscova
+pref.timezone.Europe.Nicosia=Europa/Nicosia
+pref.timezone.Europe.Oslo=Europa/Oslo
+pref.timezone.Europe.Paris=Europa/París
+pref.timezone.Europe.Podgorica=Europa/Podgorica
+pref.timezone.Europe.Prague=Europa/Praga
+pref.timezone.Europe.Riga=Europa/Riga
+pref.timezone.Europe.Rome=Europa/Roma
+pref.timezone.Europe.Samara=Europa/Samara
+pref.timezone.Europe.San_Marino=Europa/San Marino
+pref.timezone.Europe.Sarajevo=Europa/Saraxevo
+pref.timezone.Europe.Simferopol=Europa/Simferopol
+pref.timezone.Europe.Skopje=Europa/Skopje
+pref.timezone.Europe.Sofia=Europa/Sofía
+pref.timezone.Europe.Stockholm=Europa/Estocolmo
+pref.timezone.Europe.Tallinn=Europa/Tallín
+pref.timezone.Europe.Tirane=Europa/Tirana
+pref.timezone.Europe.Uzhgorod=Europa/Uzhgorod
+pref.timezone.Europe.Vaduz=Europa/Vaduz
+pref.timezone.Europe.Vatican=Europa/Vaticano
+pref.timezone.Europe.Vienna=Europa/Viena
+pref.timezone.Europe.Vilnius=Europa/Vilnius
+pref.timezone.Europe.Volgograd=Europa/Volgogrado
+pref.timezone.Europe.Warsaw=Europa/Varsovia
+pref.timezone.Europe.Zagreb=Europa/Zagreb
+pref.timezone.Europe.Zaporozhye=Europa/Zaporozhye
+pref.timezone.Europe.Zurich=Europa/Zúric
+pref.timezone.Indian.Antananarivo=Índico/Antananarivo
+pref.timezone.Indian.Chagos=Índico/Chagos
+pref.timezone.Indian.Christmas=Índico/Christmas
+pref.timezone.Indian.Cocos=Índico/Cocos
+pref.timezone.Indian.Comoro=Índico/Comores
+pref.timezone.Indian.Kerguelen=Índico/Kerguelen
+pref.timezone.Indian.Mahe=Índico/Mahé
+pref.timezone.Indian.Maldives=Índico/Maldivas
+pref.timezone.Indian.Mauritius=Índico/Mauricio
+pref.timezone.Indian.Mayotte=Índico/Mayotte
+pref.timezone.Indian.Reunion=Índico/Reunión
+pref.timezone.Pacific.Apia=Pacífico/Apia
+pref.timezone.Pacific.Auckland=Pacífico/Auckland
+pref.timezone.Pacific.Chatham=Pacífico/Chatham
+pref.timezone.Pacific.Easter=Pacífico/Easter
+pref.timezone.Pacific.Efate=Pacífico/Efate
+pref.timezone.Pacific.Enderbury=Pacífico/Enderbury
+pref.timezone.Pacific.Fakaofo=Pacífico/Fakaofo
+pref.timezone.Pacific.Fiji=Pacífico/Fixi
+pref.timezone.Pacific.Funafuti=Pacífico/Funafuti
+pref.timezone.Pacific.Galapagos=Pacífico/Galápagos
+pref.timezone.Pacific.Gambier=Pacífico/Gambier
+pref.timezone.Pacific.Guadalcanal=Pacífico/Guadalcanal
+pref.timezone.Pacific.Guam=Pacífico/Guam
+pref.timezone.Pacific.Honolulu=Pacífico/Honolulú
+pref.timezone.Pacific.Johnston=Pacífico/Johnston
+pref.timezone.Pacific.Kiritimati=Pacífico/Kiritimati
+pref.timezone.Pacific.Kosrae=Pacífico/Kosrae
+pref.timezone.Pacific.Kwajalein=Pacífico/Kwajalein
+pref.timezone.Pacific.Majuro=Pacífico/Majuro
+pref.timezone.Pacific.Marquesas=Pacífico/Marquesas
+pref.timezone.Pacific.Midway=Pacífico/Midway
+pref.timezone.Pacific.Nauru=Pacífico/Nauru
+pref.timezone.Pacific.Niue=Pacífico/Niue
+pref.timezone.Pacific.Norfolk=Pacífico/Norfolk
+pref.timezone.Pacific.Noumea=Pacífico/Noumea
+pref.timezone.Pacific.Pago_Pago=Pacífico/Pago Pago
+pref.timezone.Pacific.Palau=Pacífico/Palau
+pref.timezone.Pacific.Pitcairn=Pacífico/Pitcairn
+pref.timezone.Pacific.Ponape=Pacífico/Ponape
+pref.timezone.Pacific.Port_Moresby=Pacífico/Port Moresby
+pref.timezone.Pacific.Rarotonga=Pacífico/Rarotonga
+pref.timezone.Pacific.Saipan=Pacífico/Saipan
+pref.timezone.Pacific.Tahiti=Pacífico/Tahití
+pref.timezone.Pacific.Tarawa=Pacífico/Tarawa
+pref.timezone.Pacific.Tongatapu=Pacífico/Tongatapu
+pref.timezone.Pacific.Truk=Pacífico/Truk
+pref.timezone.Pacific.Wake=Pacífico/Wake
+pref.timezone.Pacific.Wallis=Pacífico/Wallis
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=América/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=América/Indiana/Winamac
+pref.timezone.America.Marigot=América/Marigot
+pref.timezone.America.Resolute=América/Resolute
+pref.timezone.America.St_Barthelemy=América/St. Barthelemy
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=América/Arxentina/San Luis
+pref.timezone.America.Santarem=América/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asia/Ho Chi Minh
+pref.timezone.Asia.Kolkata=Asia/Kolkata
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=América/Arxentina/Salta
+
+# added with 2010i
+pref.timezone.America.Matamoros=América/Matamoros
+pref.timezone.America.Ojinaga=América/Ojinaga
+pref.timezone.America.Santa_Isabel=América/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antártida/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asia/Novokuznetsk
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=América/Bahía de Banderas
+pref.timezone.America.North_Dakota.Beulah=América/Dakota do norte/Beulah
+pref.timezone.Pacific.Chuuk=Pacífico/Chuuk
+pref.timezone.Pacific.Pohnpei=Pacífico/Pohnpei
+
+#added with 2011n
+pref.timezone.Africa.Juba=África/Juba
+pref.timezone.America.Kralendijk=América/Kralendijk
+pref.timezone.America.Lower_Princes=América/Lower Princes
+pref.timezone.America.Metlakatla=América/Metlakatla
+pref.timezone.America.Sitka=América/Sitka
+pref.timezone.Asia.Hebron=Asia/Hebrón
+
+#added with 2013a
+pref.timezone.America.Creston=Ámerica/Creston
+pref.timezone.Asia.Khandyga=Asia/Khandyga
+pref.timezone.Asia.Ust-Nera=Asia/Ust-Nera
+pref.timezone.Europe.Busingen=Europa/Busingen
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Antártida/Troll
+
+#added with 2014j
+pref.timezone.Asia.Chita=Asia/Chita
+pref.timezone.Asia.Srednekolymsk=Asia/Srednekolymsk
+pref.timezone.Pacific.Bougainville=Pacífico/Bougainville
diff --git a/l10n-gl/calendar/chrome/lightning/lightning-toolbar.dtd b/l10n-gl/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..64e08503b6
--- /dev/null
+++ b/l10n-gl/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 "Barra de ferramentas do calendario">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "c">
+<!ENTITY lightning.toolbar.task.name "Barra de ferramentas das tarefas">
+<!ENTITY lightning.toolbar.task.name.accesskey "t">
+
+<!ENTITY lightning.toolbar.sync.label "Sincronizar">
+<!ENTITY lightning.toolbar.sync.tooltip "Recargar os calendarios e sincronizar os cambios">
+<!ENTITY lightning.toolbar.delete.label "Eliminar">
+<!ENTITY lightning.toolbar.delete.tooltip "Eliminar os eventos ou tarefas seleccionadas">
+<!ENTITY lightning.toolbar.edit.label "Editar">
+<!ENTITY lightning.toolbar.edit.tooltip "Editar o evento ou tarefa seleccionada">
+<!ENTITY lightning.toolbar.gototoday.label "Ir ao día actual">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Ir ao día actual">
+<!ENTITY lightning.toolbar.print.label "Imprimir">
+<!ENTITY lightning.toolbar.print.tooltip "Imprimir eventos ou tarefas">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Calendario">
+<!ENTITY lightning.toolbar.calendar.tooltip "Cambiar á lapela calendario">
+<!ENTITY lightning.toolbar.calendar.accesskey "C">
+<!ENTITY lightning.toolbar.task.label "Tarefas">
+<!ENTITY lightning.toolbar.task.tooltip "Cambiar á lapela tarefas">
+<!ENTITY lightning.toolbar.task.accesskey "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Evento">
+<!ENTITY lightning.toolbar.newevent.tooltip "Crear un novo evento">
+<!ENTITY lightning.toolbar.newtask.label "Tarefa">
+<!ENTITY lightning.toolbar.newtask.tooltip "Crear unha nova tarefa">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "Día">
+<!ENTITY lightning.toolbar.day.accesskey "D">
+<!ENTITY lightning.toolbar.week.label "Semana">
+<!ENTITY lightning.toolbar.week.accesskey "S">
+<!ENTITY lightning.toolbar.multiweek.label "Varias semanas">
+<!ENTITY lightning.toolbar.multiweek.accesskey "V">
+<!ENTITY lightning.toolbar.month.label "Mes">
+<!ENTITY lightning.toolbar.month.accesskey "M">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "Menú do aplicativo">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Amosa o menú do &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "Panel de calendario">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "P">
+<!ENTITY lightning.toolbar.calendarpane.label "Amosar panel de calendario">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "p">
diff --git a/l10n-gl/calendar/chrome/lightning/lightning.dtd b/l10n-gl/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 0000000000..96389ba4af
--- /dev/null
+++ b/l10n-gl/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,99 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- WARNING! This file contains UTF-8 encoded characters!
+ - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
+ - your editor isn't using UTF-8 encoding and may munge up the document!
+ -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "Calendar">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "Evento…">
+<!ENTITY lightning.menupopup.new.event.accesskey "E">
+<!ENTITY lightning.menupopup.new.task.label "Tarefa…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "Calendar…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "n">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label "Abrir">
+<!ENTITY lightning.menupopup.open.accesskey "A">
+<!ENTITY lightning.menupopup.open.message.label "Mensaxe gardada…">
+<!ENTITY lightning.menupopup.open.message.accesskey "M">
+<!ENTITY lightning.menupopup.open.calendar.label "Ficheiro de calendario…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "c">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "Calendario">
+<!ENTITY lightning.menu.view.calendar.accesskey "n">
+<!ENTITY lightning.menu.view.tasks.label "Tarefas">
+<!ENTITY lightning.menu.view.tasks.accesskey "T">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Eventos e tarefas">
+<!ENTITY lightning.menu.eventtask.accesskey "n">
+
+<!-- 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 "Correo electrónico:">
+<!-- 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 -->
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Aceptar">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Aceptar invitación ao evento">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Aceptar todo">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Aceptar as invitacións para todas as ocorrencias do evento">
+<!ENTITY lightning.imipbar.btnAdd.label "Engadir">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Engadir o evento ao calendario">
+<!ENTITY lightning.imipbar.btnDecline.label "Rexeitar">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Rexeitar invitación ao evento">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Rexeitar todo">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Rexeitar as invitacións para todas as ocorrencias do evento">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Rexeitar">
+<!ENTITY lightning.imipbar.btnDelete.label "Eliminar">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Eliminar do calendario">
+<!ENTITY lightning.imipbar.btnDetails.label "Detalles…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Amosar os detalles do evento">
+<!ENTITY lightning.imipbar.btnMore.label "Máis">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Prema para amosar máis opcións">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Volver a confirmar">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Envía a confirmación de novo ao organizador">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Gardar unha copia">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Garda unha copia do evento no calendario independentemente da resposta dada ao organizador. Borrarase a lista de asistentes.">
+<!ENTITY lightning.imipbar.btnTentative.label "Aceptar provisionalmente">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Aceptar provisionalmente a invitación ao evento">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Aceptar provisionalmente todas">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Aceptar provisionalmente as invitacións para todas as ocorrencias do evento">
+<!ENTITY lightning.imipbar.btnUpdate.label "Actualizar">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Actualizar evento no calendario">
+<!ENTITY lightning.imipbar.description "Esta mensaxe contén unha invitación a un evento.">
+
+
+<!-- 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 "Crear un novo calendario">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Mostrar o mes reducido">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Mostrar o día reducido">
+<!ENTITY todaypane.showMiniday.accesskey "d">
+<!ENTITY todaypane.showNone.label "Non mostrar nada">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "Mostrar o panel de hoxe">
+<!ENTITY todaypane.showTodayPane.accesskey "o">
+<!ENTITY todaypane.statusButton.label "Panel de hoxe">
diff --git a/l10n-gl/calendar/chrome/lightning/lightning.properties b/l10n-gl/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 0000000000..573ab3ad05
--- /dev/null
+++ b/l10n-gl/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,184 @@
+# 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=Un calendario integrado para o Thunderbird
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Mozilla Calendar Project
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Tarefas
+
+# Tab titles
+tabTitleCalendar=Calendario
+tabTitleTasks=Tarefas
+
+# Html event display in message
+imipHtml.header=Invitación ao evento
+imipHtml.summary=Título:
+imipHtml.location=Localización:
+imipHtml.when=Cando:
+imipHtml.organizer=Organizador:
+imipHtml.description=Descrición:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=Anexos:
+imipHtml.comment=Comentario:
+imipHtml.attendees=Asistentes:
+# 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.canceledOccurrences=Ocorrencias canceladas:
+imipHtml.modifiedOccurrences=Ocorrencias modificadas:
+imipHtml.newLocation=Nova localización: %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
+# 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
+
+# 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.*
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# 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
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an individual attendee
+# 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)
+# 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)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+
+imipBarCancelText=Esta mensaxe contén unha cancelación de evento.
+imipBarRefreshText=Esta mensaxe solicita a actualización dun evento.
+imipBarPublishText=Esta mensaxe contén un evento.
+imipBarRequestText=Esta mensaxe contén unha invitación a un evento.
+imipBarUpdateText=Esta mensaxe contén unha actualización a un evento existente.
+imipBarAlreadyProcessedText=Esta mensaxe contén un evento que xa pasou.
+imipBarProcessedNeedsAction=Esta mensaxe contén un evento ao que aínda non respondeu.
+imipBarReplyText=Esta mensaxe contén unha resposta a unha invitación.
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarUnsupportedText=Esta mensaxe contén un evento que esta versión do Lightning non é posíbel que procese.
+imipBarProcessingFailed=Produciuse un fallo ao procesar a mensaxe. Estado: %1$S.
+imipBarNotWritable=Ningún calendario con permiso de escritura está configurado para invitacións, comprobe as propiedades dos calendarios.
+imipSendMail.title=Notificación por correo electrónico
+imipSendMail.text=Gustaríalle enviar agora a mensaxe de notificación?
+imipSendMail.Outlook2000CompatMode.text=Compatíbel con Outlook 2000 e Outlook 2002/XP
+imipNoIdentity=Ningunha
+imipNoCalendarAvailable=Ningún calendario dispoñíbel para escritura.
+
+itipReplySubject=Resposta á invitación ao evento: %1$S
+itipReplyBodyAccept=%1$S aceptou a súa invitación ao evento.
+itipReplyBodyDecline=%1$S rexeitou a súa invitación ao evento.
+itipReplySubjectAccept=Resposta á invitación ao evento (Aceptada): %1$S
+itipReplySubjectDecline=Resposta á invitación ao evento (Rexeitada): %1$S
+itipReplySubjectTentative=Resposta á invitación ao evento (Provisional): %1$S
+itipRequestSubject=Invitación ao evento: %1$S
+itipRequestUpdatedSubject=Invitación ao evento actualizada: %1$S
+itipRequestBody=%1$S invitouno a %2$S
+itipCancelSubject=Cancelouse o evento: %1$S
+itipCancelBody=%1$S cancelou este evento: « %2$S »
+
+confirmProcessInvitation=Recentemente eliminou este elemento, confirma que quere enviar esta invitación?
+confirmProcessInvitationTitle=Enviar a invitación?
+
+invitationsLink.label=Invitacións: %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=Non foi posíbel cargar o compoñente binario requirido para %1$S, probabelmente porque se está usando unha combinación errónea de versións. Actualmente ten %1$S %2$S instalado, pero debería usar unha versión da serie %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=Non foi posíbel cargar o compoñente requirido para %1$S, probabelmente porque se está usando unha combinación errónea de versións. Está usando %2$S %3$S xunto con %1$S %4$S. Comprobe https://developer.mozilla.org/en/Calendar/Calendar_Versions para máis detalles.
+
+# 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=Versión %1$S incorrecta
+
+# LOCALIZATION_NOTE(integrationLabel): Used by the notification bar shown when
+# Lightning is installed from the distribution folder. To trigger it, start a
+# new profile without Lightning in a previous Thunderbird version, then upgrade
+# to a Thunderbird that has Lightning packaged. See bug 1130852 for details.
+integrationLabel=%1$S contén agora a funcionalidade de calendario integrando a extensión %2$S.
+integrationLearnMoreButton=Máis información
+integrationLearnMoreAccessKey=m
+integrationOptOutButton=Desactivar
+integrationOptOutAccessKey=D
+integrationKeepItButton=Conservar
+integrationKeepItAccessKey=v
+
+# LOCALIZATION_NOTE(integrationRestartLabel): At the current time its not yet
+# clear if we will be completely uninstalling Lightning or disabling it. Please
+# translate this string in a general manner, so that it makes sense for both
+# options.
+integrationRestartLabel=A próxima vez que reinicie %2$S retirarase %1$S. Pode engadilo de novo en calquera momento usando o Xestor de complementos.
+integrationRestartButton=Reiniciar agora
+integrationRestartAccessKey=R
+integrationUndoButton=Desfacer
+integrationUndoAccessKey=f
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
diff --git a/l10n-gl/calendar/lightning-l10n.js b/l10n-gl/calendar/lightning-l10n.js
new file mode 100644
index 0000000000..868504b8f3
--- /dev/null
+++ b/l10n-gl/calendar/lightning-l10n.js
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#filter substitution
+
+# the default day to start the week on
+#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
+pref("calendar.week.start", 0);
+
+# default days off (not in work week)
+pref("calendar.week.d0sundaysoff", true);
+pref("calendar.week.d1mondaysoff", false);
+pref("calendar.week.d2tuesdaysoff", false);
+pref("calendar.week.d3wednesdaysoff", false);
+pref("calendar.week.d4thursdaysoff", false);
+pref("calendar.week.d5fridaysoff", false);
+pref("calendar.week.d6saturdaysoff", true);
+
+pref("general.useragent.locale", "@AB_CD@");
+
+# categories
+pref("calendar.categories.names", "Anniversary,Birthday,Business,Calls,Clients,Competition,Customer,Favorites,Follow up,Gifts,Holidays,Ideas,Issues,Meeting,Miscellaneous,Personal,Projects,Public Holiday,Status,Suppliers,Travel,Vacation");