summaryrefslogtreecommitdiffstats
path: root/l10n-es-MX/calendar
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /l10n-es-MX/calendar
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--l10n-es-MX/calendar/calendar/calendar-context-menus.ftl7
-rw-r--r--l10n-es-MX/calendar/calendar/calendar-ics-file-dialog.ftl22
-rw-r--r--l10n-es-MX/calendar/calendar/calendar-summary-dialog.ftl15
-rw-r--r--l10n-es-MX/calendar/calendar/calendar-uri-redirect-dialog.ftl11
-rw-r--r--l10n-es-MX/calendar/calendar/calendar-widgets.ftl6
-rw-r--r--l10n-es-MX/calendar/calendar/category-dialog.ftl7
-rw-r--r--l10n-es-MX/calendar/calendar/preferences.ftl186
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-alarms.properties39
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.dtd433
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.properties541
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-extract.properties294
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.properties10
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd14
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar.dtd411
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendar.properties818
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendarCreation.dtd51
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/calendarCreation.properties6
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/categories.properties7
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/dateFormat.properties146
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/global.dtd54
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/menuOverlay.dtd50
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/migration.dtd9
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/migration.properties13
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/provider-uninstall.dtd12
-rw-r--r--l10n-es-MX/calendar/chrome/calendar/timezones.properties488
-rw-r--r--l10n-es-MX/calendar/chrome/lightning/lightning-toolbar.dtd51
-rw-r--r--l10n-es-MX/calendar/chrome/lightning/lightning.dtd116
-rw-r--r--l10n-es-MX/calendar/chrome/lightning/lightning.properties201
33 files changed, 4141 insertions, 0 deletions
diff --git a/l10n-es-MX/calendar/calendar/calendar-context-menus.ftl b/l10n-es-MX/calendar/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..990839b536
--- /dev/null
+++ b/l10n-es-MX/calendar/calendar/calendar-context-menus.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/.
+
+calendar-item-context-menu-modify-menuitem =
+ .label = Editar
+ .accesskey = E
diff --git a/l10n-es-MX/calendar/calendar/calendar-ics-file-dialog.ftl b/l10n-es-MX/calendar/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..9a285a9575
--- /dev/null
+++ b/l10n-es-MX/calendar/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-ics-file-window =
+ .title = Importar eventos del calendario
+calendar-ics-file-dialog =
+ .buttonlabelaccept = Importar
+calendar-ics-file-window-2 =
+ .title = Importar eventos y tareas del calendario
+calendar-ics-file-dialog-import-event-button-label = Importar evento
+calendar-ics-file-dialog-import-task-button-label = Importar tarea
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = Importar todo
+calendar-ics-file-accept-button-ok-label = Aceptar
+# $fileName (string) - The name of the file.
+calendar-ics-file-dialog-message = ¿Quieres importar el archivo "{ $fileName }"?
+calendar-ics-file-dialog-message-2 = Importar desde archivo:
+calendar-ics-file-dialog-calendar-menu-label = Importar al calendario:
+calendar-ics-file-import-success = ¡Importado correctamente!
+calendar-ics-file-import-error = Ha ocurrido un error y el archivo no se pudo importar.
+calendar-ics-file-dialog-no-calendars = No hay calendarios que puedan importar eventos o tareas.
diff --git a/l10n-es-MX/calendar/calendar/calendar-summary-dialog.ftl b/l10n-es-MX/calendar/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..cbcbee71b2
--- /dev/null
+++ b/l10n-es-MX/calendar/calendar/calendar-summary-dialog.ftl
@@ -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/.
+
+calendar-summary-dialog-edit-button =
+ .label = Editar
+ .accesskey = E
+calendar-summary-dialog-edit-menu-button =
+ .label = Editar
+edit-button-context-menu-this-occurrence =
+ .label = Editar solo esta ocurrencia
+ .accesskey = t
+edit-button-context-menu-all-occurrences =
+ .label = Editar todas las ocurrencias
+ .accesskey = a
diff --git a/l10n-es-MX/calendar/calendar/calendar-uri-redirect-dialog.ftl b/l10n-es-MX/calendar/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..65c31808b5
--- /dev/null
+++ b/l10n-es-MX/calendar/calendar/calendar-uri-redirect-dialog.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-uri-redirect-window =
+ .title = Calendario URI Redireccinado
+calendar-uri-redirect-description =
+ El servidor está redireccionando el URI para el calendario "{ $calendarName }".
+ ¿Aceptas la redirección y comienzas a usar el nuevo URI para este calendario?
+calendar-uri-redirect-original-uri-label = URI actual:
+calendar-uri-redirect-target-uri-label = Redireccionando al nuevo URI:
diff --git a/l10n-es-MX/calendar/calendar/calendar-widgets.ftl b/l10n-es-MX/calendar/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..846024e89c
--- /dev/null
+++ b/l10n-es-MX/calendar/calendar/calendar-widgets.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-deactivated-notification-events = Todos los calendarios están deshabilitados en este momento. Habilita un calendario existente o agrega uno nuevo para crear y editar eventos.
+calendar-deactivated-notification-tasks = Todos los calendarios están deshabilitados en este momento. Habilita un calendario existente o agrega uno nuevo para crear y editar tareas.
diff --git a/l10n-es-MX/calendar/calendar/category-dialog.ftl b/l10n-es-MX/calendar/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..f7ca7cf5cd
--- /dev/null
+++ b/l10n-es-MX/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 = Nombre
+category-color-label =
+ .label = Usar color
diff --git a/l10n-es-MX/calendar/calendar/preferences.ftl b/l10n-es-MX/calendar/calendar/preferences.ftl
new file mode 100644
index 0000000000..706c382048
--- /dev/null
+++ b/l10n-es-MX/calendar/calendar/preferences.ftl
@@ -0,0 +1,186 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-title = Calendario
+calendar-title-reminder = Recordatorios
+calendar-title-category = Categorías
+dateformat-label =
+ .value = Formato de la fecha:
+ .accesskey = D
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Largo: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Corto: { $date }
+timezone-label =
+ .value = Huso horario:
+weekstart-label =
+ .value = Empezar la semana el:
+ .accesskey = r
+day-1-name =
+ .label = Dom
+day-2-name =
+ .label = Lunes
+day-3-name =
+ .label = Martes
+day-4-name =
+ .label = Miércoles
+day-5-name =
+ .label = Jueves
+day-6-name =
+ .label = Viernes
+day-7-name =
+ .label = Sábado
+show-weeknumber-label =
+ .label = Mostrar número de semana en vistas y mini mes
+ .accesskey = n
+workdays-label =
+ .value = Días laborables:
+day-1-checkbox =
+ .label = Dom
+ .accesskey = S
+day-2-checkbox =
+ .label = Lun
+ .accesskey = M
+day-3-checkbox =
+ .label = Mar
+ .accesskey = T
+day-4-checkbox =
+ .label = Mié
+ .accesskey = W
+day-5-checkbox =
+ .label = Jue
+ .accesskey = h
+day-6-checkbox =
+ .label = Vie
+ .accesskey = F
+day-7-checkbox =
+ .label = Sáb
+ .accesskey = a
+dayweek-legend = Vistas de día y semana
+visible-hours-label =
+ .value = Mostrar:
+ .accesskey = o
+visible-hours-end-label =
+ .value = horas a la vez
+day-start-label =
+ .value = El día comienza a la(s):
+ .accesskey = D
+day-end-label =
+ .value = El día termina a las:
+ .accesskey = y
+midnight-label =
+ .label = Medianoche
+noon-label =
+ .label = Mediodía
+location-checkbox =
+ .label = Mostrar ubicación
+ .accesskey = L
+multiweek-legend = Vistas para múltiples semanas
+number-of-weeks-label =
+ .value = Número de semanas que se muestran (incluso las semanas anteriores):
+ .accesskey = e
+week-0-label =
+ .label = ninguno
+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 que se muestran:
+ .accesskey = P
+todaypane-legend = Vista de hoy
+# 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 = La próxima sección muestra:
+ .accesskey = U
+event-task-legend = Eventos y tareas
+default-length-label =
+ .value = Evento predeterminado y longitud de la tarea:
+ .accesskey = E
+task-start-label =
+ .value = Fecha de inicio:
+task-start-1-label =
+ .label = Ninguna
+task-start-2-label =
+ .label = Inicio del día
+task-start-3-label =
+ .label = Final del día
+task-start-4-label =
+ .label = Mañana
+task-start-5-label =
+ .label = La próxima semana
+task-start-6-label =
+ .label = Relativo a la hora actual
+task-start-7-label =
+ .label = Relativo al inicio
+task-start-8-label =
+ .label = Relativo a la siguiente hora
+task-due-label =
+ .value = Fecha de fin:
+edit-intab-label =
+ .label = Editar eventos y tareas en una pestaña en lugar de una ventana de diálogo.
+ .accesskey = t
+accessibility-legend = Accesibilidad
+accessibility-colors-label =
+ .label = Optimizar colores para accesibilidad
+ .accesskey = c
+reminder-legend = Cuando se vence un recordatorio:
+reminder-play-checkbox =
+ .label = Reproducir un sonido
+ .accesskey = s
+reminder-play-alarm-button =
+ .label = Reproducir
+ .accesskey = P
+reminder-default-sound-label =
+ .label = Usar un sonido predeterminado
+ .accesskey = d
+reminder-custom-sound-label =
+ .label = Usar el siguiente archivo de sonido
+ .accesskey = U
+reminder-browse-sound-label =
+ .label = Navegar…
+ .accesskey = B
+reminder-dialog-label =
+ .label = Mostrar el diálogo del recordatorio
+ .accesskey = x
+missed-reminder-label =
+ .label = Mostrar recordatorios fallados para calendarios editables
+ .accesskey = m
+reminder-default-legend = Valores predeterminados para recordatorios
+default-snooze-label =
+ .value = Longitud de pausa predeterminada:
+ .accesskey = S
+event-alarm-label =
+ .value = Configuración recordatorio predeterminada para eventos:
+ .accesskey = e
+alarm-on-label =
+ .label = Activar
+alarm-off-label =
+ .label = Desactivar
+task-alarm-label =
+ .value = Configuración de recordatorio predeterminada para tareas:
+ .accesskey = a
+event-alarm-time-label =
+ .value = Hora predeterminada de activación de un recordatorio antes de un evento:
+ .accesskey = u
+task-alarm-time-label =
+ .value = Hora predeterminada de activación de un recordatorio antes de una tarea:
+ .accesskey = o
+category-new-label = Nueva categoría
+category-edit-label = Editar categoría
+category-overwrite-title = Advertencia: nombre duplicado
+category-overwrite = Ya existe una categoría con ese nombre. ¿Quieres sobrescribirla?
+category-blank-warning = Debes introducir un nombre de categoría.
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-alarms.properties b/l10n-es-MX/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..157c6adb59
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=El momento en que comienza el evento
+reminderTitleAtStartTask=El momento en el que la tarea comienza
+reminderTitleAtEndEvent=El momento en el que el evento termina
+reminderTitleAtEndTask=El momento en el que la tarea termina
+
+# 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=Recordatorio de silenciar para %1$S
+
+reminderCustomOriginBeginBeforeEvent=antes que el evento inicie
+reminderCustomOriginBeginAfterEvent=después que el evento inicie
+reminderCustomOriginEndBeforeEvent=antes que el evento termine
+reminderCustomOriginEndAfterEvent=después que el evento termine
+reminderCustomOriginBeginBeforeTask=antes que la tarea comience
+reminderCustomOriginBeginAfterTask=después que la tarea inicie
+reminderCustomOriginEndBeforeTask=antes que la tarea termine
+reminderCustomOriginEndAfterTask=después que la tarea termine
+
+reminderErrorMaxCountReachedEvent=El calendario seleccionado tiene una limitación de #1 recordatorio por evento.;El calendario seleccionado tiene una limitación de #1 recordatorios por evento.
+reminderErrorMaxCountReachedTask=El calendario seleccionado tiene una limitación de #1 recordatorio por tarea.;El calendario seleccionado tiene una limitación de #1 recordatorios por tarea.
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calendars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=Los recordatorios para los calendarios de solo lectura, actualmente no pueden ser silenciados, solo descartados. El botón '%1$S' solo silenciará recordatorios para calendarios que se puedan escribir.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=Silenciar un recordatorio no está soportado para calendarios de solo lectura
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..4621ed083a
--- /dev/null
+++ b/l10n-es-MX/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 requerido
+event.attendee.role.optional = Asistente opcional
+event.attendee.role.nonparticipant = No participante
+event.attendee.role.chair = Preside
+event.attendee.role.unknown = Asistente desconocido (%1$S)
+
+event.attendee.usertype.individual = Individual
+event.attendee.usertype.group = Grupo
+event.attendee.usertype.resource = Recurso
+event.attendee.usertype.room = Salón
+event.attendee.usertype.unknown = Tipo desconocido (%1$S)
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..c5a0c8b25e
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,433 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY event.title.label "Editar Ítem" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Mantener duración al cambiar la fecha final">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label "De" >
+<!ENTITY newevent.to.label "A" >
+
+<!ENTITY newevent.status.label "Estado" >
+<!ENTITY newevent.status.accesskey "S" >
+<!ENTITY newevent.eventStatus.none.label "No especificado" >
+<!ENTITY newevent.eventStatus.none.accesskey "o" >
+<!ENTITY newevent.todoStatus.none.label "No especificado" >
+<!ENTITY newevent.eventStatus.cancelled.label "Cancelado" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "n" >
+<!ENTITY newevent.todoStatus.cancelled.label "Cancelado" >
+<!ENTITY newevent.status.tentative.label "Tentativo" >
+<!ENTITY newevent.status.tentative.accesskey "T" >
+<!ENTITY newevent.status.confirmed.label "Confirmado" >
+<!ENTITY newevent.status.confirmed.accesskey "C" >
+<!ENTITY newevent.status.needsaction.label "Necesita atención" >
+<!ENTITY newevent.status.inprogress.label "En proceso" >
+<!ENTITY newevent.status.completed.label "Completado en" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#37; completado">
+
+<!-- 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 "Separar invitación por asistente">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "x">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Esta opción envía un correo de invitación por asistente. Cada invitación incluye únicamente al asistente receptor para que las identidades de otros asistentes no sea descubierta.">
+<!ENTITY event.attendees.disallowcounter.label "Desactivar contador">
+<!ENTITY event.attendees.disallowcounter.accesskey "a">
+<!ENTITY event.attendees.disallowcounter.tooltip "Indica que no se aceptarán contraofertas">
+
+<!-- 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 "Nuevo">
+<!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 "Tarea">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "Mensaje">
+<!ENTITY event.menu.item.new.message.accesskey "M">
+<!ENTITY event.menu.item.new.contact.label "Libro de contactos">
+<!ENTITY event.menu.item.new.contact.accesskey "C">
+<!ENTITY event.menu.item.close.label "Cerrar">
+<!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 "Guardar">
+<!ENTITY event.menu.item.save.accesskey "S">
+<!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 "Guardar y Cerrar">
+<!ENTITY event.menu.item.saveandclose.accesskey "l">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "z">
+
+<!ENTITY event.menu.item.delete.label "Borrar…">
+<!ENTITY event.menu.item.delete.accesskey "D">
+<!ENTITY event.menu.item.page.setup.label "Ajuste de Página">
+<!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 "Deshacer">
+<!ENTITY event.menu.edit.undo.accesskey "U">
+<!ENTITY event.menu.edit.redo.label "Rehacer">
+<!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 herramientas">
+<!ENTITY event.menu.view.toolbars.accesskey "T">
+<!ENTITY event.menu.view.toolbars.event.label "Barra 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 "C">
+<!ENTITY event.menu.view.showlink.label "Mostrar enlaces relacionados">
+<!ENTITY event.menu.view.showlink.accesskey "R">
+
+<!ENTITY event.menu.options.label "Opciones">
+<!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 "Mostrar husos horarios">
+<!ENTITY event.menu.options.timezone2.accesskey "z">
+<!ENTITY event.menu.options.priority2.label "Prioridad">
+<!ENTITY event.menu.options.priority2.accesskey "y">
+<!ENTITY event.menu.options.priority.notspecified.label "No especificado">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "o">
+<!ENTITY event.menu.options.priority.low.label "Baja">
+<!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 "Privacidad">
+<!ENTITY event.menu.options.privacy.accesskey "P">
+<!ENTITY event.menu.options.privacy.public.label "Evento Publico">
+<!ENTITY event.menu.options.privacy.public.accesskey "u">
+<!ENTITY event.menu.options.privacy.confidential.label "Mostrar horario y fecha solamente">
+<!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 "Mostrar horario 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 "B">
+<!ENTITY event.menu.options.show.time.free.label "Libre">
+<!ENTITY event.menu.options.show.time.free.accesskey "F">
+
+<!ENTITY event.invite.attendees.label "Invitar asistentes…">
+<!ENTITY event.invite.attendees.accesskey "I">
+<!ENTITY event.email.attendees.label "Redactar correo a todos los asistentes…">
+<!ENTITY event.email.attendees.accesskey "A">
+<!ENTITY event.email.tentative.attendees.label "Redactar correo electrónico a los participantes indecisos…">
+<!ENTITY event.email.tentative.attendees.accesskey "U">
+<!ENTITY event.remove.attendees.label2 "Remover todos los asistentes">
+<!ENTITY event.remove.attendees.accesskey "r">
+<!ENTITY event.remove.attendee.label "Remover asistente">
+<!ENTITY event.remove.attendee.accesskey "e">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Guardar">
+<!ENTITY event.toolbar.saveandclose.label "Guardar y Cerrar">
+<!ENTITY event.toolbar.delete.label "Borrar">
+<!ENTITY event.toolbar.attendees.label "Invitar Asistentes">
+<!ENTITY event.toolbar.privacy.label "Privacidad">
+
+<!ENTITY event.toolbar.save.tooltip2 "Guardar">
+<!ENTITY event.toolbar.saveandclose.tooltip "Guardar y Cerrar">
+<!ENTITY event.toolbar.delete.tooltip "Borrar">
+<!ENTITY event.toolbar.attendees.tooltip "Invitar Asistentes">
+<!ENTITY event.toolbar.attachments.tooltip "Agregar Adjuntos">
+<!ENTITY event.toolbar.privacy.tooltip "Cambiar Privacidad">
+<!ENTITY event.toolbar.priority.tooltip "Cambiar Prioridad">
+<!ENTITY event.toolbar.status.tooltip "Cambiar Estado">
+<!ENTITY event.toolbar.freebusy.tooltip "Cambiar tiempo 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 propuesta">
+<!ENTITY counter.button.proposal.accesskey "p">
+<!ENTITY counter.button.proposal.tooltip2 "Los campos de eventos se llenarán usando los valores de la contrapropuesta, guardando con o sin cambios adicionales notificará a todos los participantes en consecuencia">
+<!ENTITY counter.button.original.label "Aplicar datos originales">
+<!ENTITY counter.button.original.accesskey "r">
+<!ENTITY counter.button.original.tooltip2 "Los campos se establecerán con los valores del evento original, antes de la contrapropuesta">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Título:" >
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Ubicación:" >
+<!ENTITY event.location.accesskey "U">
+<!ENTITY event.categories.label "Categoría:">
+<!ENTITY event.categories.accesskey "y">
+<!ENTITY event.categories.textbox.label "Agregar nueva categoría" >
+<!ENTITY event.calendar.label "Calendario:" >
+<!ENTITY event.calendar.accesskey "C">
+<!ENTITY event.attendees.label "Asistentes:" >
+<!ENTITY event.attendees.accesskey "n">
+<!ENTITY event.alldayevent.label "Evento de todo el 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 "Fin:" >
+<!ENTITY event.to.accesskey "u">
+<!ENTITY task.to.label "Fecha de fin:" >
+<!ENTITY task.to.accesskey "u">
+<!ENTITY task.status.label "Estado:" >
+<!ENTITY task.status.accesskey "a">
+<!ENTITY event.repeat.label "Repetir:" >
+<!ENTITY event.repeat.accesskey "R">
+<!ENTITY event.until.label "Hasta:">
+<!ENTITY event.until.accesskey "B">
+<!ENTITY event.reminder.label "Recordatorio:" >
+<!ENTITY event.reminder.accesskey "m">
+<!ENTITY event.description.label "Descripción:" >
+<!ENTITY event.description.accesskey "p">
+<!ENTITY event.attachments.label "Adjuntos:" >
+<!ENTITY event.attachments.accesskey "h" >
+<!ENTITY event.attachments.menubutton.label "Adjuntar">
+<!ENTITY event.attachments.menubutton.accesskey "A">
+<!ENTITY event.attachments.url.label "Página web…">
+<!ENTITY event.attachments.url.accesskey "W">
+<!ENTITY event.attachments.popup.remove.label "Eliminar" >
+<!ENTITY event.attachments.popup.remove.accesskey "R" >
+<!ENTITY event.attachments.popup.open.label "Abrir" >
+<!ENTITY event.attachments.popup.open.accesskey "O" >
+<!ENTITY event.attachments.popup.removeAll.label "Eliminar Todo" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "E" >
+<!ENTITY event.attachments.popup.attachPage.label "Adjuntar página web…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "g" >
+<!ENTITY event.url.label "Enlace relacionado:" >
+<!ENTITY event.priority2.label "Prioridad:">
+
+<!ENTITY event.reminder.none.label "Sin 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 "Recordatorios múltiples…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Hora como:">
+<!ENTITY event.statusbarpanel.privacy.label "Privacidad:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Editar recurrencia">
+
+<!ENTITY event.repeat.does.not.repeat.label "No repetir">
+<!ENTITY event.repeat.daily.label "Diario">
+<!ENTITY event.repeat.weekly.label "Semanal">
+<!ENTITY event.repeat.every.weekday.label "Cada día de la semana">
+<!ENTITY event.repeat.bi.weekly.label "Quincenal">
+<!ENTITY event.repeat.monthly.label "Mensual">
+<!ENTITY event.repeat.yearly.label "Anual">
+<!ENTITY event.repeat.custom.label "Personalizar…">
+
+<!ENTITY event.recurrence.pattern.label "Patrón de recurrencia">
+<!ENTITY event.recurrence.occurs.label "Repetir" >
+<!ENTITY event.recurrence.day.label "diario" >
+<!ENTITY event.recurrence.week.label "semanal" >
+<!ENTITY event.recurrence.month.label "mensual" >
+<!ENTITY event.recurrence.year.label "anual" >
+
+<!ENTITY event.recurrence.pattern.every.label "Cada" >
+<!ENTITY repeat.units.days.both "Día(s)" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Cada día de la 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 "El primer">
+<!ENTITY event.recurrence.monthly.second.label "El segundo">
+<!ENTITY event.recurrence.monthly.third.label "El tercero">
+<!ENTITY event.recurrence.monthly.fourth.label "El cuarto">
+<!ENTITY event.recurrence.monthly.fifth.label "El quinto">
+<!ENTITY event.recurrence.monthly.last.label "El último">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Domingo" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Lunes" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Martes" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Miércoles" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Jueves" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Viernes" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Sábado" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Día del mes">
+<!ENTITY event.recurrence.repeat.recur.label "Repetir en día(s)">
+
+<!ENTITY event.recurrence.every.label "Cada:" >
+<!ENTITY repeat.units.years.both "Año(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 "Enero" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Febrero" >
+<!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 "Mayo" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Junio" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Julio" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Agosto" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "Septiembre" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Octubre" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "Noviembre" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Diciembre" >
+<!ENTITY event.recurrence.yearly.every.label "Cada">
+<!ENTITY event.recurrence.yearly.first.label "El primero">
+<!ENTITY event.recurrence.yearly.second.label "El segundo">
+<!ENTITY event.recurrence.yearly.third.label "El tercero">
+<!ENTITY event.recurrence.yearly.fourth.label "El cuarto">
+<!ENTITY event.recurrence.yearly.fifth.label "El quinto">
+<!ENTITY event.recurrence.yearly.last.label "El último">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Domingo" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Lunes" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Martes" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Miércoles" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Jueves" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Viernes" >
+<!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 "Enero" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Febrero" >
+<!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 "Mayo" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Junio" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Julio" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Agosto" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Septiembre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Octubre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Noviembre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Diciembre" >
+
+<!ENTITY event.recurrence.range.label "Rango de recurrencia">
+<!ENTITY event.recurrence.forever.label "Sin fecha final" >
+<!ENTITY event.recurrence.repeat.for.label "Crear" >
+<!ENTITY event.recurrence.appointments.label "Cita(s)" >
+<!ENTITY event.repeat.until.label "Repetir hasta" >
+<!ENTITY event.recurrence.preview.label "Vista previa">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Invitar asistentes">
+<!ENTITY event.organizer.label "Organizar">
+<!ENTITY event.freebusy.suggest.slot "Sugerir intervalo de tiempo:">
+<!ENTITY event.freebusy.button.next.slot "Próximo intervalo">
+<!ENTITY event.freebusy.button.previous.slot "Intervalo anterior">
+<!ENTITY event.freebusy.zoom "Zoom:">
+<!ENTITY event.freebusy.legend.free "Libre" >
+<!ENTITY event.freebusy.legend.busy "Ocupado" >
+<!ENTITY event.freebusy.legend.busy_tentative "Tentativo" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Fuera de la oficina" >
+<!ENTITY event.freebusy.legend.unknown "Sin información" >
+<!ENTITY event.attendee.role.required "Asistencia obligatoria">
+<!ENTITY event.attendee.role.optional "Asistencia opcional">
+<!ENTITY event.attendee.role.chair "Coordinador">
+<!ENTITY event.attendee.role.nonparticipant "No participante">
+<!ENTITY event.attendee.usertype.individual "Individual">
+<!ENTITY event.attendee.usertype.group "Grupo">
+<!ENTITY event.attendee.usertype.resource "Recurso">
+<!ENTITY event.attendee.usertype.room "Salón">
+<!ENTITY event.attendee.usertype.unknown "Desconocido">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Por favor, especifique el huso horario">
+<!ENTITY event.timezone.custom.label "Más husos horarios…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "General">
+<!ENTITY read.only.title.label "Título:">
+<!ENTITY read.only.calendar.label "Calendario:">
+<!ENTITY read.only.event.start.label "Fecha de inicio:">
+<!ENTITY read.only.task.start.label "Fecha de inicio:">
+<!ENTITY read.only.event.end.label "Fecha de fin:">
+<!ENTITY read.only.task.due.label "Fecha de fin:">
+<!ENTITY read.only.repeat.label "Repetir:">
+<!ENTITY read.only.location.label "Ubicació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 "Participaré">
+<!ENTITY read.only.decline.label "No participaré">
+<!ENTITY read.only.tentative.label "Podría participar">
+<!ENTITY read.only.needs.action.label "Confirmaré después">
+<!ENTITY read.only.reminder.label "Recordatorio:">
+<!ENTITY read.only.attachments.label "Adjuntos:">
+<!ENTITY read.only.attendees.label "Asistentes">
+<!ENTITY read.only.description.label "Descripción">
+<!ENTITY read.only.link.label "Enlaces relacionados">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Guardar y cerrar">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Guardar los cambios y cerrar la ventana sin cambiar el estado de participación y enviar una respuesta">
+<!ENTITY summary.dialog.accept.label "Aceptar">
+<!ENTITY summary.dialog.accept.tooltiptext "Aceptar la invitación">
+<!ENTITY summary.dialog.tentative.label "Tentativo">
+<!ENTITY summary.dialog.tentative.tooltiptext "Aceptar la invitación tentativamente">
+<!ENTITY summary.dialog.decline.label "Rechazar">
+<!ENTITY summary.dialog.decline.tooltiptext "Rechazar la invitación">
+<!ENTITY summary.dialog.dontsend.label "No enviar una respuesta">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Cambiar tu estado de participación sin enviar una respuesta al organizador y cerrar la ventana">
+<!ENTITY summary.dialog.send.label "Enviar una respuesta ahora">
+<!ENTITY summary.dialog.send.tooltiptext "Enviar una respuesta al organizador y cerrar la ventana">
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..d1196b4bfe
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=cada día;cada #1 días
+repeatDetailsRuleDaily4=cada día de la 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 los %1$S
+weeklyNthOnNounclass2=cada %1$S;cada #2 semanas los %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=Lunes
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Martes
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Miércoles
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Jueves
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Viernes
+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=y
+
+# 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=día %1$S;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=el último día del mes; el ú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 del mes 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=el primer
+repeatOrdinal2Nounclass1=el segundo
+repeatOrdinal3Nounclass1=el tercer
+repeatOrdinal4Nounclass1=el cuarto
+repeatOrdinal5Nounclass1=el quinto
+repeatOrdinal-1Nounclass1=el último
+repeatOrdinal1Nounclass2=la primera
+repeatOrdinal2Nounclass2=la segunda
+repeatOrdinal3Nounclass2=la tercera
+repeatOrdinal4Nounclass2=la cuarta
+repeatOrdinal5Nounclass2=la quinta
+repeatOrdinal-1Nounclass2=la última
+
+# 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 %1$S %2$S;cada #3 años el %2$S de %1$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=%1$S %2$S de cada %3$S;cada #4 años el %1$S %2$S de %3$S
+yearlyNthOnNthOfNounclass2=%1$S %2$S de cada %3$S;cada #4 años el %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 #3 años en cada %1$S de %2$S
+yearlyOnEveryNthOfNthNounclass2=cada %1$S de %2$S;cada #3 años en cada %1$S de %2$S
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+yearlyEveryDayOf=cada día de %1$S;cada día de %1$S cada #2 años
+
+repeatDetailsMonth1=Enero
+repeatDetailsMonth2=Febrero
+repeatDetailsMonth3=Marzo
+repeatDetailsMonth4=Abril
+repeatDetailsMonth5=Mayo
+repeatDetailsMonth6=Junio
+repeatDetailsMonth7=Julio
+repeatDetailsMonth8=Agosto
+repeatDetailsMonth9=Septiembre
+repeatDetailsMonth10=Octubre
+repeatDetailsMonth11=Noviembre
+repeatDetailsMonth12=Diciembre
+
+# 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=Ocurre %1$S\nefectivo %2$S por #5 vez\ndesde %3$S a %4$S.;Ocurre %1$S\nefectivo %2$S por #5 veces\ndesde %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=Ocurre %1$S\nefectivo %2$S por #3 vez.;Ocurre %1$S\nefectivo %2$S por #3 vez.
+
+# 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=Ocurre %1$S\nefectivo %2$S hasta %3$S\ndesde %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=Ocurre %1$S\nefectivo %2$S hasta %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=Ocurre %1$S\nefectivo %2$S\ndesde %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=Ocurre %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=el ú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=Haz clic aquí para más 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 de repetición desconocidos
+
+# differences between the dialog for an Event or a Task
+newEvent=Nuevo evento
+newTask=Nueva Tarea
+itemMenuLabelEvent=Evento
+itemMenuAccesskeyEvent2=T
+itemMenuLabelTask=Tarea
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Por favor, especifica la ubicación del enlace
+enterLinkLocation=Ingresa una página web o ubicación del documento.
+
+summaryDueTaskLabel=Vencimiento:
+
+# Attach File Dialog
+attachViaFilelink=Archivo usando %1$S
+selectAFile=Por favor, selecciona el archivo(s) a adjuntar
+removeCalendarsTitle=Eliminar adjuntos
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=¿Realmente deseas eliminar #1 adjunto?;¿Realmente desea eliminar #1 adjuntos?
+
+# 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=falso
+
+# 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=Lunes
+repeatDetailsDay3Plural=Martes
+repeatDetailsDay4Plural=Miércoles
+repeatDetailsDay5Plural=Jueves
+repeatDetailsDay6Plural=Viernes
+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=Para siempre
+
+# 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
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S ha aceptado la invitación, pero ha hecho una contrapropuesta:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S ha declinado la invitación, pero ha hecho una contrapropuesta:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S ha delegado la invitación, pero ha hecho una contrapropuesta:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S no ha decidido si participar y hacer una contrapropuesta:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S ha aceptado la invitación sólo tentativamente e hizo una contrapropuesta:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Esta es una contrapropuesta a una versión previa de este evento.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Tú deshabilitaste oponerse cuando enviaste la invitación.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Aceptaste esta invitación
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Aceptaste esta invitación tentativamente
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Declinaste esta invitación
+
+# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her participation to one
+# or more other participants (without attending / working on it his/herself)
+eventDelegated=Delegaste esta invitación
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=No has respondido a esta invitación
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Aceptaste trabajar en esta tarea
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Aceptaste tentativamente trabajar en esta tarea
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Declinaste trabajar en esta tarea
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignement to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=Delegaste el trabajo en esta tarea
+
+# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to the task assignment
+taskNeedsAction=Aún no has respondido a esta asignación de tarea
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Comenzaste a trabajar en esta tarea asignada
+
+# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification
+# in the summary dialog if the user has completed the work on this assigned task
+taskCompleted=Completaste tu trabajo en esta tarea asignada
+
+# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for
+# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonLabel=Enviar y cerrar
+
+# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for
+# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonTooltip=Notificar a los participantes y cerrar
+
+# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for
+# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonLabel=Guardar y enviar
+
+# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement
+# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonTooltip=Guardar y notificar a los participantes
+
+# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for
+# event.menu.item.save.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendMenuLabel=Guardar y enviar
+
+# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for
+# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+sendandcloseMenuLabel=Enviar y cerrar
+
+# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for
+# event.attendees.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attendee
+# %1$S - the number of attendee (1-n)
+attendeesTabLabel=Participantes (%1$S):
+
+# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for
+# event.attachments.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attachment
+# %1$S - the number of attachments (1-n)
+attachmentsTabLabel=Adjuntos (%1$S):
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-extract.properties b/l10n-es-MX/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..195885a6d0
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# pattern. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix =
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = para | hasta | - | y |
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = para | hasta | - | hasta | y | entrega: | termina | el plazo se vence | fecha de entrega:
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+no.datetime.prefix = semana pasada | enviado | correo | correo electrónico | en vez de | > | desafortunadamente | en | no
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = floor | flr | : | email | e-mail | > | % | usd | dollars | $
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = hoy
+
+from.tomorrow = mañana
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+# should not have "#1" as this would match any single number in email to a time
+from.ordinal.date = #1o | #1o | #1o | #1o
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = mediodía
+until.noon =
+
+# LOCALIZATION NOTE (from.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should not have "#1" as this would match any single number in email to a time
+from.hour = a las #1 | al rededor de las #1 | #1 - | #1 a
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour = - #1 | a #1 | hasta #1 | por #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = #1 am | #1 a.m.
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.pm = #1 pm | #1 p.m. | #1 p
+
+# LOCALIZATION NOTE (until.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = media hora antes de la(s) #1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = media hora después de la(s) #1
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | a #1#2
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes =
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.am = #1:#2 am | #1:#2 a.m.
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.pm = #1:#2 pm | #1:#2 p.m. | #1:#2 p
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+from.monthname.day = #1 #2 | #2 #1 | #2 #1ero | #2 #1do | #2 #1cer | #2 #1to | #1ero de #2 | #1do de #2 | #1ero de #2 | #1ero de #2
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #2/#1
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day =
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+from.year.month.day = #2/#1/#3 | #3/#2/#1 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day =
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+from.year.monthname.day = #1 #2 #3 | #1ero #2 #3 | #1do #2 #3 | #1ero #2 #3 | #1to #2 #3 | #2 #1, #3 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = #1 minutos | #1 min | #1 mins
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 hora | #1 horas
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 días
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = enero | ene | ene.
+month.2 = febrero | feb | feb.
+month.3 = marzo | mar | mar.
+month.4 = abril | abr | abr.
+month.5 = mayo
+month.6 = junio | jun | jun.
+month.7 = julio | jul | jul.
+month.8 = agosto | ago | ago.
+month.9 = septiembre | sep | sep. | sept.
+month.10 = octubre | oct | oct.
+month.11 = noviembre | nov | nov.
+month.12 = diciembre | dic | dic.
+
+# 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 = lunes | lunes
+from.weekday.2 = martes | martes
+from.weekday.3 = miércoles | miércoles
+from.weekday.4 = jueves | jueves
+from.weekday.5 = viernes | viernes
+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 = uno | primero
+number.2 = dos | segundo
+number.3 = tres | tercero
+number.4 = cuatro | cuarto
+number.5 = cinco | quinto
+number.6 = seis | sexto
+number.7 = siete | séptimo
+number.8 = ocho | octavo
+number.9 = nueve | noveno
+number.10 = diez | décimo
+number.11 = once | undécimo
+number.12 = doce | duodécimo
+number.13 = trece | decimotercero
+number.14 = catorce | decimocuarto
+number.15 = quince | decimoquinto
+number.16 = dieciséis | decimosexto
+number.17 = diecisiete | decimoséptimo
+number.18 = dieciocho | decimoctavo
+number.19 = diecinueve | decimonoveno
+number.20 = veinte | vigésimo
+number.21 = veintiuno | vigesimoprimero
+number.22 = veintidos | vigesimosegundo
+number.23 = veintitres | vigesimotercero
+number.24 = veinticuatro | vigesimocuarto
+number.25 = veinticinco | vigesimoquinto
+number.26 = veintiseis | vigesimosexto
+number.27 = veintisiete | vigesimoséptimo
+number.28 = veintiocho | vigesimoctavo
+number.29 = veintinueve | vigesimonoveno
+number.30 = treinta | trigésimo
+number.31 = treintaiuno | trigésimo primero
+
+# 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-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/l10n-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..44fafae997
--- /dev/null
+++ b/l10n-es-MX/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 "Invitaciones">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Actualizar la lista de invitaciones.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "No se encontraron invitaciones sin confirmar.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Aceptar">
+<!ENTITY calendar.invitations.list.decline.button.label "Rechazar">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Evento repetitivo">
+<!ENTITY calendar.invitations.list.alldayevent.text "Evento de todo el día">
+<!ENTITY calendar.invitations.list.location.text "Ubicación: ">
+<!ENTITY calendar.invitations.list.organizer.text "Organizador: ">
+<!ENTITY calendar.invitations.list.attendee.text "Asistente: ">
+<!ENTITY calendar.invitations.list.none.text "Ninguno">
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.properties b/l10n-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..a2282ca7ba
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/calendar-invitations-dialog.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+allday-event=Evento de todo el día
+recurrent-event=Evento repetitivo
+location=Ubicación: %S
+organizer=Organizador: %S
+attendee=Participante: %S
+none=Ninguno
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/l10n-es-MX/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..5864a9335f
--- /dev/null
+++ b/l10n-es-MX/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-es-MX/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/l10n-es-MX/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..1df8175723
--- /dev/null
+++ b/l10n-es-MX/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=es un evento repetitivo
+header.isrepeating.task.label=es una tarea repetitiva
+
+header.containsrepeating.event.label=contiene eventos repetidos
+header.containsrepeating.task.label=contiene tareas repetidas
+header.containsrepeating.mixed.label=contiene elementos de diferente tipo repetidos
+
+windowtitle.event.copy=Copiar evento repetido
+windowtitle.task.copy=Copiar tarea repetida
+windowtitle.mixed.copy=Copiar elementos repetidos
+windowtitle.event.cut=Cortar evento repetido
+windowtitle.task.cut=Cortar tarea repetida
+windowtitle.mixed.cut=Cortar elementos repetidos
+windowtitle.event.delete=Eliminar evento repetitivo
+windowtitle.task.delete=Eliminar tarea repetitiva
+windowtitle.mixed.delete=Eliminar elementos repetidos
+windowtitle.event.edit=Editar evento repetitivo
+windowtitle.task.edit=Editar tarea repetitiva
+
+buttons.occurrence.delete.label=Eliminar sólo esta ocasión
+buttons.occurrence.edit.label=Editar sólo esta ocasión
+
+buttons.allfollowing.delete.label=Eliminar esta y todas las futuras ocasiones
+buttons.allfollowing.edit.label=Editar esta y todas las futuras ocasiones
+
+buttons.parent.delete.label=Eliminar todas las ocasiones
+buttons.parent.edit.label=Editar todas las ocasiones
+windowtitle.mixed.edit=Editar elementos repetidos
+windowtitle.multipleitems=Elementos seleccionados
+
+buttons.single.occurrence.copy.label=Copiar solo esta ocurrencia
+buttons.single.occurrence.cut.label=Cortar solo esta ocurrencia
+buttons.single.occurrence.delete.label=Eliminar solo esta ocurrencia
+buttons.single.occurrence.edit.label=Editar solo esta ocurrencia
+
+buttons.multiple.occurrence.copy.label=Copiar solo ocurrencias seleccionadas
+buttons.multiple.occurrence.cut.label=Cortar solo ocurrencias seleccionadas
+buttons.multiple.occurrence.delete.label=Eliminar solo ocurrencias seleccionadas
+buttons.multiple.occurrence.edit.label=Editar solo ocurrencias seleccionadas
+
+buttons.single.allfollowing.copy.label=Copiar esta y todas las ocurrencias futuras
+buttons.single.allfollowing.cut.label=Cortar esta y todas las ocurrencias futuras
+buttons.single.allfollowing.delete.label=Eliminar esta y todas las ocurrencias futuras
+buttons.single.allfollowing.edit.label=Editar esta y todas las ocurrencias futuras
+
+buttons.multiple.allfollowing.copy.label=Copiar ocurrencias seleccionadas y futuras
+buttons.multiple.allfollowing.cut.label=Cortar ocurrencias seleccionadas y futuras
+buttons.multiple.allfollowing.delete.label=Eliminar ocurrencias seleccionadas y futuras
+buttons.multiple.allfollowing.edit.label=Editar ocurrencias seleccionadas y futuras
+
+buttons.single.parent.copy.label=Copiar todas las ocurrencias
+buttons.single.parent.cut.label=Cortar todas las ocurrencias
+buttons.single.parent.delete.label=Eliminar todas las ocurrencias
+buttons.single.parent.edit.label=Editar todas las ocurrencias
+
+buttons.multiple.parent.copy.label=Copiar todas las ocurrencias y elementos seleccionados
+buttons.multiple.parent.cut.label=Cortar todas las ocurrencias y elementos seleccionados
+buttons.multiple.parent.delete.label=Eliminar todas las ocurrencias y elementos seleccionados
+buttons.multiple.parent.edit.label=Editar todas las ocurrencias de elementos seleccionados
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/l10n-es-MX/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 0000000000..7cbf12c18d
--- /dev/null
+++ b/l10n-es-MX/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 "Suscribirse a Calendarios">
+<!ENTITY calendar.subscriptions.dialog.search.label.value "Mostrar calendarios que contienen:">
+<!ENTITY calendar.subscriptions.dialog.search.button.label "Buscar">
+<!ENTITY calendar.subscriptions.dialog.select.label.value "Seleccionar calendarios a los cuales suscribirse:">
+<!ENTITY calendar.subscriptions.dialog.subscribe.button.label "Suscribir">
+<!ENTITY calendar.subscriptions.dialog.unsubscribe.button.label "Eliminar suscripción">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.busy.label "Buscar…">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.nomatches.label "No se encuentran coincidencias.">
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar.dtd b/l10n-es-MX/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..2593352a07
--- /dev/null
+++ b/l10n-es-MX/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 nuevo evento" >
+<!ENTITY calendar.newtask.button.tooltip "Crear una nueva tarea" >
+
+<!ENTITY calendar.unifinder.todoitems.label "Tareas" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Mostrar tareas completadas">
+
+<!ENTITY calendar.today.button.label "Hoy">
+<!ENTITY calendar.tomorrow.button.label "Mañana">
+<!ENTITY calendar.upcoming.button.label "Próximamente">
+
+<!ENTITY calendar.events.filter.all.label "Todos los eventos">
+<!ENTITY calendar.events.filter.today.label "Eventos de hoy">
+<!ENTITY calendar.events.filter.future.label "Todos los eventos futuros">
+<!ENTITY calendar.events.filter.current.label "Día seleccionado actualmente">
+<!ENTITY calendar.events.filter.currentview.label "Eventos en la vista actual">
+<!ENTITY calendar.events.filter.next7Days.label "Eventos en los siguientes 7 días">
+<!ENTITY calendar.events.filter.next14Days.label "Eventos en los siguientes 14 días">
+<!ENTITY calendar.events.filter.next31Days.label "Eventos en los siguientes 31 días">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Eventos en el calendario este mes">
+
+<!-- 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 "Hecho">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Ordenar por hechos">
+<!ENTITY calendar.unifinder.tree.priority.label "Prioridad">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Ordenar por prioridad">
+<!ENTITY calendar.unifinder.tree.title.label "Título">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Ordenar por título">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "&#37; completo">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Ordenar por &#37; completo">
+<!ENTITY calendar.unifinder.tree.startdate.label "Inicio">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Ordenar por fecha de inicio">
+<!ENTITY calendar.unifinder.tree.enddate.label "Termino">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Ordenar por fecha de termino">
+<!ENTITY calendar.unifinder.tree.duedate.label "Vencimiento">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Ordenar por fecha de vencimiento">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Completos">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Ordenar por fecha en que se completó">
+<!ENTITY calendar.unifinder.tree.categories.label "Categoria">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Ordenar por categoría">
+<!ENTITY calendar.unifinder.tree.location.label "Ubicación">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Ordenar por ubicación">
+<!ENTITY calendar.unifinder.tree.status.label "Estado">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Ordenar por estado">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Nombre de calendario">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Ordenar por nombre de calendario">
+<!ENTITY calendar.unifinder.tree.duration.label "Vence en">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Ordenar por duración">
+<!ENTITY calendar.unifinder.close.tooltip "Cerrar el buscador de eventos y la lista de eventos">
+
+<!ENTITY calendar.today.button.tooltip "Ir a Hoy" >
+<!ENTITY calendar.todaypane.button.tooltip "Mostrar vista de hoy" >
+
+<!ENTITY calendar.day.button.tooltip "Cambiar a vista por día" >
+<!ENTITY calendar.week.button.tooltip "Cambiar a vista por semana" >
+<!ENTITY calendar.month.button.tooltip "Cambiar a vista por mes" >
+<!ENTITY calendar.multiweek.button.tooltip "Cambiar a vista multisemana" >
+
+<!ENTITY calendar.nextday.label "Día siguiente" >
+<!ENTITY calendar.prevday.label "Día anterior" >
+<!ENTITY calendar.nextday.accesskey "x" >
+<!ENTITY calendar.prevday.accesskey "s" >
+<!ENTITY calendar.nextweek.label "Próxima semana" >
+<!ENTITY calendar.prevweek.label "Semana anterior" >
+<!ENTITY calendar.nextweek.accesskey "x" >
+<!ENTITY calendar.prevweek.accesskey "s" >
+<!ENTITY calendar.nextmonth.label "Próximo mes" >
+<!ENTITY calendar.prevmonth.label "Mes anterior" >
+<!ENTITY calendar.nextmonth.accesskey "x" >
+<!ENTITY calendar.prevmonth.accesskey "s" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "Un día después" >
+<!ENTITY calendar.navigation.prevday.tooltip "Un día atrás" >
+<!ENTITY calendar.navigation.nextweek.tooltip "Una semana después" >
+<!ENTITY calendar.navigation.prevweek.tooltip "Una semana atrás" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "Un mes después" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "Un mes atrás" >
+
+<!ENTITY calendar.newevent.button.label "Nuevo evento" >
+<!ENTITY calendar.newtask.button.label "Nueva tarea" >
+<!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 "Multisemana" >
+<!ENTITY calendar.onlyworkday.checkbox.label "Sólo días laborales" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "r" >
+<!ENTITY calendar.displaytodos.checkbox.label "Tareas en la vista" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "k" >
+<!ENTITY calendar.completedtasks.checkbox.label "Mostrar tareas completadas" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "c" >
+
+<!ENTITY calendar.orientation.label "Rotar vista" >
+<!ENTITY calendar.orientation.accesskey "o" >
+
+<!ENTITY calendar.search.options.searchfor " contener">
+
+<!ENTITY calendar.list.header.label "Calendario">
+
+<!ENTITY calendar.task.filter.title.label "Mostrar">
+<!ENTITY calendar.task.filter.all.label "Todo">
+<!ENTITY calendar.task.filter.all.accesskey "A">
+<!ENTITY calendar.task.filter.today.label "Hoy">
+<!ENTITY calendar.task.filter.today.accesskey "T">
+<!ENTITY calendar.task.filter.next7days.label "Próximos siete días">
+<!ENTITY calendar.task.filter.next7days.accesskey "N">
+<!ENTITY calendar.task.filter.notstarted.label "Tareas no empezadas">
+<!ENTITY calendar.task.filter.notstarted.accesskey "a">
+<!ENTITY calendar.task.filter.overdue.label "Tareas vencidas">
+<!ENTITY calendar.task.filter.overdue.accesskey "O">
+<!ENTITY calendar.task.filter.completed.label "Tareas completadas">
+<!ENTITY calendar.task.filter.completed.accesskey "C">
+<!ENTITY calendar.task.filter.open.label "Tareas incompletas">
+<!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 "Tareas actuales">
+<!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 "prioridad">
+<!ENTITY calendar.task-details.priority.low.label "Baja">
+<!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 "adjuntos">
+<!ENTITY calendar.task-details.start.label "fecha de inicio">
+<!ENTITY calendar.task-details.due.label "fecha de fin">
+
+<!ENTITY calendar.task.category.button.tooltip "Categorizar tareas">
+<!ENTITY calendar.task.complete.button.tooltip "Marcar tareas seleccionadas como completadas">
+<!ENTITY calendar.task.priority.button.tooltip "Cambiar la prioridad">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Filtrar tareas #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Shift+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "Abrir">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "O">
+<!ENTITY calendar.context.modifyorviewtask.label "Abrir tarea…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "O">
+<!ENTITY calendar.context.newevent.label "Nuevo evento…">
+<!ENTITY calendar.context.newevent.accesskey "N">
+<!ENTITY calendar.context.newtodo.label "Nueva tarea…">
+<!ENTITY calendar.context.newtodo.accesskey "k">
+<!ENTITY calendar.context.deletetask.label "Borrar Tarea">
+<!ENTITY calendar.context.deletetask.accesskey "l">
+<!ENTITY calendar.context.deleteevent.label "Borrar 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 "Vista de hoy">
+<!ENTITY calendar.context.button.accesskey "T">
+
+<!ENTITY calendar.context.attendance.menu.label "Asistencia">
+<!ENTITY calendar.context.attendance.menu.accesskey "d">
+<!ENTITY calendar.context.attendance.occurrence.label "Esta ocurrencia">
+<!ENTITY calendar.context.attendance.all2.label "Completar series">
+<!ENTITY calendar.context.attendance.send.label "Enviar una notificación ahora">
+<!ENTITY calendar.context.attendance.send.accesskey "S">
+<!ENTITY calendar.context.attendance.dontsend.label "No enviar una notificación">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "D">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Aceptado">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "y">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Aceptado tentativamente">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "c">
+<!ENTITY calendar.context.attendance.occ.declined.label "Rechazado">
+<!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ún necesita acción">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "I">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "En progreso">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "C">
+<!ENTITY calendar.context.attendance.occ.completed.label "Completo">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "e">
+<!ENTITY calendar.context.attendance.all.accepted.label "Aceptado">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "v">
+<!ENTITY calendar.context.attendance.all.tentative.label "Aceptado tentativamente">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "d">
+<!ENTITY calendar.context.attendance.all.declined.label "Rechazado">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "l">
+<!ENTITY calendar.context.attendance.all.delegated.label "Delegado">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "l">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Aún necesita acción">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "p">
+<!ENTITY calendar.context.attendance.all.inprogress.label "En progreso">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "m">
+<!ENTITY calendar.context.attendance.all.completed.label "Completo">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Progreso">
+<!ENTITY calendar.context.progress.accesskey "P">
+<!ENTITY calendar.context.priority.label "Prioridad">
+<!ENTITY calendar.context.priority.accesskey "r">
+<!ENTITY calendar.context.postpone.label "Posponer Tarea">
+<!ENTITY calendar.context.postpone.accesskey "s">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Marcar completadas">
+<!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 "No especificado">
+<!ENTITY priority.level.none.accesskey "s">
+<!ENTITY priority.level.low "Baja">
+<!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 "S">
+
+<!ENTITY calendar.copylink.label "Copiar dirección del enlace">
+<!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 "Borrar">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Nuevo Calendario…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "Buscar Calendario…" >
+<!ENTITY calendar.context.findcalendar.accesskey "F" >
+<!ENTITY calendar.context.deleteserver2.label "Borrar 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 "Remover Calendario…">
+<!ENTITY calendar.context.removeserver.accesskey "R">
+<!ENTITY calendar.context.unsubscribeserver.label "Eliminar suscripción del calendario…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "U">
+<!ENTITY calendar.context.synccalendars.label "Sincronizar 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 "h">
+
+<!-- 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 "Mostrar Todos los Calendarios">
+<!ENTITY calendar.context.showall.accesskey "A">
+
+<!ENTITY calendar.context.convertmenu.label "Convertir 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 "Mensaje…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "M">
+<!ENTITY calendar.context.convertmenu.task.label "Tarea…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Mini-Mes">
+<!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 Tareas">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "F">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Ubicación:" >
+<!ENTITY calendar.alarm.details.label "Detalles…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Silenciar por" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Silenciar todo por" >
+<!ENTITY calendar.alarm.title.label "Recordatorios de Calendario" >
+<!ENTITY calendar.alarm.dismiss.label "Descartar" >
+<!ENTITY calendar.alarm.dismissall.label "Descartar 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 Silenciador">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Editar Calendario">
+<!ENTITY calendar.server.dialog.name.label "Nombre de Calendario:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Color:">
+<!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 "Ubicación:">
+<!ENTITY calendarproperties.refreshInterval.label "Actualizar Calendario:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Manualmente">
+<!ENTITY calendarproperties.name.label "Nombre:">
+<!ENTITY calendarproperties.readonly.label "Sólo Lectura">
+<!ENTITY calendarproperties.firealarms.label "Mostrar Recordatorios">
+<!ENTITY calendarproperties.cache3.label "Soporte sin conexión">
+<!ENTITY calendarproperties.enabled.label "Activar calendario">
+<!ENTITY calendarproperties.enabled2.label "Habilitar este calendario">
+<!ENTITY calendarproperties.forceDisabled.label "El proveedor de este calendario no pudo ser encontrado. Esto suele suceder si has desactivado o desinstalado ciertos complementos.">
+<!ENTITY calendarproperties.unsubscribe.label "Eliminar suscripción">
+<!ENTITY calendarproperties.unsubscribe.accesskey "U">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Publicar Calendario">
+<!ENTITY calendar.publish.url.label "URL de publicación">
+<!ENTITY calendar.publish.publish.button "Publicar">
+<!ENTITY calendar.publish.close.button "Cerrar">
+
+<!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 "Diseño:">
+<!ENTITY calendar.print.range.label "Qué imprimir">
+<!ENTITY calendar.print.currentView2.label "Vista actual">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Eventos/tareas seleccionadas">
+<!ENTITY calendar.print.tasks.label "Tareas">
+<!ENTITY calendar.print.events.label "Eventos">
+<!ENTITY calendar.print.custom.label "Rango de fechas personalizado:">
+<!ENTITY calendar.print.from.label "De:">
+<!ENTITY calendar.print.to.label "A:">
+<!ENTITY calendar.print.settingsGroup.label "Ajuste de impresión">
+<!ENTITY calendar.print.optionsGroup.label "Opciones">
+<!ENTITY calendar.print.taskswithnoduedate.label "Tareas sin fecha de vencimiento">
+<!ENTITY calendar.print.completedtasks.label "Tareas completadas">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Detalles…">
+<!ENTITY calendar.error.code "Código de error:">
+<!ENTITY calendar.error.description "Descripción:">
+<!ENTITY calendar.error.title "Ha ocurrido un error">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Agregar como evento">
+<!ENTITY calendar.extract.task.button "Agregar como tarea">
+<!ENTITY calendar.extract.event.button.tooltip "Extraer información de calendario del mensaje y agregar a tu calendario como evento">
+<!ENTITY calendar.extract.task.button.tooltip "Extraer información de calendario del mensaje y agregar a tu calendario como tarea">
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendar.properties b/l10n-es-MX/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 0000000000..8b08578396
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,818 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+# %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=Imprimir vista previa de %1$S
+Untitled=Sin título
+
+# Default name for new events
+newEvent=Nuevo evento
+
+# Titles for the event/task dialog
+newEventDialog=Nuevo evento
+editEventDialog=Editar evento
+newTaskDialog=Nueva tarea
+editTaskDialog=Editar tarea
+
+# Do you want to save changes?
+askSaveTitleEvent=Guardar evento
+askSaveTitleTask=Guardar tarea
+askSaveMessageEvent=El evento no ha sido guardado. ¿Quieres guardarlo?
+askSaveMessageTask=La tarea no ha sido guardada. ¿Quieres guardarla?
+
+# Event Dialog Warnings
+warningEndBeforeStart=La fecha de término ingresada es anterior a la fecha de inicio
+warningUntilDateBeforeStart=La fecha de término es anterior a la fecha de inicio
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Inicio
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Calendario sin título
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Tentativo
+statusConfirmed =Confirmado
+eventStatusCancelled=Cancelado
+todoStatusCancelled =Cancelado
+statusNeedsAction =Necesita una acción
+statusInProcess =En proceso
+statusCompleted =Completado
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Alta
+normalPriority=Normal
+lowPriority=Baja
+
+importPrompt=¿A qué calendario deseas importar este ítem?
+exportPrompt=¿Desde qué calendario deseas exportar?
+pastePrompt=¿En cual de tus calendarios actualmente editables deseas pegarlo?
+publishPrompt=¿Qué calendario deseas publicar?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Tu pegado incluye una reunión
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Tu pegado incluye reuniones
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Tu pegado incluye una tarea asignada
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Tu pegado incluye tareas asignadas
+# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among
+# others also assigned task(s) and meeting invitation(s) - this is used as a affix
+# in pasteNotifyAbout
+pasteItemsAlso=Tu pegado incluye reuniones y tareas asignadas
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Estás pegando una reunión
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Estás pegando reuniones
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Estás pegando una tarea asignada
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Estás pegando tareas asignadas
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Estás pegando reuniones y tareas asignadas
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - ¿Quieres enviar una actualización a todos los involucrados?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Pegar y enviar ahora
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Pegar sin 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=%1$S ítems fallaron al importar. El último error fue: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=Falla al importar desde %1$S. No hay ítems importables en este archivo.
+
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=No se puede importar desde %1$S. No hay elementos en este archivo que puedan ser importados.
+
+#spaces needed at the end of the following lines
+eventDescription=Descripción:
+
+unableToRead=Incapaz de leer desde el archivo:
+unableToWrite=Incapaz de escribir al archivo:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Calendario 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=Se encontró un huso horario desconocido o indefinido al leer %1$S.
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S ítem(s) fueron ignorados ya que existen tanto en el calendario destino como en %2$S.
+
+unableToCreateProvider=Se encontró un error preparando el calendario ubicado para uso en %1$S . No estará disponible.
+unknownTimezonesError=Se ha producido un error al preparar el calendario ubicado en %1$S para su uso. El calendario hace referencia a zonas horarias desconocidas. Por favor instala la última versión de calendar-timezones.xpi.
+missingCalendarTimezonesError=No se han encontrado zonas horarias. Por favor, instala calendar-timezones.xpi.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Zona horaria desconocida "%1$S" en "%2$S". Se maneja como zona horaria local "flotante": %3$S
+TimezoneErrorsAlertTitle=Errores de huso horario
+TimezoneErrorsSeeConsole=Ver error en la consola: las zonas horarias desconocidas se manejan como zona horaria local "flotante".
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Eliminar calendario
+removeCalendarButtonDelete=Eliminar calendario
+removeCalendarButtonUnsubscribe=Eliminar suscripción
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=¿Quieres eliminar el calendario "%1$S"? Si cancelas tu suscripción, eliminarás el calendario de la lista y depurarás sus datos.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=¿Quieres eliminar permanentemente el calendario "%1$S"?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=¿Quieres cancelar la suscripción del calendario "%1$S"?
+
+WeekTitle=Semana %1$S
+None=Nada
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+tooNewSchemaErrorBoxTitle=La información de tu calendario no es compatible 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=Los datos del calendario en tu perfil ha sido actualizado por una nueva versión de %1$S y si procedes podrás perder o corromper la información. %1$S se deshabilitará y %2$S se reiniciará.
+
+# 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=Salir de %1$S
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+
+# LOCALIZATION NOTE (tooNewSchemaErrorText):
+# %1$S will be replaced with the name of the host application, e.g. 'Thunderbird'
+# %2$S will be replaced with the name of the new copy of the file, e.g. 'local-2020-05-11T21-30-17.sqlite'
+tooNewSchemaErrorText=Los datos de tu calendario no son compatibles con esta versión de %1$S. Los datos del calendario en tu perfil fueron actualizados para una nueva versión de %1$S. Fue creada una copia de seguridad de los datos, con el nombre de "%2$S". Continuar con un nuevo archivo de datos.
+
+# List of events or todos (unifinder)
+eventUntitled=Sin título
+
+# Tooltips of events or todos
+tooltipTitle=Título:
+tooltipLocation=Ubicació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=Fecha:
+# event calendar name
+tooltipCalName=Nombre de 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=Vencimiento:
+tooltipPriority=Prioridad:
+tooltipPercent=% Completo:
+tooltipCompleted=Finalizado:
+
+# 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 el evento.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.NON-PARTICIPANT=%1$S es no-partícipe.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.OPT-PARTICIPANT=%1$S es participante opcional.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.REQ-PARTICIPANT=%1$S es participante requerido.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.ACCEPTED=%1$S ha confirmado asistencia.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DECLINED=%1$S ha declinado asistencia.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DELEGATED=%1$S ha delegado asistencia.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.NEEDS-ACTION=%1$S aún necesita responder.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.TENTATIVE=%1$S ha confirmado asistencia tentativamente.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing individual attendee
+dialog.tooltip.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+dialog.tooltip.attendeeUserType2.GROUP=%1$S (grupo)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+dialog.tooltip.attendeeUserType2.RESOURCE=%1$S (recurso)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+dialog.tooltip.attendeeUserType2.ROOM=%1$S (salón)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+dialog.tooltip.attendeeUserType2.UNKNOWN=%1$S
+
+#File commands and dialogs
+New=Nuevo
+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ágina web (%1$S)
+filterOutlookCsv=Valores separados por comas de Outlook (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Ha ocurrido un error
+httpPutError=Falló la publicación del calendario.\nCódigo del estado: %1$S: %2$S
+otherPutError=La publicación del calendario ha fallado.\nCódigo del 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=Se ha producido un error al leer los datos del calendario: %1$S. Está en modo de solo lectura, ya que cualquier cambio a este calendario podrá resultar en pérdida de datos. Puedes cambiar la configuración yendo a "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=Se ha producido un error al leer los datos del calendario: %1$S. Este ha sido deshabilitado hasta que sea seguro usarlo.
+
+# 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=Se ha producido un error al leer los datos del calendario:%1$S. Sin embargo, este error parece ser leve así que el programa intentará proceder.
+
+# 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=Se ha producido un error al leer los datos del calendario: %1$S.
+utf8DecodeError=Se ha producido un error al codificar el archivo del iCalendar (ics) como UTF-8. Verifica que el calendario, con todos sus símbolos y letras con acentos sea codificado con el codificador de caracteres UTF-8.
+icsMalformedError=Ha fallado el parseo de un archivo iCalendar (ics). Verifica que el archivo tenga una sintaxis válida como iCalendar (ics).
+itemModifiedOnServerTitle=Ítem cambiado en servidor
+itemModifiedOnServer=Este ítem ha cambiado recientemente en el servidor.\n
+modifyWillLoseData=Enviando tus cambios sobreescribirá los cambios hechos en el servidor.
+deleteWillLoseData=Eliminando este ítem causará la pérdida de los cambios hechos en el servidor.
+updateFromServer=Descartar mis cambios y recargar
+proceedModify=Enviar mis cambios igualmente
+proceedDelete=Borrar de todas formas
+dav_notDav=El servicio en %1$S no es una colección DAV o no está disponible
+dav_davNotCaldav=El servicio en %1$S es una colección DAV pero no un calendario CalDAV
+itemPutError=Hubo un error guardando el elemento en el servidor.
+itemDeleteError=Hubo un error cuando se borraba el elemento del servidor.
+caldavRequestError=Hubo un error al enviar la invitación.
+caldavResponseError=Hubo un error al enviar la respuesta.
+caldavRequestStatusCode=Código de estado: %1$S
+caldavRequestStatusCodeStringGeneric=La solicitud no pudo ser procesada.
+caldavRequestStatusCodeString400=Esta solicitud contiene una sintaxis incorrecta y no puede ser procesada.
+caldavRequestStatusCodeString403=El usuario no tiene los permisos necesarios para ejecutar la solicitud.
+caldavRequestStatusCodeString404=Recurso no encontrado.
+caldavRequestStatusCodeString409=Conflicto con el recurso.
+caldavRequestStatusCodeString412=Precondición fallada.
+caldavRequestStatusCodeString500=Error interno del servidor.
+caldavRequestStatusCodeString502=Bad gateway (¿Configuración del proxy?).
+caldavRequestStatusCodeString503=Error interno de servidor (¿Caída temporal del servidor?).
+caldavRedirectTitle=¿7Actualizar ubicación para calendario %1$S?
+caldavRedirectText=La solicitud para %1$S están siendo redirigida a una nueva ubicación. ¿Te gustaría cambiar la ubicación del siguiente valor?
+caldavRedirectDisableCalendar=Deshabilitar 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=América/Nueva_York, América/Chicago, América/Denver, América/Phoenix, América/Los_Ángeles, América/Anchorage, América/Adak, Pacífico/Honolulu, América/Puerto_Rico, América/Halifax, América/Ciudad_de_México, América/Argentina/Buenos_Aires, América/Sao_Paulo, Europa/Londres, Europa/Paris, Asia/Singapur, Asia/Tokio, África/Lagos, África/Johannesburgo, África/Nairobi, Australia/Brisbane, Australia/Sídney, Pacífico/Auckland
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+WarningOSTZNoMatch=Advertencia: El huso horario del sistema operativo "%1$S"\nno coincide con el huso horario 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=Saltando huso horario del sistema operativo '%1$S'.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Saltando huso horario local '%1$S'.
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=Advertencia: Usando huso horario "flotante".\nNingún huso horario ZoneInfo coincide con los datos de huso horario del 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=Advertencia: se está usando el huso horario adivinado \n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Este huso horario ZoneInfo casi coincide con el huso horario del sistema operativo.\nPara esta regla, las siguientes transiciones entre el horario de verano y el horario estándar\ndifieren hasta por una semana de las transiciones de husos horarios del sistema operativo.\nPuede que haya discrepancias en los datos, como una fecha de inicio diferente,\nuna regla diferente o una aproximación a la regla del calendario no gregoriano.
+
+TZSeemsToMatchOS=Este huso horario ZoneInfo parece coincidir con el huso horario del sistema operativo este año.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=La elección de este huso horario ZoneInfo se basa en el identificador "%1$S"\ndel sistema operativo.
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=La elección de este huso horario ZoneInfo se basa en la correspondencia entre el huso horario del sistema operativo\ny los husos horarios típicos de los usuarios de Internet que utilizan el español de México.
+
+TZFromKnownTimezones=La elección de este huso horario ZoneInfo se basa en la correspondencia entre el huso horario del sistema operativo\n y los husos horarios conocidos y ordenados alfabéticamente del ID del huso horario.
+
+# Print Layout
+formatListName = Lista
+weekPrinterName = Planificador semanal
+monthPrinterName = Cuadrícula mensual
+tasksWithNoDueDate = Tareas sin fecha de vencimiento
+
+# Providers
+caldavName=CalDAV
+compositeName=Compuesto
+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=Cuándo
+htmlPrefixLocation=Ubicación
+htmlPrefixDescription=Descripción
+htmlTaskCompleted=%1$S (finalizado)
+
+# Categories
+addCategory=Agregar categoría
+multipleCategories=Múltiples categorías
+
+today=Hoy
+tomorrow=Mañana
+yesterday=Ayer
+
+#Today pane
+eventsonly=Eventos
+eventsandtasks=Eventos y tareas
+tasksonly=Tareas
+shortcalendarweek=CW
+
+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=siguiente
+next2=siguiente
+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=Recordatorio #1;Recordatorios #1
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmStarts=Comienza: %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=Hoy a las %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ñana a las %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=Ayer a las %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=Descripción por defecto de Mozilla
+alarmDefaultSummary=Resumen por defecto de Mozilla
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=No puedes posponer una alarma más de #1 al mes.;No puedes posponer una alarma más de #1 al mes.
+
+taskDetailsStatusNeedsAction=Necesita 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%% completado
+taskDetailsStatusCompleted=Completado
+
+# 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=Completado en %1$S
+taskDetailsStatusCancelled=Cancelado
+
+gettingCalendarInfoCommon=Verificando 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=Verificando calendarios %1$S de %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Error de código: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Descripció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
+errorWriting2=¡Un error ha ocurrido cuando se escribía el calendario %1$S! Por favor, ve abajo para más información.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Si estás viendo este mensaje después de silenciar o descartar un recordatorio y este es para un calendario el cual no quieres agregar o editar eventos, puedes marcar este calendario como solo lectura que evitar este detalle en el futuro. Para hacerlo, ve a las propiedades del calendario haciendo clic derecho en este calendario en la lista en la vista de calendario o tarea.
+
+# 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=El calendario %1$S no está momentáneamente disponible
+
+# 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=El calendario %1$S es de solo lectura
+
+taskEditInstructions=Haz clic aquí para agregar una nueva tarea
+taskEditInstructionsReadonly=Por favor, selecciona un calendario con permiso de escritura
+taskEditInstructionsCapability=Por favor, selecciona un calendario que soporta tareas
+
+eventDetailsStartDate=Inicio:
+eventDetailsEndDate=Fin:
+
+# 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 del 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 del 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=CW: %1$S
+
+# LOCALIZATION NOTE (severalShortCalendarWeeks):
+# used for display of calendar weeks in short form like 'CWs 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalShortCalendarWeeks=CWs: %1$S-%2$S
+
+# 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=Día #1;Días #1
+dueInHours=hora #1;horas #1
+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 %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=nominativo
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S %2$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalInMonth=%1$S %2$S – %3$S, %4$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalInMonth.monthFormat=nominativo
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%1$S %2$S – %3$S %4$S, %5$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenMonths.monthFormat=nominativo
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%1$S %2$S, %3$S – %4$S %5$S, %6$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenYears.monthFormat=nominativo
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S – %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S – %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= no hay comienzo ni fecha de vencimiento
+# 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=fecha de inicio %1$S %2$S
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the due date
+# %2$S will be replaced with the time of the due date
+datetimeIntervalTaskWithoutStartDate=fecha de vencimiento %1$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=Se vence el
+
+deleteTaskLabel=Eliminar tarea
+deleteTaskMessage=¿Estás seguro que quieres eliminar esta tarea?
+deleteTaskAccesskey=l
+deleteItemLabel=Eliminar
+deleteItemMessage=¿Estás seguro que quieres eliminar esta artículo?
+deleteItemAccesskey=l
+deleteEventLabel=Eliminar evento
+deleteEventMessage=¿Estás seguro que quieres eliminar este evento?
+deleteEventAccesskey=l
+
+calendarPropertiesEveryMinute=Cada minuto;Cada minutos #1
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=Con %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=Usando %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=Mostrar %1$S
+hideCalendar=Ocultar %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Mostrar solo %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Conflicto con la modificación del artículo
+modifyConflictPromptMessage=El ítem siendo editado en el diálogo ha sido modificado desde la última vez que fue abierto.
+modifyConflictPromptButton1=Sobreescribir los otros cambios
+modifyConflictPromptButton2=Descartar estos 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 original
+# invited attendee gets replaced
+dialog.attendee.append.delegatedFrom=(delegado de %1$S)
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the original
+# invited attendee gets replaced
+dialog.attendee.append.delegatedTo=(delegado a %1$S)
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Ninguna fecha seleccionada
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendarCreation.dtd b/l10n-es-MX/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..ffacad9015
--- /dev/null
+++ b/l10n-es-MX/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 nuevo calendario" >
+<!ENTITY wizard.label "Crear un nuevo calendario" >
+<!ENTITY wizard.description "Ubica tu calendario" >
+
+<!ENTITY initialpage.description "Tu calendario puede ser almacenado en tu computadora o ser almacenado en un servidor para tener acceso remotamente o compartirlo con tus amigos o compañeros." >
+<!ENTITY initialpage.computer.label "En mi computadora">
+<!ENTITY initialpage.network.label "En la red">
+
+<!ENTITY locationpage.description "Proveer información sobre qué es necesario para acceder a tu calendario remoto" >
+<!ENTITY locationpage.login.description "Opcional: ingresa un nombre de usuario y contraseña" >
+<!ENTITY locationpage.username.label "Nombre de usuario:" >
+<!ENTITY locationpage.password.label "Contraseña:" >
+
+<!ENTITY custompage.shortdescription "Personaliza tu calendario" >
+<!ENTITY custompage.longdescription "Puedes darle a tu calendario un sobrenombre y colorear los eventos." >
+
+<!ENTITY finishpage.shortdescription "Calendario creado" >
+<!ENTITY finishpage.longdescription "Tu calendario ha sido creado." >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Otros">
+
+<!ENTITY buttons.create.label "Crear calendario">
+<!ENTITY buttons.create.accesskey "r">
+
+<!ENTITY buttons.find.label "Encontrar calendarios">
+<!ENTITY buttons.find.accesskey "F">
+
+<!ENTITY buttons.back.label "Atrás">
+<!ENTITY buttons.back.accesskey "B">
+
+<!ENTITY buttons.subscribe.label "Suscribir">
+<!ENTITY buttons.subscribe.accesskey "S">
+
+<!ENTITY calendartype.label "Tipo de calendario:">
+<!ENTITY location.label "Ubicación:">
+<!ENTITY location.placeholder "URL o nombre del servidor del servidor del calendario">
+
+<!ENTITY network.nocredentials.label "Esta ubicación no quiere credenciales">
+<!ENTITY network.loading.description "Por favor, espera, mientras tus calendarios están siendo descubiertos.">
+<!ENTITY network.notfound.description "No se pudieron encontrar calendario en esta ubicación. Por favor, revisa tus ajustes.">
+<!ENTITY network.authfail.description "Las credenciales que ingresaste no fueron aceptadas. Por favor, revisa tus ajustes.">
+
+<!ENTITY network.subscribe.single.description "Por favor, selecciona los calendarios a los cuales te gustaría suscribirte.">
+<!ENTITY network.subscribe.multiple.description "Múltiples tipos de calendarios están disponibles para esta ubicación. Por favor, selecciona el tipo de calendario, después marca los calendarios a los que te gustaría suscribirte.">
diff --git a/l10n-es-MX/calendar/chrome/calendar/calendarCreation.properties b/l10n-es-MX/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..76064ca257
--- /dev/null
+++ b/l10n-es-MX/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=Por favor, ingresa una ubicación válida.
+error.alreadyExists=Ya te has suscrito al calendario en esta ubicación.
diff --git a/l10n-es-MX/calendar/chrome/calendar/categories.properties b/l10n-es-MX/calendar/chrome/calendar/categories.properties
new file mode 100644
index 0000000000..0cba969866
--- /dev/null
+++ b/l10n-es-MX/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=Aniversario,Cumpleaños,Negocios,Llamadas,Clientes,Remuneración,Cliente,Favoritos,Dar seguimiento,Regalos,Vacaciones,Ideas,Problemas,Junta,Misceláneo,Personal,Proyectos,Día de fiesta nacional,Estado,Proveedores,Viaje,Vacaciones
diff --git a/l10n-es-MX/calendar/chrome/calendar/dateFormat.properties b/l10n-es-MX/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..90c55f19df
--- /dev/null
+++ b/l10n-es-MX/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=Enero
+month.2.name=Febrero
+month.3.name=Marzo
+month.4.name=Abril
+month.5.name=Mayo
+month.6.name=Junio
+month.7.name=Julio
+month.8.name=Agosto
+month.9.name=Septiembre
+month.10.name=Octubre
+month.11.name=Noviembre
+month.12.name=Diciembre
+
+# 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=Enero
+month.2.genitive=Febrero
+month.3.genitive=Marzo
+month.4.genitive=Abril
+month.5.genitive=Mayo
+month.6.genitive=Junio
+month.7.genitive=Julio
+month.8.genitive=Agosto
+month.9.genitive=Septiembre
+month.10.genitive=Octubre
+month.11.genitive=Noviembre
+month.12.genitive=Diciembre
+
+month.1.Mmm=Ene
+month.2.Mmm=Feb
+month.3.Mmm=Mar
+month.4.Mmm=Abr
+month.5.Mmm=May
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Ago
+month.9.Mmm=Sep
+month.10.Mmm=Oct
+month.11.Mmm=Nov
+month.12.Mmm=Dic
+
+day.1.name=Domingo
+day.2.name=Lunes
+day.3.name=Martes
+day.4.name=Miércoles
+day.5.name=Jueves
+day.6.name=Viernes
+day.7.name=Sábado
+
+day.1.Mmm=Dom
+day.2.Mmm=Lun
+day.3.Mmm=Mar
+day.4.Mmm=Mié
+day.5.Mmm=Jue
+day.6.Mmm=Vie
+day.7.Mmm=Sáb
+
+# 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=Mi
+day.5.short=Ju
+day.6.short=Vi
+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=Medianoche
+
+AllDay=Todo el día
+Repeating=(Repetición)
diff --git a/l10n-es-MX/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/l10n-es-MX/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..f748b6937d
--- /dev/null
+++ b/l10n-es-MX/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 "Agregar">
+<!ENTITY reminder.add.accesskey "A">
+<!ENTITY reminder.remove.label "Eliminar">
+<!ENTITY reminder.remove.accesskey "R">
+
+<!ENTITY reminder.reminderDetails.label "Detalles del recordatorio">
+<!ENTITY reminder.action.label "Elegir una acción de recordatorio">
+
+<!ENTITY reminder.action.alert.label "Mostrar una 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-es-MX/calendar/chrome/calendar/global.dtd b/l10n-es-MX/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..787f0b064b
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,54 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY time.midnight "Medianoche" >
+<!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 "S">
+<!ENTITY day.2.Ddd "Lun" >
+<!ENTITY day.2.Ddd.accesskey "M">
+<!ENTITY day.3.Ddd "Mar" >
+<!ENTITY day.3.Ddd.accesskey "T">
+<!ENTITY day.4.Ddd "Mié" >
+<!ENTITY day.4.Ddd.accesskey "W">
+<!ENTITY day.5.Ddd "Jue" >
+<!ENTITY day.5.Ddd.accesskey "h">
+<!ENTITY day.6.Ddd "Vie" >
+<!ENTITY day.6.Ddd.accesskey "F">
+<!ENTITY day.7.Ddd "Sáb" >
+<!ENTITY day.7.Ddd.accesskey "a">
+
+<!ENTITY day.1.name "Dom" >
+<!ENTITY day.2.name "Lunes" >
+<!ENTITY day.3.name "Martes" >
+<!ENTITY day.4.name "Miércoles" >
+<!ENTITY day.5.name "Jueves" >
+<!ENTITY day.6.name "Viernes" >
+<!ENTITY day.7.name "Sábado" >
+
+<!ENTITY month.1.name "Enero" >
+<!ENTITY month.2.name "Febrero" >
+<!ENTITY month.3.name "Marzo" >
+<!ENTITY month.4.name "Abril" >
+<!ENTITY month.5.name "Mayo" >
+<!ENTITY month.6.name "Junio" >
+<!ENTITY month.7.name "Julio" >
+<!ENTITY month.8.name "Agosto" >
+<!ENTITY month.9.name "Septiembre" >
+<!ENTITY month.10.name "Octubre" >
+<!ENTITY month.11.name "Noviembre" >
+<!ENTITY month.12.name "Diciembre" >
+
+<!ENTITY onemonthbackward.tooltip "Un mes atrás" >
+<!ENTITY onemonthforward.tooltip "Un mes después" >
+<!ENTITY oneyearbackward.tooltip "Un año atrás" >
+<!ENTITY oneyearforward.tooltip "Un año adelante" >
+<!ENTITY showToday.tooltip "Ir al día de hoy">
+<!ENTITY onedayforward.tooltip "Un día después">
+<!ENTITY onedaybackward.tooltip "Un día atrás">
+<!ENTITY showselectedday.tooltip "Mostrar eventos para el día seleccionado">
diff --git a/l10n-es-MX/calendar/chrome/calendar/menuOverlay.dtd b/l10n-es-MX/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..5b2707ddbc
--- /dev/null
+++ b/l10n-es-MX/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 "Nuevo evento…">
+<!ENTITY event.new.event.accesskey "N">
+
+<!ENTITY event.new.task "Nueva tarea…">
+<!ENTITY event.new.task.accesskey "k">
+
+<!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 "Eliminar suscripción al 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 "Eliminar calendario seleccionado…">
+<!ENTITY calendar.removecalendar.accesskey "R">
+
+
+<!ENTITY calendar.menu.customize.label "Personalizar…">
+<!ENTITY calendar.menu.customize.accesskey "C">
+
+<!ENTITY showUnifinderCmd.label "Buscar eventos">
+<!ENTITY showUnifinderCmd.accesskey "F">
+<!ENTITY showUnifinderCmd.tooltip "Activar/desactivar el panel Encontrar eventos">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Mostrar Tareas en Calendario">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "T">
+
+<!ENTITY goTodayCmd.label "Hoy">
+<!ENTITY goTodayCmd.accesskey "T">
+
+<!ENTITY showCurrentView.label "Vista actual">
+<!ENTITY showCurrentView.accesskey "V">
+
+<!ENTITY calendar.properties.label "Propiedades del calendario...">
+<!ENTITY calendar.properties.accesskey "a">
diff --git a/l10n-es-MX/calendar/chrome/calendar/migration.dtd b/l10n-es-MX/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 0000000000..783c7d5d10
--- /dev/null
+++ b/l10n-es-MX/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;: importar datos">
+<!ENTITY migration.welcome "Bienvenido">
+<!ENTITY migration.importing "Importando">
+<!ENTITY migration.list.description "&brandShortName; puede importar datos de calendario de muchas aplicaciones populares. Se encontraron datos de las siguientes aplicaciones en tu computadora. Por favor, selecciona cuál de ellas deseas importar.">
+<!ENTITY migration.progress.description "Importando datos seleccionados">
diff --git a/l10n-es-MX/calendar/chrome/calendar/migration.properties b/l10n-es-MX/calendar/chrome/calendar/migration.properties
new file mode 100644
index 0000000000..67d2dfed65
--- /dev/null
+++ b/l10n-es-MX/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 = Migración %1$S...
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: Importar datos
+migrationDescription=%1$S puede importar datos desde muchas aplicaciones populares del calendario. Se encontraron datos de las siguientes aplicaciones en tu computadora. Por favor, selecciona cuál de ellas desea importar.
+finished = Completado
+disableExtTitle = Se ha encontrado una versión incompatible
+disableExtText = Tienes la extensión antigua del calendario de Mozilla calendario que no es compatible con Lightning. Se deshabilitará y %1$S reiniciará.
diff --git a/l10n-es-MX/calendar/chrome/calendar/provider-uninstall.dtd b/l10n-es-MX/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..3806208379
--- /dev/null
+++ b/l10n-es-MX/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 proveedor">
+<!ENTITY providerUninstall.accept.label "Cancelar la suscripción seleccionada">
+<!ENTITY providerUninstall.accept.accesskey "U">
+<!ENTITY providerUninstall.cancel.label "Mantener Addon">
+<!ENTITY providerUninstall.cancel.accesskey "K">
+<!ENTITY providerUninstall.preName.label "Has solicitado desinstalar o desactivar:">
+<!ENTITY providerUninstall.postName.label "Esto hará que los calendarios a continuación se desactiven.">
+<!ENTITY providerUninstall.reinstallNote.label "A menos de que no estés planeando volver a instalar este proveedor, puedes cancelar la suscripción a calendarios de este proveedor.">
diff --git a/l10n-es-MX/calendar/chrome/calendar/timezones.properties b/l10n-es-MX/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 0000000000..c69bd0835c
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,488 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# extension:
+extensions.calendar-timezones@mozilla.org.name=Definiciones de huso horario para el calendario de Mozilla
+extensions.calendar-timezones@mozilla.org.description=Definiciones de huso horario requeridas por Lightning
+extensions.calendar-timezones@mozilla.org.creator=Proyecto de calendario de Mozilla
+
+pref.timezone.floating=Hora 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/Argel
+pref.timezone.Africa.Asmara=África/Asmera
+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/Cairo
+pref.timezone.Africa.Casablanca=África/Casablanca
+pref.timezone.Africa.Ceuta=África/Ceuta
+pref.timezone.Africa.Conakry=África/Conakry
+pref.timezone.Africa.Dakar=África/Dakar
+pref.timezone.Africa.Dar_es_Salaam=África/Dar es Salaam
+pref.timezone.Africa.Djibouti=África/Djibouti
+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/Khartoum
+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/Mogadishu
+pref.timezone.Africa.Monrovia=África/Monrovia
+pref.timezone.Africa.Nairobi=África/Nairobi
+pref.timezone.Africa.Ndjamena=África/N'djamena
+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/Santo Tomé
+pref.timezone.Africa.Tripoli=África/Trípoli
+pref.timezone.Africa.Tunis=África/Túnez
+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/Anguila
+pref.timezone.America.Antigua=América/Antigua
+pref.timezone.America.Araguaina=América/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=América/Argentina/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=América/Argentina/Catamarca
+pref.timezone.America.Argentina.Cordoba=América/Argentina/Córdoba
+pref.timezone.America.Argentina.Jujuy=América/Argentina/Jujuy
+pref.timezone.America.Argentina.La_Rioja=América/Argentina/La Rioja
+pref.timezone.America.Argentina.Mendoza=América/Argentina/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=América/Argentina/Río Gallegos
+pref.timezone.America.Argentina.San_Juan=América/Argentina/San Juan
+pref.timezone.America.Argentina.Tucuman=América/Argentina/Tucumán
+pref.timezone.America.Argentina.Ushuaia=América/Argentina/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/Cayena
+pref.timezone.America.Cayman=América/Cayman
+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=America/Curacao
+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/Eirunepe
+pref.timezone.America.El_Salvador=América/El Salvador
+pref.timezone.America.Fortaleza=América/Fortaleza
+pref.timezone.America.Glace_Bay=America/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/Guyana
+pref.timezone.America.Halifax=América/Halifax
+pref.timezone.America.Havana=América/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/Petersburg
+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/Jamaica
+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 Ángeles
+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/Ciudad de México
+pref.timezone.America.Miquelon=América/Miquelón
+pref.timezone.America.Moncton=América/Moncton
+pref.timezone.America.Monterrey=América/Monterrey
+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/New York
+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 del Norte/Centro
+pref.timezone.America.North_Dakota.New_Salem=América/Dakota del Norte/Nuevo 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/Port-au-Prince
+pref.timezone.America.Port_of_Spain=América/Puerto España
+pref.timezone.America.Porto_Velho=América/Porto Velho
+pref.timezone.America.Puerto_Rico=América/Puerto 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/Rio 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/St. Lucia
+pref.timezone.America.St_Thomas=América/St. Thomas
+pref.timezone.America.St_Vincent=América/St. Vincent
+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/Tórtola
+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/Amman
+pref.timezone.Asia.Anadyr=Asia/Anádyr
+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/Choibalsán
+pref.timezone.Asia.Chongqing=Asia/Chongqing
+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/Dubái
+pref.timezone.Asia.Dushanbe=Asia/Dusambé
+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/Yakarta
+pref.timezone.Asia.Jayapura=Asia/Jayapura
+pref.timezone.Asia.Jerusalem=Asia/Jerusalén
+pref.timezone.Asia.Kabul=Asia/Kabul
+pref.timezone.Asia.Kamchatka=Asia/Kamchatka
+pref.timezone.Asia.Karachi=Asia/Karachi
+pref.timezone.Asia.Kashgar=Asia/Kasgar
+pref.timezone.Asia.Kathmandu=Asia/Katmandú
+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/Macao
+pref.timezone.Asia.Magadan=Asia/Magadán
+pref.timezone.Asia.Makassar=Asia/Macasar
+pref.timezone.Asia.Manila=Asia/Manila
+pref.timezone.Asia.Muscat=Asia/Mascate
+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/Nom Pem
+pref.timezone.Asia.Pontianak=Asia/Pontianak
+pref.timezone.Asia.Pyongyang=Asia/Pionyang
+pref.timezone.Asia.Qatar=Asia/Catar
+pref.timezone.Asia.Qyzylorda=Asia/Kyzylorda
+pref.timezone.Asia.Rangoon=Asia/Rangún
+pref.timezone.Asia.Riyadh=Asia/Riad
+pref.timezone.Asia.Sakhalin=Asia/Sajalín
+pref.timezone.Asia.Samarkand=Asia/Samarcanda
+pref.timezone.Asia.Seoul=Asia/Seúl
+pref.timezone.Asia.Shanghai=Asia/Shanghái
+pref.timezone.Asia.Singapore=Asia/Singapur
+pref.timezone.Asia.Taipei=Asia/Taipéi
+pref.timezone.Asia.Tashkent=Asia/Taskent
+pref.timezone.Asia.Tbilisi=Asia/Tiflis
+pref.timezone.Asia.Tehran=Asia/Teherán
+pref.timezone.Asia.Thimphu=Asia/Timbu
+pref.timezone.Asia.Tokyo=Asia/Tokio
+pref.timezone.Asia.Ulaanbaatar=Asia/Ulán Bator
+pref.timezone.Asia.Urumqi=Asia/Urumchi
+pref.timezone.Asia.Vientiane=Asia/Vientián
+pref.timezone.Asia.Vladivostok=Asia/Vladivostok
+pref.timezone.Asia.Yakutsk=Asia/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asia/Ekaterimburgo
+pref.timezone.Asia.Yerevan=Asia/Ereván
+pref.timezone.Atlantic.Azores=Atlántico/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/Islas Feroe
+pref.timezone.Atlantic.Madeira=Atlántico/Madeira
+pref.timezone.Atlantic.Reykjavik=Atlántico/Reikiavik
+pref.timezone.Atlantic.South_Georgia=Atlántico/Islas Georgias del Sur y Sandwich del Sur
+pref.timezone.Atlantic.St_Helena=Atlántico/Isla Santa Elena
+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/Sídney
+pref.timezone.Europe.Amsterdam=Europa/Ámsterdam
+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/Bruselas
+pref.timezone.Europe.Bucharest=Europa/Bucarest
+pref.timezone.Europe.Budapest=Europa/Budapest
+pref.timezone.Europe.Chisinau=Europa/Chisináu
+pref.timezone.Europe.Copenhagen=Europa/Copenhague
+pref.timezone.Europe.Dublin=Europa/Dublín
+pref.timezone.Europe.Gibraltar=Europa/Gibraltar
+pref.timezone.Europe.Guernsey=Europa/Guernsey
+pref.timezone.Europe.Helsinki=Europa/Helsinki
+pref.timezone.Europe.Isle_of_Man=Europa/Isla 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/Moscú
+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/Sarajevo
+pref.timezone.Europe.Simferopol=Europa/Simferópol
+pref.timezone.Europe.Skopje=Europa/Skopie
+pref.timezone.Europe.Sofia=Europa/Sofía
+pref.timezone.Europe.Stockholm=Europa/Estocolmo
+pref.timezone.Europe.Tallinn=Europa/Tallin
+pref.timezone.Europe.Tirane=Europa/Tirana
+pref.timezone.Europe.Uzhgorod=Europa/Úzhgorod
+pref.timezone.Europe.Vaduz=Europa/Vaduz
+pref.timezone.Europe.Vatican=Europa/Vaticano
+pref.timezone.Europe.Vienna=Europa/Viena
+pref.timezone.Europe.Vilnius=Europa/Vilna
+pref.timezone.Europe.Volgograd=Europa/Volgogrado
+pref.timezone.Europe.Warsaw=Europa/Varsovia
+pref.timezone.Europe.Zagreb=Europa/Zagreb
+pref.timezone.Europe.Zaporozhye=Europa/Zaporiyia
+pref.timezone.Europe.Zurich=Europa/Zúrich
+pref.timezone.Indian.Antananarivo=India/Antananarivo
+pref.timezone.Indian.Chagos=India/Chagos
+pref.timezone.Indian.Christmas=India/Christmas
+pref.timezone.Indian.Cocos=India/Cocos
+pref.timezone.Indian.Comoro=India/Comoras
+pref.timezone.Indian.Kerguelen=India/Kerguelen
+pref.timezone.Indian.Mahe=India/Mahé
+pref.timezone.Indian.Maldives=India/Maldivas
+pref.timezone.Indian.Mauritius=India/Mauricio
+pref.timezone.Indian.Mayotte=India/Mayotte
+pref.timezone.Indian.Reunion=India/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/Isla de Pascua
+pref.timezone.Pacific.Efate=Pacífico/Éfaté
+pref.timezone.Pacific.Enderbury=Pacífico/Enderbury
+pref.timezone.Pacific.Fakaofo=Pacífico/Fakaofo
+pref.timezone.Pacific.Fiji=Pacífico/Fiyi
+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/Honolulu
+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/Numea
+pref.timezone.Pacific.Pago_Pago=Pacífico/Pago Pago
+pref.timezone.Pacific.Palau=Pacífico/Palaos
+pref.timezone.Pacific.Pitcairn=Pacífico/Pitcairn
+pref.timezone.Pacific.Ponape=Pacífico/Pohnpei
+pref.timezone.Pacific.Port_Moresby=Pacífico/Puerto Moresby
+pref.timezone.Pacific.Rarotonga=Pacífico/Rarotonga
+pref.timezone.Pacific.Saipan=Pacífico/Saipán
+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/Argentina/San Luis
+pref.timezone.America.Santarem=América/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asia/Ho Chi Minh
+pref.timezone.Asia.Kolkata=Asia/Calcuta
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=América/Argentina/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 Banderas
+pref.timezone.America.North_Dakota.Beulah=América/Dakota del 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=América/Creston
+pref.timezone.Asia.Khandyga=Asia/Khandiga
+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/Chitá
+pref.timezone.Asia.Srednekolymsk=Asia/Srednekolimsk
+pref.timezone.Pacific.Bougainville=Pacífico/Bougainville
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=América/Fuerte Nelson
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Europa/Uliánovsk
+pref.timezone.Europe.Astrakhan=Europa/Astracán
+pref.timezone.Asia.Barnaul=Asia/Barnaúl
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asia/Rangún
+pref.timezone.Asia.Tomsk=Asia/Tomsk
+pref.timezone.Asia.Famagusta=Asia/Famagusta
+pref.timezone.Europe.Kirov=Europa/Kirov
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Europa/Sarátov
+pref.timezone.Asia.Atyrau=Asya/Atirau
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=América/Punta Arenas
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Asia/Kostanay
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=América/Nuuk
diff --git a/l10n-es-MX/calendar/chrome/lightning/lightning-toolbar.dtd b/l10n-es-MX/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..c537bb0950
--- /dev/null
+++ b/l10n-es-MX/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 herramientas del calendario">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "C">
+<!ENTITY lightning.toolbar.task.name "Barra de herramientas de tareas">
+<!ENTITY lightning.toolbar.task.name.accesskey "T">
+
+<!ENTITY lightning.toolbar.sync.label "Sincronizar">
+<!ENTITY lightning.toolbar.sync.tooltip "Recargar calendario y sincronizar cambios">
+<!ENTITY lightning.toolbar.delete.label "Eliminar">
+<!ENTITY lightning.toolbar.delete.tooltip "Eliminar eventos o tareas seleccionados">
+<!ENTITY lightning.toolbar.edit.label "Editar">
+<!ENTITY lightning.toolbar.edit.tooltip "Editar evento o tarea seleccionada">
+<!ENTITY lightning.toolbar.gototoday.label "Ir al día de hoy">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Ir al día de hoy">
+<!ENTITY lightning.toolbar.print.label "Imprimir">
+<!ENTITY lightning.toolbar.print.tooltip "Imprimir eventos o tareas">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Calendario">
+<!ENTITY lightning.toolbar.calendar.tooltip "Cambiar a la pestaña calendario">
+<!ENTITY lightning.toolbar.calendar.accesskey "C">
+<!ENTITY lightning.toolbar.task.label "Tareas">
+<!ENTITY lightning.toolbar.task.tooltip "Cambiar a la pestaña tareas">
+<!ENTITY lightning.toolbar.task.accesskey "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Evento">
+<!ENTITY lightning.toolbar.newevent.tooltip "Crear un nuevo evento">
+<!ENTITY lightning.toolbar.newtask.label "Tarea">
+<!ENTITY lightning.toolbar.newtask.tooltip "Crear una nueva tarea">
+
+<!-- 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 "W">
+<!ENTITY lightning.toolbar.multiweek.label "Multisemana">
+<!ENTITY lightning.toolbar.multiweek.accesskey "u">
+<!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ú de aplicaciones">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Desplegar el menú de &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "Panel del calendario">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "P">
+<!ENTITY lightning.toolbar.calendarpane.label "Mostrar panel del calendario">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "P">
diff --git a/l10n-es-MX/calendar/chrome/lightning/lightning.dtd b/l10n-es-MX/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 0000000000..a722970bfb
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,116 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- WARNING! This file contains UTF-8 encoded characters!
+ - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
+ - your editor isn't using UTF-8 encoding and may munge up the document!
+ -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "Calendario">
+
+<!-- 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 "Tarea…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "Calendario…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label "Abrir">
+<!ENTITY lightning.menupopup.open.accesskey "O">
+<!ENTITY lightning.menupopup.open.message.label "Mensaje guardado…">
+<!ENTITY lightning.menupopup.open.message.accesskey "M">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.calendar.label "Archivo del 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 "Tareas">
+<!ENTITY lightning.menu.view.tasks.accesskey "k">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Eventos y tareas">
+<!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:">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "Preferir agendar el correo electrónico del lado del cliente">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "Por ahora, puedes habilitar esto después de configurar este calendario en las propiedades si el servidor del calendario se encarga de agendarlo.">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Esta opción solo está disponible si el servidor de calendario maneja la programación. La habilitación permitirá volver a la programación estándar basada en correo electrónico en lugar de dejarla en el servidor.">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Aceptar">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Aceptar invitación al evento">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Aceptar todas">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Aceptar invitación al evento para todas las ocurrencias del evento">
+<!ENTITY lightning.imipbar.btnAdd.label "Agregar">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Agregar el evento al calendario">
+<!ENTITY lightning.imipbar.btnDecline.label "Rechazar">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Rechazar invitación al evento">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Rechazar todas">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Rechazar invitación al evento para todas las ocurrencias del evento">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Rechazar">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Rechazar la contrapropuesta">
+<!ENTITY lightning.imipbar.btnDelete.label "Eliminar">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Eliminar del calendario">
+<!ENTITY lightning.imipbar.btnDetails.label "Detalles…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Mostrar detalles del evento">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "No me muestres estos mensajes">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "Calendario">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Ir a la pestañas de calendario">
+<!ENTITY lightning.imipbar.btnMore.label "Más">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Haz clic para mostrar más opciones">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Volver a confirmar">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Enviar una reconfirmación al organizador">
+<!ENTITY lightning.imipbar.btnReschedule.label "Volver a programar">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Reprogramar el evento">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Guardar una copia">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Guardar una copia del evento en el calendario independientemente en respuesta al organizador. Se borrará la lista de asistentes.">
+<!ENTITY lightning.imipbar.btnTentative.label "Provisional">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Aceptar provisionalmente una invitación al evento">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Todas provisionales">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Aceptar invitación al evento para todas las ocurrencias del evento">
+<!ENTITY lightning.imipbar.btnUpdate.label "Actualizar">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Actualizar evento en calendario">
+<!ENTITY lightning.imipbar.description "Este mensaje contiene una invitación a un evento.">
+
+<!ENTITY lightning.imipbar.btnSend.label "Enviar una respuesta ahora">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "Enviar una respuesta al organizador">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Enviar una respuesta para la serie completa al organizador">
+<!ENTITY lightning.imipbar.btnDontSend.label "No enviar una respuesta">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Cambiar tu estado de participación sin enviar una respuesta al organizador">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Cambiar tu estado de participación para la serie sin enviar una respuesta al organizador">
+
+<!-- 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 nuevo calendario">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Ver mini mes">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Mostrar mini día">
+<!ENTITY todaypane.showMiniday.accesskey "">
+<!ENTITY todaypane.showNone.label "No mostrar ningúna">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "Mostrar vista de hoy">
+<!ENTITY todaypane.showTodayPane.accesskey "o">
+<!ENTITY todaypane.statusButton.label "Vista de hoy">
diff --git a/l10n-es-MX/calendar/chrome/lightning/lightning.properties b/l10n-es-MX/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 0000000000..c8b619f19e
--- /dev/null
+++ b/l10n-es-MX/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,201 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=Calendarización integrada y agendarización para tu cliente de correo electrónico
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Proyecto Mozilla Calendar
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Tareas
+
+# Tab titles
+tabTitleCalendar=Calendario
+tabTitleTasks=Tareas
+
+# Html event display in message
+imipHtml.header=Invitación a evento
+imipHtml.summary=Título:
+imipHtml.location=Ubicación:
+imipHtml.when=Cuándo:
+imipHtml.organizer=Organizador:
+imipHtml.description=Descripció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=Adjuntos:
+imipHtml.comment=Comentarios:
+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.url=Enlace relacionado:
+imipHtml.canceledOccurrences=Asistencias canceladas:
+imipHtml.modifiedOccurrences=Asistencias modificadas:
+imipHtml.newLocation=Nueva ubicació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
+imipHtml.attendeeDelegatedFrom=(delegado de %1$S)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(delegado a %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S preside el evento.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S no es participante.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=%1$S es un participante opcional.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=%1$S es un participante requerido.
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S ha confirmado asistencia.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S ha declinado asistencia.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S ha delegado la asistencia a %2$S.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S aún necesita respuesta.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S ha confirmado tentativamente su asistencia.
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (grupo)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (recurso)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (cuarto)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=El evento ha sido añadido a tu calendario.
+imipCanceledItem2=El evento ha sido eliminado de tu calendario.
+imipUpdatedItem2=El evento ha sido actualizado.
+imipBarCancelText=Este mensaje contiene una cancelación de evento.
+imipBarCounterErrorText=Este mensaje contiene una contrapropuesta a una invitación que no puede ser procesada.
+imipBarCounterPreviousVersionText=Este mensaje contiene una contrapropuesta a una versión anterior de una invitación.
+imipBarCounterText=Este mensaje contiene una contrapropuesta a una invitación.
+imipBarDisallowedCounterText=Este mensaje contiene una contrapropuesta, sin embargo tú deshabilitaste contraproponer para este evento.
+imipBarDeclineCounterText=Este mensaje contiene una respuesta a tu contrapropuesta.
+imipBarRefreshText=Este mensaje pide una actualización de evento.
+imipBarPublishText=Este mensaje contiene un evento.
+imipBarRequestText=Este mensaje contiene una invitación a un evento.
+imipBarSentText=Este mensaje contiene un evento enviado.
+imipBarSentButRemovedText=Este mensaje contiene un evento enviado que no ya no está en tu calendario.
+imipBarUpdateText=Este mensaje contiene una actualización a un evento existente.
+imipBarUpdateMultipleText=Este mensaje contiene actualizaciones a los eventos múltiples existentes.
+imipBarUpdateSeriesText=Este mensaje contiene un actualización a la existente serie de eventos.
+imipBarAlreadyProcessedText=Este mensaje contiene un evento que ya ha sido procesado.
+imipBarProcessedNeedsAction=Este mensaje contiene un evento que tú no has respondido aún.
+imipBarProcessedMultipleNeedsAction=Este mensaje contiene múltiples eventos que aún no has respondido.
+imipBarProcessedSeriesNeedsAction=Este mensaje contiene una serie de eventos que aún no has respondido.
+imipBarReplyText=Este mensaje contiene una respuesta a una invitación.
+imipBarReplyToNotExistingItem=Este mensaje contiene una respuesta referente a un evento que ya no está en tu calendario.
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=Este menaje contiene una respuesta referente a un evento que fue eliminado de tu calendario el %1$S.
+imipBarUnsupportedText=Este mensaje contiene un evento que esta versión de Lightning no puede procesar.
+imipBarUnsupportedText2=Este mensaje contiene un evento que esta versión de %1$S no puede procesar.
+imipBarProcessingFailed=Falló al procesar el mensaje. Estatus: %1$S.
+imipBarCalendarDeactivated=Este mensaje contiene información del evento. Habilita un calendario para manejarlo.
+imipBarNotWritable=No hay calendarios configurados para invitaciones, por favor revisa las propiedades del calendario.
+imipSendMail.title=Notificaciones por correo
+imipSendMail.text=¿Te gustaría mandar una notificación por correo ahora?
+imipNoIdentity=Ninguno
+imipNoCalendarAvailable=No hay calendarios editables disponibles.
+
+itipReplySubject2=Respuesta de la invitación: %1$S
+itipReplyBodyAccept=%1$S ha aceptado tu invitación al evento.
+itipReplyBodyDecline=%1$S ha declinado tu invitación al evento.
+itipReplySubjectAccept2=Aceptado: %1$S
+itipReplySubjectDecline2=Invitación declinada: %1$S
+itipReplySubjectTentative2=Tentativo: %1$S
+itipRequestSubject2=Invitación: %1$S
+itipRequestUpdatedSubject2=Actualizado: %1$S
+itipRequestBody=%1$S te ha invitado a %2$S
+itipCancelSubject2=Cancelado: %1$S
+itipCancelBody=%1$S ha cancelado este evento: %2$S
+itipCounterBody=%1$S ha hecho una contrapropuesta para "%2$S":
+itipDeclineCounterBody=%1$S ha declinado tu contrapropuesta para "%2$S".
+itipDeclineCounterSubject=Contrapropuesta declinada: %1$S
+
+confirmProcessInvitation=Has borrado este ítem recientemente ¿estás seguro de que quieres procesar esta invitación?
+confirmProcessInvitationTitle=¿Procesar invitación?
+
+invitationsLink.label=Invitaciones: %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=El componente binario requerido para %1$S no pudo ser cargado, probablemente porque se ha usado una combinación de versión incorrecta. Actualmente tienes %1$S %2$S instalado, pero deberías usar una versión de la 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=El componente binario requerido para %1$S no pudo ser cargado, probablemente porque se ha usado una combinación de versión incorrecta. Estás usando %2$S %3$S junto con %1$S %4$S. Por favor revisa https://developer.mozilla.org/en/Calendar/Calendar_Versions para más 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 no coincide
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=Si deseas usar este calendario para almacenar invitaciones para otras personas debes asignar un correo de identidad a continuación.