summaryrefslogtreecommitdiffstats
path: root/l10n-es-MX/mobile
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/mobile
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/mobile/android/chrome/about.dtd21
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutAccounts.dtd13
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutAccounts.properties16
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutAddons.dtd15
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutAddons.properties11
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutCertError.dtd31
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutDownloads.dtd15
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutDownloads.properties17
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutHome.dtd7
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutLogins.dtd9
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutLogins.properties33
-rw-r--r--l10n-es-MX/mobile/android/chrome/aboutPrivateBrowsing.dtd25
-rw-r--r--l10n-es-MX/mobile/android/chrome/browser.properties476
-rw-r--r--l10n-es-MX/mobile/android/chrome/config.dtd21
-rw-r--r--l10n-es-MX/mobile/android/chrome/config.properties9
-rw-r--r--l10n-es-MX/mobile/android/chrome/devicePrompt.properties5
-rw-r--r--l10n-es-MX/mobile/android/chrome/passwordmgr.properties20
-rw-r--r--l10n-es-MX/mobile/android/chrome/phishing.dtd27
-rw-r--r--l10n-es-MX/mobile/android/chrome/pippki.properties84
-rw-r--r--l10n-es-MX/mobile/android/chrome/sync.properties12
-rw-r--r--l10n-es-MX/mobile/android/chrome/webcompatReporter.properties12
-rw-r--r--l10n-es-MX/mobile/android/defines.inc14
-rw-r--r--l10n-es-MX/mobile/chrome/region.properties22
-rw-r--r--l10n-es-MX/mobile/overrides/appstrings.properties41
-rw-r--r--l10n-es-MX/mobile/overrides/netError.dtd121
25 files changed, 1077 insertions, 0 deletions
diff --git a/l10n-es-MX/mobile/android/chrome/about.dtd b/l10n-es-MX/mobile/android/chrome/about.dtd
new file mode 100644
index 0000000000..773fa8c8d2
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/about.dtd
@@ -0,0 +1,21 @@
+<!-- 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 aboutPage.title "Acerca de &brandShortName;">
+<!ENTITY aboutPage.warningVersion "&brandShortName; es experimental y podría ser inestable.">
+<!ENTITY aboutPage.checkForUpdates.link "« Buscar actualizaciones »">
+<!ENTITY aboutPage.checkForUpdates.checking "Buscando actualizaciones…">
+<!ENTITY aboutPage.checkForUpdates.none "No hay actualizaciones disponibles">
+<!ENTITY aboutPage.checkForUpdates.available2 "Descargar actualización">
+<!ENTITY aboutPage.checkForUpdates.downloading "Descargando actualización…">
+<!ENTITY aboutPage.checkForUpdates.downloaded2 "Instalar actualización">
+<!ENTITY aboutPage.faq.label "Preguntas frecuentes">
+<!ENTITY aboutPage.support.label "Soporte">
+<!ENTITY aboutPage.privacyPolicy.label "Política de privacidad">
+<!ENTITY aboutPage.rights.label "Conoce tus derechos">
+<!ENTITY aboutPage.relNotes.label "Notas de la versión">
+<!ENTITY aboutPage.credits.label "Créditos">
+<!ENTITY aboutPage.license.label "Información de licencia">
+<!-- LOCALIZATION NOTE (aboutPage.logoTrademark): The message is explicitly about the word "Firefox" being trademarked, that's why we use it, instead of brandShortName. -->
+
+<!ENTITY aboutPage.logoTrademark "Firefox y los logotipos de Firefox son marcas registradas de la Fundación Mozilla.">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutAccounts.dtd b/l10n-es-MX/mobile/android/chrome/aboutAccounts.dtd
new file mode 100644
index 0000000000..6739d1639c
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutAccounts.dtd
@@ -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/. -->
+
+<!ENTITY aboutAccounts.connected.title "Cuentas de Firefox">
+<!ENTITY aboutAccounts.connected.description "Estás conectado como">
+<!ENTITY aboutAccounts.syncPreferences.label "Pulsa aquí para revisar tu configuración de sincronización">
+
+<!ENTITY aboutAccounts.noConnection.title "Sin conexión a Internet">
+<!ENTITY aboutAccounts.retry.label "Intentar de nuevo">
+
+<!ENTITY aboutAccounts.restrictedError.title "Restringido">
+<!ENTITY aboutAccounts.restrictedError.description "No se puede administrar cuentas de Firefox desde este perfil.">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutAccounts.properties b/l10n-es-MX/mobile/android/chrome/aboutAccounts.properties
new file mode 100644
index 0000000000..af0684fd9b
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutAccounts.properties
@@ -0,0 +1,16 @@
+# 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 (relinkDenied.message): Ideally, this string is short (it's
+# a toast message).
+relinkDenied.message = ¡Ya estás conectado en Sync!
+# LOCALIZATION NOTE (relinkDenied.openPrefs): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+relinkDenied.openPrefs = PREFS
+
+relinkVerify.title = ¿Estás seguro que quieres conectarte a Sync?
+# LOCALIZATION NOTE (relinkVerify.message): Email address of a user previously signed in to Sync.
+relinkVerify.message = Iniciaste sesión previamente en Sync con una dirección de correo electrónico diferente. Iniciar sesión fusionará marcadores de este navegador, contraseñas y otros ajustes con %S
+relinkVerify.continue = Continuar
+relinkVerify.cancel = Cancelar
diff --git a/l10n-es-MX/mobile/android/chrome/aboutAddons.dtd b/l10n-es-MX/mobile/android/chrome/aboutAddons.dtd
new file mode 100644
index 0000000000..76f0120e10
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutAddons.dtd
@@ -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/. -->
+
+<!ENTITY aboutAddons.title2 "Complementos">
+<!ENTITY aboutAddons.header2 "Tus complementos">
+
+<!ENTITY addonAction.enable "Habilitar">
+<!ENTITY addonAction.disable "Deshabilitar">
+<!ENTITY addonAction.uninstall "Desinstalar">
+<!ENTITY addonAction.undo "Deshacer">
+<!ENTITY addonAction.update "Actualizar">
+
+<!ENTITY addonUnsigned.message "Este complemento podría no estar verificado por &brandShortName;.">
+<!ENTITY addonUnsigned.learnMore "Saber más">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutAddons.properties b/l10n-es-MX/mobile/android/chrome/aboutAddons.properties
new file mode 100644
index 0000000000..ca46e58ef6
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutAddons.properties
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addonStatus.uninstalled=%S se desinstalará después de reiniciar.
+
+# Will keep both strings and at runtime will fallback on the old one if the new one is not yet localized
+addons.browseAll=Examinar todos los complementos para Firefox
+addons.browseRecommended=Descubre las extensiones recomendadas de Firefox
+
+addon.options=Opciones
diff --git a/l10n-es-MX/mobile/android/chrome/aboutCertError.dtd b/l10n-es-MX/mobile/android/chrome/aboutCertError.dtd
new file mode 100644
index 0000000000..50ae1a1ed5
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutCertError.dtd
@@ -0,0 +1,31 @@
+<!-- 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 % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+
+<!-- These strings are used by Firefox's custom about:certerror page,
+a replacement for the standard security certificate errors produced
+by NSS/PSM via netError.xhtml. -->
+
+
+<!ENTITY certerror.pagetitle "Conexión no confiable">
+<!ENTITY certerror.longpagetitle "Esta conexión no es de confianza">
+<!-- Localization note (certerror.introPara1) - The string "#1" will
+be replaced at runtime with the name of the server to which the user
+was trying to connect. -->
+
+<!ENTITY certerror.introPara1 "Le solicitaste a &brandShortName; conectarse en forma segura a <b>#1</b>, pero no es posible confirmarla como tal.">
+
+<!ENTITY certerror.whatShouldIDo.heading "¿Qué debo hacer?">
+<!ENTITY certerror.whatShouldIDo.content "Si comúnmente te conectas a este sitio web sin problemas, este error podría significar que alguien está intentando suplantarlo y no deberías continuar.">
+<!ENTITY certerror.getMeOutOfHere.label "¡Sácame de aquí!">
+
+<!ENTITY certerror.expert.heading "Entiendo los riesgos">
+<!ENTITY certerror.expert.content "Si entiendes lo que está pasando puedes indicarle a &brandShortName; confiar en la identificación de este sitio web. <b>Incluso si confías en este sitio web, este error podría significar que alguien está interfiriendo tu conexión.</b>">
+<!ENTITY certerror.expert.contentPara2 "No añadas una excepción a menos que sepas que hay una buena razón por la cual este sitio no usa identificación confiable.">
+<!ENTITY certerror.addTemporaryException.label "Visitar sitio">
+<!ENTITY certerror.addPermanentException.label "Agregar excepción permanente">
+
+<!ENTITY certerror.technical.heading "Detalles técnicos">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutDownloads.dtd b/l10n-es-MX/mobile/android/chrome/aboutDownloads.dtd
new file mode 100644
index 0000000000..c932149f3a
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutDownloads.dtd
@@ -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/. -->
+
+<!ENTITY aboutDownloads.title "Descargas">
+<!ENTITY aboutDownloads.header "Tus descargas">
+<!ENTITY aboutDownloads.empty "No hay descargas">
+
+<!ENTITY aboutDownloads.open "Abrir">
+<!ENTITY aboutDownloads.remove "Eliminar">
+<!ENTITY aboutDownloads.removeAll "Eliminar todo">
+<!ENTITY aboutDownloads.pause "Pausa">
+<!ENTITY aboutDownloads.resume "Reanudar">
+<!ENTITY aboutDownloads.cancel "Cancelar">
+<!ENTITY aboutDownloads.retry "Reintentar">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutDownloads.properties b/l10n-es-MX/mobile/android/chrome/aboutDownloads.properties
new file mode 100644
index 0000000000..87cc1d9cd8
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutDownloads.properties
@@ -0,0 +1,17 @@
+# 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 (downloadMessage.deleteAll):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+downloadMessage.deleteAll=¿Eliminar esta descarga?;Eliminar #1 descargas?
+
+downloadAction.deleteAll=Eliminar todo
+
+downloadState.downloading=Descargando…
+downloadState.canceled=Cancelado
+downloadState.failed=Fallido
+downloadState.paused=Pausado
+downloadState.starting=Iniciando…
+downloadState.unknownSize=Tamaño desconocido
diff --git a/l10n-es-MX/mobile/android/chrome/aboutHome.dtd b/l10n-es-MX/mobile/android/chrome/aboutHome.dtd
new file mode 100644
index 0000000000..452a398608
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutHome.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/. -->
+<!-- This string should be kept in sync with the home_title string
+ in android_strings.dtd -->
+
+<!ENTITY abouthome.title "Inicio de &brandShortName;">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutLogins.dtd b/l10n-es-MX/mobile/android/chrome/aboutLogins.dtd
new file mode 100644
index 0000000000..452574655c
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutLogins.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 % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+<!ENTITY aboutLogins.title "Inicios de sesión">
+<!ENTITY aboutLogins.update "Actualizar">
+<!ENTITY aboutLogins.emptyLoginText "Mantén tus inicios de sesión seguros">
+<!ENTITY aboutLogins.emptyLoginHint "Inicios de sesión y credenciales que guardas usando &brandShortName; se mostrarán aquí.">
diff --git a/l10n-es-MX/mobile/android/chrome/aboutLogins.properties b/l10n-es-MX/mobile/android/chrome/aboutLogins.properties
new file mode 100644
index 0000000000..2d81aa0946
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutLogins.properties
@@ -0,0 +1,33 @@
+# 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/.
+
+loginsMenu.showPassword=Mostrar contraseña
+loginsMenu.copyPassword=Copiar contraseña
+loginsMenu.copyUsername=Copiar nombre de usuario
+loginsMenu.editLogin=Editar inicio de sesión
+loginsMenu.delete=Eliminar
+
+loginsMenu.deleteAll=Eliminar todo
+
+loginsDialog.confirmDelete=¿Eliminar este inicio de sesión?
+loginsDialog.confirmDeleteForFxaUser=¿Eliminar este inicio de sesión?\n\nEsto puede afectar los inicios de sesión sincronizados.
+loginsDialog.confirmDeleteAll=¿Eliminar todos los inicios de sesión?
+loginsDialog.confirmDeleteAllForFxaUser=¿Eliminar todos los inicios de sesión?\n\nEsto puede afectar los inicios de sesión sincronizados.
+loginsDialog.copy=Copiar
+loginsDialog.confirm=Aceptar
+loginsDialog.cancel=Cancelar
+
+editLogin.fallbackTitle=Editar inicio de sesión
+editLogin.saved1=Inicio de sesión guardado
+editLogin.couldNotSave=Los cambios no pueden guardarse
+
+loginsDetails.copyFailed=Error al copiar
+loginsDetails.passwordCopied=Contraseña copiada
+loginsDetails.usernameCopied=Nombre de usuario copiado
+loginsDetails.deleted=Inicio de sesión eliminado
+
+loginsDetails.deletedAll=Se eliminaron todos los inicios de sesión
+
+password-btn.show=Mostrar
+password-btn.hide=Ocultar
diff --git a/l10n-es-MX/mobile/android/chrome/aboutPrivateBrowsing.dtd b/l10n-es-MX/mobile/android/chrome/aboutPrivateBrowsing.dtd
new file mode 100644
index 0000000000..cbe4b204dc
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/aboutPrivateBrowsing.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY privatebrowsingpage.title "Navegación privada">
+<!-- Localisation note: the plus sign here is a shorthand way of expressing the word "and". Contextually the privatebrowsingpage.title.private string
+ is used as a title, with the privatebrowsingpage.title string preceding it but on a separate line.
+ So the final line will say "Private Browsing + Tracking Protection". -->
+
+<!ENTITY privatebrowsingpage.title.private "+ Protección de rastreo">
+<!-- Localization note (privatebrowsingpage.title.normal1): "Private Browsing"
+ is capitalized in English to be consistent with our existing uses of the
+ term. -->
+<!ENTITY privatebrowsingpage.title.normal1 "No estás navegando en forma privada">
+
+<!ENTITY privatebrowsingpage.description.trackingProtection "&brandShortName; bloquea partes de las páginas que podrían rastrear tu actividad de navegación.">
+<!ENTITY privatebrowsingpage.description.privateDetails "No recordaremos nada de tu historial, pero los archivos descargados y los nuevos marcadores se mantendrán guardados en tu dispositivo.">
+<!-- Localization note (privatebrowsingpage.description.normal2): "Private
+ Browsing is capitalized in English to be consistent with our existing uses
+ of the term. -->
+
+<!ENTITY privatebrowsingpage.description.normal2 "En la navegación privada, no se conserva tu historial de navegación ni las cookies. Los marcadores que añadas y los archivos que descargues sí continuarán guardados en tu dispositivo.">
+
+<!ENTITY privatebrowsingpage.link.private "¿Quieres saber más?">
+<!ENTITY privatebrowsingpage.link.normal "Abrir una nueva pestaña privada">
diff --git a/l10n-es-MX/mobile/android/chrome/browser.properties b/l10n-es-MX/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..5913a2c5d5
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/browser.properties
@@ -0,0 +1,476 @@
+# 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/.
+
+addonsConfirmInstall.title=Instalando complemento
+addonsConfirmInstall.install=Instalar
+
+addonsConfirmInstallUnsigned.title=Complemento no verificado
+addonsConfirmInstallUnsigned.message=Este sitio desea instalar un complemento no verificado. Procede bajo tu propio riesgo.
+
+# Alerts
+alertAddonsDownloading=Descargando complemento
+alertAddonsInstalledNoRestart.message=Instalación completa
+
+# LOCALIZATION NOTE (alertAddonsInstalledNoRestart.action2): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+alertAddonsInstalledNoRestart.action2=COMPLEMENTOS
+
+alertDownloadsStart2=Iniciando descarga
+alertDownloadsDone2=Descarga completa
+alertDownloadsToast=La descarga ha iniciado…
+alertDownloadsPause=Pausa
+alertDownloadsResume=Reanudar
+alertDownloadsCancel=Cancelar
+# LOCALIZATION NOTE (alertDownloadSucceeded): This text is shown as a snackbar inside the app after a
+# successful download. %S will be replaced by the file name of the download.
+alertDownloadSucceeded=%S descargado
+# LOCALIZATION NOTE (downloads.disabledInGuest): This message appears in a toast
+# when the user tries to download something in Guest mode.
+downloads.disabledInGuest=Las descargas están deshabilitadas para las sesiones de invitado
+
+# LOCALIZATION NOTE (alertSearchEngineAddedToast, alertSearchEngineErrorToast, alertSearchEngineDuplicateToast)
+# %S will be replaced by the name of the search engine (exposed by the current page)
+# that has been added; for example, 'Google'.
+alertSearchEngineAddedToast='%S' ha sido agregado como motor de búsqueda
+alertSearchEngineErrorToast=No se pudo agregar '%S' como motor de búsqueda
+alertSearchEngineDuplicateToast='%S' ya es uno de tus motores de búsqueda
+
+# LOCALIZATION NOTE (alertShutdownSanitize): This text is shown as a snackbar during shutdown if the
+# user has enabled "Clear private data on exit".
+alertShutdownSanitize=Borrando los datos privados…
+
+alertPrintjobToast=Imprimiendo…
+
+download.blocked=No se pudo descargar el archivo
+
+addonError.titleError=Error
+addonError.titleBlocked=Complemento bloqueado
+addonError.learnMore=Saber más
+
+# LOCALIZATION NOTE (unsignedAddonsDisabled.title, unsignedAddonsDisabled.message):
+# These strings will appear in a dialog when Firefox detects that installed add-ons cannot be verified.
+unsignedAddonsDisabled.title=Complementos no verificados
+unsignedAddonsDisabled.message=Uno o más complementos instalados no pueden ser verificados y han sido deshabilitados.
+unsignedAddonsDisabled.dismiss=Descartar
+unsignedAddonsDisabled.viewAddons=Ver complementos
+
+# LOCALIZATION NOTE (addonError-1, addonError-2, addonError-3, addonError-4, addonError-5):
+# #1 is the add-on name, #2 is the add-on host, #3 is the application name
+addonError-1=El complemento no se pudo descargar por un error en la conexión en #2.
+addonError-2=El complemento de #2 no puede ser instalado porque no coincide con el complemento #3 esperado.
+addonError-3=El complemento descargado desde el #2 no se pudo instalar debido a que parece estar dañado.
+addonError-4=#1 no se pudo instalar porque #3 no logró modificar el archivo necesario.
+addonError-5=#3 ha prevenido que #2 instale un complemento no verificado.
+
+# LOCALIZATION NOTE (addonLocalError-1, addonLocalError-2, addonLocalError-3, addonLocalError-4, addonLocalError-5, addonErrorIncompatible, addonErrorBlocklisted):
+# #1 is the add-on name, #3 is the application name, #4 is the application version
+addonLocalError-1=Este complemento no se pudo instalar debido a un error de sistema de archivos.
+addonLocalError-2=Este complemento no se pudo instalar porque no coincide con el complemento #3 esperado.
+addonLocalError-3=Este complemento no se pudo instalar debido a que parece estar corrupto.
+addonLocalError-4=#1 no puede ser instalado porque #3 no puede modificar el archivo necesario.
+addonLocalError-5=Este complemento no pudo instalarse porque no ha sido verificado.
+addonErrorIncompatible=#1 no se pudo instalar por que no es compatible con #3 #4.
+addonErrorBlocklisted=#1 no se instaló por que tiene un riesgo alto de causar problemas de seguridad o estabilidad.
+
+# Notifications
+notificationRestart.normal=Reiniciar para completar los cambios.
+notificationRestart.blocked=Complementos inseguros instalados. Reiniciar para deshabilitar.
+notificationRestart.button=Reiniciar
+doorhanger.learnMore=Saber más
+
+# Popup Blocker
+
+# LOCALIZATION NOTE (popup.message): Semicolon-separated list of plural forms.
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popup.message=#1 ha impedido que este sitio abriera una ventana emergente. ¿Te gustaría mostrarla?;#1 ha impedido que este sitio abriera #2 ventanas emergentes. ¿Te gustaría mostrarlas?
+popup.dontAskAgain=No volver a preguntar por este sitio
+popup.show=Mostrar
+popup.dontShow=No mostrar
+
+# SafeBrowsing
+safeBrowsingDoorhanger=Este sitio ha sido identificado como poseedor de malware o intento de phishing. Ten cuidado.
+
+# LOCALIZATION NOTE (blockPopups.label2): Label that will be used in
+# site settings dialog.
+blockPopups.label2=Ventanas emergentes
+
+# XPInstall
+xpinstallPromptWarning2=%S ha evitado que este sitio (%S) te solicite instalar software en tu dispositivo.
+xpinstallPromptWarningLocal=%S evitó que este complemento (%S) se instalara en tu dispositivo.
+xpinstallPromptWarningDirect=%S evitó que se instalara un complemento en tu dispositivo.
+xpinstallPromptAllowButton=Permitir
+xpinstallDisabledMessageLocked=Tu administrador de sistemas desactivó la instalación de software.
+xpinstallDisabledMessage2=La instalación de software está actualmente deshabilitada. Presiona habilitar e inténtalo de nuevo.
+xpinstallDisabledButton=Habilitar
+
+# LOCALIZATION NOTE (webextPerms.header)
+# This string is used as a header in the webextension permissions dialog,
+# %S is replaced with the localized name of the extension being installed.
+# See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+# for an example of the full dialog.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.header=¿Agregar %S?
+
+# LOCALIZATION NOTE (webextPerms.listIntro)
+# This string will be followed by a list of permissions requested
+# by the webextension.
+webextPerms.listIntro=Se requiere tu permiso para:
+webextPerms.add.label=Agregar
+webextPerms.cancel.label=Cancelar
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+webextPerms.updateText=%S se ha actualizado. Debes aprobar los nuevos permisos antes de que se instale la versión actualizada. Elegir “Cancelar” mantendrá la versión actual del complemento.
+
+webextPerms.updateAccept.label=Actualizar
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replaced with the localized name of the extension requesting new
+# permissions.
+webextPerms.optionalPermsHeader=%S solicita permisos adicionales.
+webextPerms.optionalPermsListIntro=Quiere:
+webextPerms.optionalPermsAllow.label=Permitir
+webextPerms.optionalPermsDeny.label=Denegar
+
+webextPerms.description.bookmarks=Leer y modificar marcadores
+webextPerms.description.browserSettings=Leer y modificar configuración del navegador
+webextPerms.description.browsingData=Borrar historial de navegación reciente, cookies y datos relacionados
+webextPerms.description.clipboardRead=Obtener datos desde el portapapeles
+webextPerms.description.clipboardWrite=Ingresar datos desde el portapapeles
+webextPerms.description.devtools=Ampliar las herramientas para desarrolladores para acceder a tus datos en las pestañas abiertas
+webextPerms.description.downloads=Descargar archivos y leer y modificar el historial de descargas del navegador
+webextPerms.description.downloads.open=Abrir archivos descargados a tu computadora
+webextPerms.description.find=Leer el texto de todas las pestañas abiertas
+webextPerms.description.geolocation=Acceder a tu ubicación
+webextPerms.description.history=Acceder al historial de navegación
+webextPerms.description.management=Controlar el uso de la extensión y administrar temas
+# LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+# %S will be replaced with the name of the application
+webextPerms.description.nativeMessaging=Intercambiar mensajes con programas distintos a %S
+webextPerms.description.notifications=Mostrarte notificaciones
+webextPerms.description.privacy=Leer y modificar la configuración de privacidad
+webextPerms.description.proxy=Controlar la configuración del proxy del navegador
+webextPerms.description.sessions=Acceder a pestañas recientemente cerradas del navegador
+webextPerms.description.tabs=Acceder a pestañas del navegador
+webextPerms.description.topSites=Acceder al historial de navegación
+webextPerms.description.webNavigation=Acceder a la actividad del navegador durante la navegación
+
+webextPerms.hostDescription.allUrls=Acceder a tus datos para todos los sitios web
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.wildcard)
+# %S will be replaced by the DNS domain for which a webextension
+# is requesting access (e.g., mozilla.org)
+webextPerms.hostDescription.wildcard=Acceder a tus datos para los sitios del dominio %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManyWildcards):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# domains for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManyWildcards=Acceder a tus datos en #1 otro dominio;Acceder a tus datos en #1 otros dominios
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.oneSite)
+# %S will be replaced by the DNS host name for which a webextension
+# is requesting access (e.g., www.mozilla.org)
+webextPerms.hostDescription.oneSite=Acceder a tus datos para %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManySites)
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManySites=Acceder a tus datos en #1 otro sitio;Acceder a tus datos en #1 otros sitios
+
+
+# Site Identity
+identity.identified.verifier=Verificado por: %S
+identity.identified.verified_by_you=Agregaste una excepción de seguridad para este sitio
+identity.identified.state_and_country=%S, %S
+
+# Geolocation UI
+geolocation.allow=Compartir
+geolocation.dontAllow=No compartir
+# LOCALIZATION NOTE (geolocation.location): Label that will be used in
+# site settings dialog.
+geolocation.location=Ubicación
+
+# Desktop notification UI
+desktopNotification2.allow=Siempre
+desktopNotification2.dontAllow=Nunca
+# LOCALIZATION NOTE (desktopNotification.notifications): Label that will be
+# used in site settings dialog.
+desktopNotification.notifications=Notificaciones
+
+# Imageblocking
+imageblocking.downloadedImage=Imagen no bloqueada
+imageblocking.showAllImages=Mostrar todo
+
+# New Tab Popup
+# LOCALIZATION NOTE (newtabpopup, newprivatetabpopup): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of tabs
+newtabpopup.opened=Nueva pestaña abierta;#1 nuevas pestañas abiertas
+newprivatetabpopup.opened=Nueva pestaña privada abierta;#1 nuevas pestañas privadas abiertas
+
+# LOCALIZATION NOTE (newtabpopup.switch): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+newtabpopup.switch=CAMBIAR
+
+# Undo close tab toast
+# LOCALIZATION NOTE (undoCloseToast.message): This message appears in a toast
+# when the user closes a tab. %S is the title of the tab that was closed.
+undoCloseToast.message=Cerrado %S
+
+# Private Tab closed message
+# LOCALIZATION NOTE (privateClosedMessage.message): This message appears
+# when the user closes a private tab.
+privateClosedMessage.message=Navegación privada cerrada
+
+# LOCALIZATION NOTE (undoCloseToast.messageDefault): This message appears in a
+# toast when the user closes a tab if there is no title to display.
+undoCloseToast.messageDefault=Pestaña cerrada
+
+# LOCALIZATION NOTE (undoCloseToast.action2): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+undoCloseToast.action2=DESHACER
+
+# Offline web applications
+offlineApps.ask=¿Permitir que %S almacene tus datos en el dispositivo para usarlos sin conexión a Internet?
+offlineApps.dontAskAgain=No preguntar de nuevo por este sitio
+offlineApps.allow=Permitir
+offlineApps.dontAllow2=No permitir
+
+# LOCALIZATION NOTE (offlineApps.offlineData): Label that will be used in
+# site settings dialog.
+offlineApps.offlineData=Datos en modo sin conexión
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # site settings dialog.
+password.logins=Inicios de sesión
+# LOCALIZATION NOTE (password.save): This should match
+# saveButton in passwordmgr.properties
+password.save=Guardar
+# LOCALIZATION NOTE (password.dontSave): This should match
+# dontSaveButton in passwordmgr.properties
+password.dontSave=No guardar
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Character
+# Encoding" menu in the site menu. Any other value will hide it. Without this
+# setting, the "Character Encoding" menu must be enabled via Preferences.
+# This is not a string to translate. If users frequently use the "Character Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Text Selection
+selectionHelper.textCopied=Texto copiado al portapapeles
+
+# Casting
+# LOCALIZATION NOTE (casting.sendToDevice): Label that will be used in the
+# dialog/prompt.
+casting.sendToDevice=Enviar al dispositivo
+
+# Context menu
+contextmenu.openInNewTab=Abrir enlace en una nueva pestaña
+contextmenu.openInPrivateTab=Abrir enlace en una pestaña privada
+contextmenu.share=Compartir
+contextmenu.copyLink=Copiar enlace
+contextmenu.shareLink=Compartir enlace
+contextmenu.bookmarkLink=Agregar enlace a marcadores
+contextmenu.copyEmailAddress=Copiar dirección de correo electrónico
+contextmenu.shareEmailAddress=Compartir dirección de correo electrónico
+contextmenu.copyPhoneNumber=Copiar número de teléfono
+contextmenu.sharePhoneNumber=Compartir número de teléfono
+contextmenu.fullScreen=Pantalla completa
+contextmenu.viewImage=Ver imagen
+contextmenu.copyImageLocation=Copiar ruta de la imagen
+contextmenu.shareImage=Compartir imagen
+# LOCALIZATION NOTE (contextmenu.search):
+# The label of the contextmenu item which allows you to search with your default search engine for
+# the text you have selected. %S is the name of the search engine. For example, "Google".
+contextmenu.search=Buscar %S
+contextmenu.saveImage=Guardar imagen
+contextmenu.showImage=Mostrar imagen
+contextmenu.setImageAs=Establecer imagen como
+# LOCALIZATION NOTE (contextmenu.addSearchEngine3): This string should be rather short. If it is
+# significantly longer than the translation for the "Paste" action then this might trigger an
+# Android bug positioning the floating text selection partially off the screen. This issue heavily
+# depends on the screen size and the specific translations. For English "Paste" / "Add search engine"
+# is working while "Paste" / "Add as search engine" triggers the bug. See bug 1262098 for more details.
+# Manual testing the scenario described in bug 1262098 is highly recommended.
+contextmenu.addSearchEngine3=Agregar buscador
+contextmenu.playMedia=Reproducir
+contextmenu.pauseMedia=Pausa
+contextmenu.showControls2=Mostrar controles
+contextmenu.mute=Silenciar
+contextmenu.unmute=Restaurar sonido
+contextmenu.saveVideo=Guardar video
+contextmenu.saveAudio=Guardar sonido
+contextmenu.addToContacts=Agregar a contactos
+# LOCALIZATION NOTE (contextmenu.sendToDevice):
+# The label that will be used in the contextmenu and the pageaction
+contextmenu.sendToDevice=Enviar al dispositivo
+
+contextmenu.copy=Copiar
+contextmenu.cut=Cortar
+contextmenu.selectAll=Seleccionar todo
+contextmenu.paste=Pegar
+
+contextmenu.call=Llamar
+
+#Input widgets UI
+inputWidgetHelper.date=Elegir una fecha
+inputWidgetHelper.datetime-local=Elige una fecha y hora
+inputWidgetHelper.time=Elige una hora
+inputWidgetHelper.week=Elige una semana
+inputWidgetHelper.month=Elige un mes
+inputWidgetHelper.cancel=Cancelar
+inputWidgetHelper.set=Validar
+inputWidgetHelper.clear=Limpiar
+
+# Web Console API
+stacktrace.anonymousFunction=<anónimo>
+stacktrace.outputMessage=Seguimiento de pila desde %S, función %S, línea %S.
+timer.start=%S: temporizador iniciado
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$Sms
+
+clickToPlayPlugins.activate=Activar
+clickToPlayPlugins.dontActivate=No activar
+# LOCALIZATION NOTE (clickToPlayPlugins.plugins): Label that
+# will be used in site settings dialog.
+clickToPlayPlugins.plugins=Complementos
+
+# Site settings dialog
+
+masterPassword.incorrect=Contraseña incorrecta
+
+# Debugger
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Conexión entrante
+# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the
+# dialog that prompts the user to allow an incoming USB connection.
+remoteIncomingPromptUSB=¿Permitir depuración mediante conexión USB?
+# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the
+# dialog that prompts the user to allow an incoming TCP connection.
+remoteIncomingPromptTCP=¿Permitir conexión para depuración remota de %1$S:%2$S? Esta conexión requiere que se escanees un código QR para identificar el certificado del dispositivo remoto. Puedes evitar escaneos remotos recordando el dispositivo.
+# LOCALIZATION NOTE (remoteIncomingPromptDeny): This button will deny an
+# an incoming remote debugger connection.
+remoteIncomingPromptDeny=Denegar
+# LOCALIZATION NOTE (remoteIncomingPromptAllow): This button will allow an
+# an incoming remote debugger connection.
+remoteIncomingPromptAllow=Permitir
+# LOCALIZATION NOTE (remoteIncomingPromptScan): This button will start a QR
+# code scanner to authenticate an incoming remote debugger connection. The
+# connection will be allowed assuming the scan succeeds.
+remoteIncomingPromptScan=Escanear
+# LOCALIZATION NOTE (remoteIncomingPromptScanAndRemember): This button will
+# start a QR code scanner to authenticate an incoming remote debugger
+# connection. The connection will be allowed assuming the scan succeeds, and
+# the other endpoint's certificate will be saved to skip future scans for this
+# client.
+remoteIncomingPromptScanAndRemember=Escanear y recordar
+# LOCALIZATION NOTE (remoteQRScanFailedPromptTitle): The title displayed in a
+# dialog when we are unable to complete the QR code scan for an incoming remote
+# debugging connection.
+remoteQRScanFailedPromptTitle=Falló el escaneo del QR
+# LOCALIZATION NOTE (remoteQRScanFailedPromptMessage): The message displayed in
+# a dialog when we are unable to complete the QR code scan for an incoming
+# remote debugging connection.
+remoteQRScanFailedPromptMessage=No se pudo escanear el código QR para depuración remota. Verifica que la app de escaneo de código de barras está instalada y vuelve a intentar la conexión.
+# LOCALIZATION NOTE (remoteQRScanFailedPromptOK): This button dismisses the
+# dialog that appears when we are unable to complete the QR code scan for an
+# incoming remote debugging connection.
+remoteQRScanFailedPromptOK=Aceptar
+
+# Helper apps
+helperapps.open=Abrir
+helperapps.openWithApp2=Abrir con aplicación %S
+helperapps.openWithList2=Abrir con una aplicación
+helperapps.always=Siempre
+helperapps.never=Nunca
+helperapps.pick=Completar acción usando
+helperapps.saveToDisk=Descarga
+helperapps.alwaysUse=Siempre
+helperapps.useJustOnce=Única ocasión
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera.message, getUserMedia.shareMicrophone.message, getUserMedia.shareCameraAndMicrophone.message, getUserMedia.sharingCamera.message, getUserMedia.sharingMicrophone.message, getUserMedia.sharingCameraAndMicrophone.message): %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera.message = ¿Te gustaría compartir la cámara con %S?
+getUserMedia.shareMicrophone.message = ¿Te gustaría compartir tu micrófono con %S?
+getUserMedia.shareCameraAndMicrophone.message = ¿Te gustaría compartir tu cámara y micrófono con %S?
+getUserMedia.denyRequest.label = No compartir
+getUserMedia.shareRequest.label = Compartir
+getUserMedia.videoSource.default = Cámara %S
+getUserMedia.videoSource.frontCamera = Cámara frontal
+getUserMedia.videoSource.backCamera = Cámara trasera
+getUserMedia.videoSource.none = Sin video
+getUserMedia.videoSource.tabShare = Elegir una pestaña para transmitir
+getUserMedia.videoSource.prompt = Fuente de video
+getUserMedia.audioDevice.default = Micrófono %S
+getUserMedia.audioDevice.none = Sin sonido
+getUserMedia.audioDevice.prompt = Micrófono a usar
+getUserMedia.sharingCamera.message2 = Cámara encendida
+getUserMedia.sharingMicrophone.message2 = Micrófono encendido
+getUserMedia.sharingCameraAndMicrophone.message2 = Cámara y micrófono encendidos
+getUserMedia.blockedCameraAccess = La cámara ha sido bloqueada.
+getUserMedia.blockedMicrophoneAccess = El micrófono ha sido bloqueado.
+getUserMedia.blockedCameraAndMicrophoneAccess = La cámara y el micrófono han sido bloqueados.
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Personal
+userContextWork.label = Trabajo
+userContextBanking.label = Banca
+userContextShopping.label = Compras
+
+# LOCALIZATION NOTE (readerMode.toolbarTip):
+# Tip shown to users the first time we hide the reader mode toolbar.
+readerMode.toolbarTip=Toca la pantalla para mostrar las opciones de lectura
+
+#Open in App
+openInApp.pageAction = Abrir en aplicación
+openInApp.ok = Aceptar
+openInApp.cancel = Cancelar
+
+#Tab sharing
+tabshare.title = "Elegir una pestaña para transmitir"
+#Tabs in context menus
+browser.menu.context.default = Enlace
+browser.menu.context.img = Imagen
+browser.menu.context.video = Video
+browser.menu.context.audio = Sonido
+browser.menu.context.tel = Teléfono
+browser.menu.context.mailto = Correo
+
+# "Subscribe to page" prompts created in FeedHandler.js
+feedHandler.chooseFeed=Elegir la fuente
+feedHandler.subscribeWith=Subscribirse con
+
+# LOCALIZATION NOTE (nativeWindow.deprecated):
+# This string is shown in the console when someone uses deprecated NativeWindow apis.
+# %1$S=name of the api that's deprecated, %2$S=New API to use. This may be a url to
+# a file they should import or the name of an api.
+nativeWindow.deprecated=%1$S está desaprobado. Por favor, usa %2$S en su lugar
+
+# Vibration API permission prompt
+vibrationRequest.message = ¿Permitir que este sitio haga vibrar tu dispositivo?
+vibrationRequest.denyButton = No permitir
+vibrationRequest.allowButton = Permitir
diff --git a/l10n-es-MX/mobile/android/chrome/config.dtd b/l10n-es-MX/mobile/android/chrome/config.dtd
new file mode 100644
index 0000000000..4d26ecee12
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/config.dtd
@@ -0,0 +1,21 @@
+<!-- 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 toolbar.searchPlaceholder "Buscar">
+
+<!ENTITY newPref.namePlaceholder "Nombre">
+
+<!ENTITY newPref.valueBoolean "Booleano">
+<!ENTITY newPref.valueString "Cadena">
+<!ENTITY newPref.valueInteger "Entero">
+
+<!ENTITY newPref.stringPlaceholder "Ingresar una cadena">
+<!ENTITY newPref.numberPlaceholder "Ingresar un número">
+
+<!ENTITY newPref.toggleButton "Conmutar">
+<!ENTITY newPref.cancelButton "Cancelar">
+
+<!ENTITY contextMenu.copyPrefName "Copiar nombre">
+<!ENTITY contextMenu.copyPrefValue "Copiar valor">
diff --git a/l10n-es-MX/mobile/android/chrome/config.properties b/l10n-es-MX/mobile/android/chrome/config.properties
new file mode 100644
index 0000000000..b99401c021
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/config.properties
@@ -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/.
+
+newPref.createButton=Crear
+newPref.changeButton=Cambiar
+
+pref.toggleButton=Alternar
+pref.resetButton=Restablecer
diff --git a/l10n-es-MX/mobile/android/chrome/devicePrompt.properties b/l10n-es-MX/mobile/android/chrome/devicePrompt.properties
new file mode 100644
index 0000000000..29f2666aec
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/devicePrompt.properties
@@ -0,0 +1,5 @@
+# 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/.
+
+deviceMenu.title=Dispositivos cercanos
diff --git a/l10n-es-MX/mobile/android/chrome/passwordmgr.properties b/l10n-es-MX/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..633af6a29f
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/passwordmgr.properties
@@ -0,0 +1,20 @@
+# 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/.
+
+# String will be replaced by brandShortName.
+saveLogin=¿Te gustaría que %S recuerde este inicio de sesión?
+rememberButton=Recordar
+neverButton=Nunca
+
+# String is the login's hostname
+updatePassword=¿Actualizar la contraseña guardada para %S?
+updatePasswordNoUser=¿Actualizar la contraseña guardada para este usuario?
+updateButton=Actualizar
+dontUpdateButton=No actualizar
+
+userSelectText2=Selecciona que inicio de sesión actualizar:
+passwordChangeTitle=Confirmar cambio de contraseña
+
+username=Nombre de usuario
+password=Contraseña
diff --git a/l10n-es-MX/mobile/android/chrome/phishing.dtd b/l10n-es-MX/mobile/android/chrome/phishing.dtd
new file mode 100644
index 0000000000..2395d3d831
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/phishing.dtd
@@ -0,0 +1,27 @@
+<!-- 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 safeb.palm.accept.label "¡Sácame de aquí!">
+<!ENTITY safeb.palm.decline.label "Ignorar esta advertencia">
+<!ENTITY safeb.palm.reportPage.label "¿Por qué fue bloqueada esta página?">
+<!-- Localization note (safeb.palm.advisory.desc) - Please don't translate <a id="advisory_provider"/> tag. It will be replaced at runtime with advisory link-->
+<!ENTITY safeb.palm.advisory.desc "Asesoramiento proporcionado por <a id='advisory_provider'/>">
+
+<!ENTITY safeb.blocked.malwarePage.title "¡Página reportada como atacante!">
+<!-- Localization note (safeb.blocked.malware.shortDesc) - Please don't translate the contents of the <span id="malware_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.malwarePage.shortDesc "Esta página hospedada en <span id='malware_sitename'/> ha sido reportada como atacante y se bloqueó con base en tus preferencias de seguridad.">
+<!ENTITY safeb.blocked.malwarePage.longDesc "<p>Las páginas atacantes intentan instalar programas para robarte información privada, usar tu equipo para atacar a otros o dañar tu sistema.</p><p>Algunas distribuyen intencionalmente programas dañinos y otras fueron comprometidas sin el conocimiento de sus dueños.</p>">
+
+<!ENTITY safeb.blocked.phishingPage.title3 "¡Sitio engañoso!">
+<!-- Localization note (safeb.blocked.phishingPage.shortDesc3) - Please don't translate the contents of the <span id="phishing_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.phishingPage.shortDesc3 "Esta página ubicada en <span id='phishing_sitename'/> ha sido reportada como atacante y ha sido bloqueada basándonos en tus preferencias de seguridad.">
+<!ENTITY safeb.blocked.phishingPage.longDesc3 "<p>Los sitios fraudulentos están diseñados para convencerle de hacer algo peligroso, como instalar software o revelar su información personal, del tipo de contraseñas, números de teléfono o tarjetas de crédito.</p><p>Introducir información en esta página web puede resultar en el robo de identidad u otros fraudes.</p>">
+
+<!ENTITY safeb.blocked.unwantedPage.title "¡Sitio reportado que contiene software malicioso!">
+<!-- Localization note (safeb.blocked.unwanted.shortDesc) - Please don't translate the contents of the <span id="unwanted_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.unwantedPage.shortDesc "Esta página hospedada en <span id='unwanted_sitename'/> ha sido reportada porque contiene software malicioso y se bloqueó con base en tus preferencias de seguridad.">
+<!ENTITY safeb.blocked.unwantedPage.longDesc "Páginas con software malicioso intentan instalar software que puede afectar tu sistema de diversas formas.">
+
+<!ENTITY safeb.blocked.harmfulPage.title "El sitio web puede contener malware">
+<!ENTITY safeb.blocked.harmfulPage.shortDesc "&brandShortName; ha bloqueado esta página porque podría intentar instalar aplicaciones peligrosas que roben o borren tu información (por ejemplo, fotos, contraseñas, mensajes y números de tarjetas de crédito)."> \ No newline at end of file
diff --git a/l10n-es-MX/mobile/android/chrome/pippki.properties b/l10n-es-MX/mobile/android/chrome/pippki.properties
new file mode 100644
index 0000000000..2e3092d12a
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/pippki.properties
@@ -0,0 +1,84 @@
+# 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/.
+
+nssdialogs.ok.label=Aceptar
+nssdialogs.cancel.label=Cancelar
+
+# These strings are stolen from security/manager/locales/en-US/chrome/pippki/pippki.dtd
+downloadCert.title=Descargando certificado
+downloadCert.message1=Se le ha pedido que confíe en una nueva Autoridad Certificadora (CA).
+downloadCert.viewCert.label=Ver
+downloadCert.trustSSL=Confiar en la identificación de estos sitios web.
+downloadCert.trustEmail=Confiar en identificación en los usuarios de correo electrónico.
+pkcs12.getpassword.title=Diálogo de ingreso de contraseña
+pkcs12.getpassword.message=Por favor, ingresa la contraseña que fue usada para encriptar este respaldo de certificado.
+clientAuthAsk.title=Solicitud de Identificación de Usuario
+clientAuthAsk.message1=Este sitio ha solicitado que te identifiques con un certificado:
+clientAuthAsk.message2=Elige un certificado para presentarlo como identificación:
+clientAuthAsk.message3=Detalles del certificado seleccionado:
+clientAuthAsk.remember.label=Recordar esta decisión
+# LOCALIZATION NOTE(clientAuthAsk.nickAndSerial): Represents a single cert when
+# the user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthAsk.nickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthAsk.hostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthAsk.hostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthAsk.organization): %S is the Organization of the
+# server cert.
+clientAuthAsk.organization=Organización: "%S"
+# LOCALIZATION NOTE(clientAuthAsk.issuer): %S is the Organization of the
+# issuer cert of the server cert.
+clientAuthAsk.issuer=Emitido bajo: "%S"
+# LOCALIZATION NOTE(clientAuthAsk.issuedTo): %1$S is the Distinguished Name of
+# the currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthAsk.issuedTo=Emitido para: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.serial): %1$S is the serial number of the
+# selected cert in AA:BB:CC hex format.
+clientAuthAsk.serial=Número de serie: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.validityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthAsk.validityPeriod=Válido del %1$S al %2$S
+# LOCALIZATION NOTE(clientAuthAsk.keyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthAsk.keyUsages=Usos de clave: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.emailAddresses): %1$S is a comma separated
+# list of e-mail addresses the selected cert is valid for.
+clientAuthAsk.emailAddresses=Direcciones de correo: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.issuedBy): %1$S is the Distinguished Name of
+# the cert which issued the selected cert.
+clientAuthAsk.issuedBy=Emitido por: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.storedOn): %1$S is the name of the PKCS #11
+# token the selected cert is stored on.
+clientAuthAsk.storedOn=Almacenado en: %1$S
+clientAuthAsk.viewCert.label=Ver
+
+certmgr.title=Certificate Details
+# These strings are stolen from security/manager/locales/en-US/chrome/pippki/certManager.dtd
+certmgr.subjectinfo.label=Emitido para
+certmgr.issuerinfo.label=Emitido por
+certmgr.periodofvalidity.label=Período de validez
+certmgr.fingerprints.label=Huellas dactilares
+certdetail.cn=Nombre común (CN): %1$S
+certdetail.o=Organización (O): %1$S
+certdetail.ou=Unidad organizativa (OU): %1$S
+# LOCALIZATION NOTE(certdetail.serialnumber): %1$S is the serial number of the
+# cert being viewed in AA:BB:CC hex format.
+certdetail.serialnumber=Número de serie: %1$S
+# LOCALIZATION NOTE(certdetail.sha256fingerprint): %1$S is the SHA-256
+# Fingerprint of the cert being viewed in AA:BB:CC hex format.
+certdetail.sha256fingerprint=Huella digital SHA-256: %1$S
+# LOCALIZATION NOTE(certdetail.sha1fingerprint): %1$S is the SHA-1 Fingerprint
+# of the cert being viewed in AA:BB:CC hex format.
+certdetail.sha1fingerprint=Huella digital SHA1: %1$S
+# LOCALIZATION NOTE(certdetail.notBefore): %1$S is the already localized
+# notBefore date of the cert being viewed.
+certdetail.notBefore=Comienza el: %1$S
+# LOCALIZATION NOTE(certdetail.notAfter): %1$S is the already localized notAfter
+# date of the cert being viewed.
+certdetail.notAfter=Expira el: %1$S
diff --git a/l10n-es-MX/mobile/android/chrome/sync.properties b/l10n-es-MX/mobile/android/chrome/sync.properties
new file mode 100644
index 0000000000..2ee96278e2
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/sync.properties
@@ -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/.
+
+# Mobile Sync
+
+# %S is the date and time at which the last sync successfully completed
+lastSync2.label=Última sincronización: %S
+
+# %S is the username logged in
+account.label=Cuenta: %S
+
diff --git a/l10n-es-MX/mobile/android/chrome/webcompatReporter.properties b/l10n-es-MX/mobile/android/chrome/webcompatReporter.properties
new file mode 100644
index 0000000000..45c21544d8
--- /dev/null
+++ b/l10n-es-MX/mobile/android/chrome/webcompatReporter.properties
@@ -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/.
+
+# LOCALIZATION NOTE (webcompat.menu.name): A "site issue" is a bug, display,
+# or functionality problem with a webpage in the browser.
+webcompat.menu.name=Informar de problema en sitio
+
+# LOCALIZATION NOTE (webcompat.reportDesktopMode.message): A " site issue" is a
+# bug, display, or functionality problem with a webpage in the browser.
+webcompat.reportDesktopMode.message=¿Informar de problema en sitio?
+webcompat.reportDesktopModeYes.label=Informar
diff --git a/l10n-es-MX/mobile/android/defines.inc b/l10n-es-MX/mobile/android/defines.inc
new file mode 100644
index 0000000000..7d366f5f9e
--- /dev/null
+++ b/l10n-es-MX/mobile/android/defines.inc
@@ -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/.
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+
+# variable definition and use the format specified.
+
+#define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Mozilla México</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-es-MX/mobile/chrome/region.properties b/l10n-es-MX/mobile/chrome/region.properties
new file mode 100644
index 0000000000..614a840059
--- /dev/null
+++ b/l10n-es-MX/mobile/chrome/region.properties
@@ -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/.
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Correo Yahoo!
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# This is the default set of web based feed handlers shown in the reader
+# selection UI
+browser.contentHandlers.types.0.title=Mi Yahoo!
+browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
+
diff --git a/l10n-es-MX/mobile/overrides/appstrings.properties b/l10n-es-MX/mobile/overrides/appstrings.properties
new file mode 100644
index 0000000000..a60da571dd
--- /dev/null
+++ b/l10n-es-MX/mobile/overrides/appstrings.properties
@@ -0,0 +1,41 @@
+# 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/.
+
+# BEFORE EDITING THIS FILE, PLEASE NOTE:
+# These strings are only here to support shipping Fennec ESR.
+# They are unused in GeckoView, so please don't make any changes.
+
+malformedURI2=La URL no es válida y no se puede cargar.
+fileNotFound=Firefox no pudo encontrar el archivo en %S.
+fileAccessDenied=El archivo en %S no se puede leer.
+dnsNotFound2=Firefox no puede encontrar el servidor en %S.
+unknownProtocolFound=Firefox no sabe como abrir esta dirección, porque alguno de los siguientes protocolos (%S) no está asociado con ningún programa o no está permitido en este contexto.
+connectionFailure=Firefox no pudo establecer una conexión con el servidor en %S.
+netInterrupt=La conexión con %S se interrumpió mientras se cargaba la página.
+netTimeout=El servidor en %S está tomando mucho tiempo en responder.
+redirectLoop=Firefox detectó que el servidor está redirigiendo la solicitud para esta dirección en un modo que nunca se completará.
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don't translate "%S"
+confirmRepostPrompt=Para mostrar esta página, %S enviará información que repetirá cualquier acción (como una búsqueda o una confirmación de pedido o pago) ejecutada previamente.
+resendButton.label=Reenviar
+unknownSocketType=Firefox no sabe cómo comunicarse con el servidor.
+netReset=La conexión al servidor se reinició mientras se cargaba la página.
+notCached=Este documento ya no está disponible.
+netOffline=Firefox está en modo sin conexión y no puede navegar en la web.
+isprinting=El documento no puede cambiar mientras se imprime o previsualiza.
+deniedPortAccess=Esta dirección está usando un puerto de red normalmente usado para propósitos diferentes a la navegación web. Firefox canceló la solicitud para tu protección.
+proxyResolveFailure=Firefox está configurado para usar un servidor proxy que no puede encontrar.
+proxyConnectFailure=Firefox está configurado para usar un servidor proxy que está rechazando las conexiones.
+contentEncodingError=La página que estás intentando ver no puede mostrarse porque utiliza un formato de compresión no válido o no admitido.
+unsafeContentType=La página que estás intentando ver no puede ser mostrada porque está contenida en un tipo de archivo que puede no ser seguro al abrirse. Por favor, contacta con los dueños para informarles de este problema.
+malwareBlocked=El sitio en %S ha sido reportado como un sitio atacante y ha sido bloqueado basándonos en tus preferencias de seguridad.
+harmfulBlocked=El sitio en %S ha sido reportado como potencialmente peligroso y ha sido bloqueado basándonos en tus ajustes de seguridad.
+deceptiveBlocked=El sitio en %S ha sido reportado como una falsificación y se bloqueó con base en tus preferencias de seguridad.
+unwantedBlocked=El sitio en %S ha sido reportado como un sitio con software malicioso y ha sido bloqueado basándose en tus preferencias de seguridad.
+cspBlocked=Esta página tiene una política de seguridad de contenido que impide que pueda ser cargada de esta forma.
+corruptedContentErrorv2=El sitio %S ha experimentado una violación de protocolo de red que no se puede reparar.
+remoteXUL=Esta página usa una tecnología no admitida que ya no está disponible por defecto en Firefox.
+sslv3Used=Firefox no puede garantizar la seguridad de tus datos en %S porque utiliza SSLv3, un protocolo de seguridad vulnerable.
+weakCryptoUsed=El propietario de %S ha configurado su sitio web inadecuadamente. Para proteger tu información de ser robada, Firefox no te ha conectado a este sitio web.
+inadequateSecurityError=El sitio web intentó negociar un nivel inadecuado de seguridad.
+networkProtocolError=Firefox ha experimentado una violación del protocolo de red que no puede ser reparada.
diff --git a/l10n-es-MX/mobile/overrides/netError.dtd b/l10n-es-MX/mobile/overrides/netError.dtd
new file mode 100644
index 0000000000..6d9d732491
--- /dev/null
+++ b/l10n-es-MX/mobile/overrides/netError.dtd
@@ -0,0 +1,121 @@
+<!-- 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 % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "Problemas al cargar la página">
+<!ENTITY retry.label "Intentar de nuevo">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "No se puede conectar">
+<!ENTITY connectionFailure.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY deniedPortAccess.title "Esta dirección está restringida">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "No se encontró el servidor">
+<!-- LOCALIZATION NOTE (dnsNotFound.longDesc4) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside tags should be localized. Do not change the ids. -->
+<!ENTITY dnsNotFound.longDesc4 "<ul> <li>Comprueba que la dirección que escribiste no tiene errores tales como <strong>ww</strong>.example.com en lugar de <strong>www</strong>.example.com</li> <div id='searchbox'> <input id='searchtext' type='search'></input> <button id='searchbutton'>Buscar</button> </div> <li>Si no puedes cargar ninguna página, revisa los datos de tu dispositivo o la conexión Wi-Fi. <button id='wifi'>Habilitar Wi-Fi</button> </li> </ul>">
+
+<!ENTITY fileNotFound.title "No se encontró el archivo">
+<!ENTITY fileNotFound.longDesc "<ul> <li>Comprueba que el nombre del archivo no contenga errores.</li> <li>Verifica si el archivo se borró, movió o renombró.</li> </ul>">
+
+<!ENTITY fileAccessDenied.title "El acceso al archivo fue denegado">
+<!ENTITY fileAccessDenied.longDesc "<ul> <li>Puede haber sido eliminado o movido, o puede que los permisos del archivo impidan el acceso.</li> </ul>">
+
+<!ENTITY generic.title "Ups.">
+<!ENTITY generic.longDesc "<p>&brandShortName; no puede cargar esta página por alguna razón.</p>">
+
+<!ENTITY malformedURI.title "La dirección no es válida">
+<!-- LOCALIZATION NOTE (malformedURI.longDesc2) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY malformedURI.longDesc2 "<ul> <li>La direcciones Web usualmente están escritas como <strong>http://www.example.com/</strong></li> <div id='searchbox'> <input id='searchtext' type='search'></input> <button id='searchbutton'>Buscar</button> </div> <li>Asegúrate que estás usando las barras inclinadas hacia adelante (por ej. <strong>/</strong>).</li> </ul>">
+
+<!ENTITY netInterrupt.title "La conexión se interrumpió">
+<!ENTITY netInterrupt.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY notCached.title "Documento expirado">
+<!ENTITY notCached.longDesc "<p>El documento solicitado no está disponible en la caché de &brandShortName;.</p><ul><li>Como precaución de seguridad, &brandShortName; no solicita automáticamente documentos sensibles.</li><li>Haz clic en Intentar de nuevo para volver a solicitar el documento del sitio web.</li></ul>">
+
+<!ENTITY netOffline.title "Modo sin conexión">
+
+<!ENTITY contentEncodingError.title "Error de codificación de contenido">
+<!ENTITY contentEncodingError.longDesc "<ul> <li>Por favor, contacta con los propietarios del sitio web para informarles de este problema.</li> </ul>">
+
+<!ENTITY unsafeContentType.title "Tipo de archivo inseguro">
+<!ENTITY unsafeContentType.longDesc "<ul> <li>Por favor, contacta con los propietarios del sitio web para informarles de este problema.</li> </ul>">
+
+<!ENTITY netReset.title "La conexión se reinició">
+<!ENTITY netReset.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY netTimeout.title "Se agotó el tiempo de espera">
+<!ENTITY netTimeout.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY unknownProtocolFound.title "No se comprende la dirección">
+<!ENTITY unknownProtocolFound.longDesc "<ul> <li>Necesitas instalar otro programa para abrir esta dirección.</li> </ul>">
+
+<!ENTITY proxyConnectFailure.title "El servidor proxy está rechazando las conexiones">
+<!ENTITY proxyConnectFailure.longDesc "<ul> <li>Comprueba que la configuración del proxy esté correcta.</li> <li>Comunícate con el administrador de la red para comprobar que el servidor proxy está funcionando.</li> </ul>">
+
+<!ENTITY proxyResolveFailure.title "No se puede encontrar el servidor proxy">
+<!-- LOCALIZATION NOTE (proxyResolveFailure.longDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY proxyResolveFailure.longDesc3 "<ul> <li>Revisa la configuración del Proxy para estar seguro es correcta.</li> <li>Asegúrate que tu dispositivo tiene una conexión operativa de Wi-Fi o de datos. <button id='wifi'>Activar Wi-Fi</button> </li> </ul>">
+
+<!ENTITY redirectLoop.title "La página no se está redireccionando apropiadamente">
+<!ENTITY redirectLoop.longDesc "<ul> <li>Este problema puede estar pasando por haber deshabilitado las cookies.</li> </ul>">
+
+<!ENTITY unknownSocketType.title "Respuesta inesperada del servidor">
+<!ENTITY unknownSocketType.longDesc "<ul> <li>Revisa para estar seguro que tu sistema tiene el Administrador de Seguridad Personal instalado.</li> <li>Esto podría ser ocasionado por una configuración no estándar en el servidor.</li> </ul>">
+
+<!ENTITY nssFailure2.title "Conexión segura fallida">
+<!ENTITY nssFailure2.longDesc2 "<ul> <li>La página que estás tratando de ver no se puede mostrar porque la autenticidad de los datos recibidos no pueden ser verificados.</li> <li>Por favor contacta a los propietarios del sitio web para informarles de este problema.</li> </ul>">
+
+<!ENTITY nssBadCert.title "La conexión segura ha fallado">
+<!ENTITY nssBadCert.longDesc2 "<ul> <li>Esto podría ser un problema con la configuración del servidor o tal vez alguienestá intentando hacerse pasar por éste.</li> <li>Si te has conectado a este servidor anteriormente con éxito el error podría ser temporalintentalo más tarde.</li> </ul>">
+
+<!-- LOCALIZATION NOTE (sharedLongDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY sharedLongDesc3 "<ul> <li>El sitio puede estar temporalmente no disponible o demasiado ocupado. Intenta de nuevo en unos minutos.</li> <li>Si no puedes cargar ninguna página, revisa los datos de tu dispositivo o tu conexión Wi-Fi. <button id='wifi'>Activar Wi-Fi</button> </li> </ul>">
+
+<!ENTITY cspBlocked.title "Bloqueado por la Política de Seguridad de Contenido">
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; evitó que se cargara esta página en esta forma por que tiene una política de seguridad de contenido que no lo permite.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Error por contenido dañado">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>La página que estás tratando de ver no se puede mostrar porque se detectó un error en la transmisión de datos.</p><ul><li>Favor de contactar a los dueños del sitio web para informarles del problema.</li></ul>">
+
+<!ENTITY securityOverride.linkText "O puedes agregar una excepción…">
+<!ENTITY securityOverride.getMeOutOfHereButton "¡Sácame de aquí!">
+<!ENTITY securityOverride.exceptionButtonLabel "Agregar excepción…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
+contents of the <xul:button> tags. The only language content is the label= field,
+which uses strings already defined above. The button is included here (instead of
+netError.xhtml) because it exposes functionality specific to firefox. -->
+
+<!ENTITY securityOverride.warningContent "<p>No deberías agregar una excepción si estás usando una conexión a Internet en la que no confías completamente o si no estás acostumbrado a ver una advertencia para este servidor.</p> <button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button> <button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>">
+
+<!ENTITY remoteXUL.title "XUL remoto">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>Por favor, contacta con los propietarios del sitio web para informarles de este problema.</li></ul></p>">
+
+<!ENTITY sslv3Used.title "Imposible conectar de manera segura">
+<!-- LOCALIZATION NOTE (sslv3Used.longDesc) - Do not translate
+ "SSL_ERROR_UNSUPPORTED_VERSION". -->
+<!ENTITY sslv3Used.longDesc "Información avanzada: SSL_ERROR_UNSUPPORTED_VERSION">
+
+<!ENTITY weakCryptoUsed.title "Tu conexión no es segura">
+<!-- LOCALIZATION NOTE (weakCryptoUsed.longDesc) - Do not translate
+ "SSL_ERROR_NO_CYPHER_OVERLAP". -->
+<!ENTITY weakCryptoUsed.longDesc "Información avanzada: SSL_ERROR_NO_CYPHER_OVERLAP">
+
+<!ENTITY inadequateSecurityError.title "Tu conexión no es segura">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> utiliza tecnología de seguridad que es obsoleta y vulnerable a ataques. Un atacante podría revelar fácilmente información que pienses que es segura. El administrador del sitio web tendrá que corregir el problema antes de que puedas visitar el sitio.</p><p>Código de error: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY networkProtocolError.title "Error de protocolo de red">
+<!ENTITY networkProtocolError.longDesc "<p>La página que estás tratando de ver, no se puede mostrar porque un error en el protocolo de red fue detectado.</p><ul><li>Por favor, contacta con los dueños del sitio web para informarles de este problema.</li></ul>">