<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017-2020 The LineageOS Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name">Actualizador</string>
    <string name="display_name">Actualizador</string>
    <string name="verification_failed_notification">Verificación fallida</string>
    <string name="verifying_download_notification">Verificando actualización</string>
    <string name="downloading_notification">Descargando</string>
    <string name="download_paused_notification">Descarga pausada</string>
    <string name="download_paused_error_notification">Error de descarga</string>
    <string name="download_completed_notification">Descarga completada</string>
    <string name="download_starting_notification">Iniciando descarga</string>
    <string name="update_failed_notification">Error de actualización</string>
    <string name="new_updates_found_title">Nuevas actualizaciones</string>
    <string name="text_download_speed">%1$s, %2$s/s</string>
    <string name="pause_button">Pausar</string>
    <string name="resume_button">Reanudar</string>
    <string name="suspend_button">Suspender</string>
    <string name="installing_update">Instalando paquete de actualización</string>
    <string name="installing_update_error">Error de instalación</string>
    <string name="installing_update_finished">Actualización instalada</string>
    <string name="finalizing_package">Finalizando instalación del paquete</string>
    <string name="preparing_ota_first_boot">Preparando para el primer arranque</string>
    <string name="dialog_prepare_zip_message">Preparación preliminar de la actualización</string>
    <string name="dialog_battery_low_title">Batería baja</string>
    <string name="dialog_battery_low_message_pct">El nivel de la batería es demasiado bajo, necesita al menos <xliff:g id="percent_discharging">%1$d</xliff:g>%% de batería para continuar, <xliff:g id="percent_charging">%2$d</xliff:g>%% si el dispositivo se está cargando.</string>
    <string name="reboot">Reiniciar</string>
    <string name="menu_refresh">Actualizar</string>
    <string name="menu_preferences">Preferencias</string>
    <string name="menu_auto_updates_check">Comprobación de actualizaciones automática</string>
    <string name="menu_auto_updates_check_interval_daily">Una vez al día</string>
    <string name="menu_auto_updates_check_interval_weekly">Semanal</string>
    <string name="menu_auto_updates_check_interval_monthly">Mensual</string>
    <string name="menu_auto_updates_check_interval_never">Nunca</string>
    <string name="menu_auto_delete_updates">Borrar actualizaciones luego de instalar</string>
    <string name="menu_delete_update">Borrar</string>
    <string name="menu_copy_url">Copiar URL</string>
    <string name="menu_export_update">Exportar actualización</string>
    <string name="menu_show_changelog">Mostrar registro de cambios</string>
    <string name="menu_ab_perf_mode">Priorizar el proceso de actualización</string>
    <string name="snack_updates_found">Se encontraron nuevas actualizaciones</string>
    <string name="snack_no_updates_found">No se encontraron nuevas actualizaciones</string>
    <string name="snack_updates_check_failed">Error en la búsqueda de actualizaciones. Comprueba la conexión a Internet e intenta de nuevo más tarde.</string>
    <string name="snack_download_failed">Descarga fallida. Comprueba la conexión a Internet e intenta de nuevo más tarde.</string>
    <string name="snack_download_verification_failed">La verificación de la actualización falló.</string>
    <string name="snack_download_verified">Descarga completada.</string>
    <string name="snack_update_not_installable">Esta actualización no puede instalarse encima de la versión actual.</string>
    <string name="header_title_text">LineageOS\n%1$s</string>
    <string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
    <string name="header_last_updates_check">Última comprobación: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
    <string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
    <string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
    <string name="list_verifying_update">Verificando actualización</string>
    <string name="list_no_updates">Sin nuevas actualizaciones disponibles. Para comprobar manualmente, pulsa el botón «Actualizar».</string>
    <string name="action_download">Descargar</string>
    <string name="action_pause">Pausar</string>
    <string name="action_resume">Reanudar</string>
    <string name="action_install">Instalar</string>
    <string name="action_info">Información</string>
    <string name="action_delete">Borrar</string>
    <string name="action_cancel">Cancelar</string>
    <string name="confirm_delete_dialog_title">Borrar archivo</string>
    <string name="confirm_delete_dialog_message">¿Borrar el archivo de actualización seleccionado?</string>
    <string name="apply_update_dialog_title">Aplicar actualización</string>
    <string name="cancel_installation_dialog_message">¿Cancelar instalación?</string>
    <string name="label_download_url">URL de descarga</string>
    <string name="toast_download_url_copied">URL copiada</string>
    <string name="dialog_export_title">Exportando actualización</string>
    <string name="notification_export_success">Actualización exportada</string>
    <string name="notification_export_fail">Error de exportación</string>
    <string name="toast_already_exporting">Ya se está exportando una actualización</string>
    <plurals name="eta_seconds">
        <item quantity="one">Queda 1 segundo</item>
        <item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> segundos</item>
    </plurals>
    <plurals name="eta_minutes">
        <item quantity="one">Queda 1 minuto</item>
        <item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> minutos</item>
    </plurals>
    <plurals name="eta_hours">
        <item quantity="one">Queda 1 hora</item>
        <item quantity="other">Quedan <xliff:g id="count">%d</xliff:g> horas</item>
    </plurals>
    <string name="update_on_mobile_data_title">Advertencia</string>
    <string name="update_on_mobile_data_message">Se descargará un paquete de actualización usando los datos móviles, que probablemente ocasione un alto consumo de datos. ¿Quieres continuar?</string>
    <string name="checkbox_mobile_data_warning">No mostrar de nuevo</string>
    <string name="menu_mobile_data_warning">Advertencia de datos móviles</string>
    <string name="blocked_update_dialog_title">Actualización bloqueada</string>
    <string name="blocked_update_dialog_message">Esta actualización no puede instalarse usando la aplicación «Actualizador».  Lea <xliff:g id="info_url">%1$s</xliff:g> para más información.</string>
    <string name="export_channel_title">Exportación finalizada</string>
    <string name="new_updates_channel_title">Nuevas actualizaciones</string>
    <string name="ongoing_channel_title">Descargas en curso</string>
    <string name="update_failed_channel_title">Error de actualización</string>
</resources>
