<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 The Android Open Source 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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_label" msgid="3658948994665187911">"Administrador de carga"</string>
    <string name="storage_description" msgid="7982444311558023664">"Descargas"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Accede al administrador de descarga."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Permite que la aplicación acceda al administrador de descargas y lo use para descargar archivos. Las aplicaciones maliciosas pueden usar este permiso para interrumpir descargas y acceder a información privada."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Funciones avanzadas del administrador de descarga"</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Permite que la aplicación acceda a las funciones avanzadas del administrador de descargas. Las aplicaciones maliciosas pueden usar este permiso para interrumpir descargas y acceder a información privada."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Enviar notificaciones de descarga."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Permite que la aplicación envíe notificaciones acerca de descargas que se completaron. Las aplicaciones maliciosas pueden usar este permiso para confundir otras aplicaciones que descargan archivos."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Ver todas las descargas de almacenamiento USB"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Ver todas las descargas de la tarjeta SD"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Permite que la aplicación vea todas las descargas de la tarjeta SD, sin importar qué aplicación las realizó."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reservar espacio en el caché de descarga"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Permite que la aplic. descargue archivos en la caché de descargas. Estos no se eliminarán automáticamente cuando el admin. de descargas necesite más espacio."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"descargar archivos sin notificación"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Permite que la aplicación descargue archivos a través del administrador de descargas sin que el usuario reciba ninguna notificación."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Acceder a todas las descargas del sistema"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Permite que la aplicación vea y modifique las descargas que inició cualquier aplicación del sistema."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Sin título&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Se completó la descarga."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"No se pudo completar la descarga."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Tamaño requiere Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Aplic. de fondo en pausa"</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"La descarga es demasiado grande la red del operador"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Debes usar Wi-Fi para completar esta descarga de <xliff:g id="SIZE">%s </xliff:g>. \n\nToca <xliff:g id="QUEUE_TEXT">%s </xliff:g> para iniciar esta descarga la próxima vez que te conectes a una red Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"¿Agregar a la lista para descargar más tarde?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Esta descarga de <xliff:g id="SIZE">%s </xliff:g> puede reducir la duración de tu batería o producir un uso excesivo de tu conexión de datos móvil. Según cuál sea tu plan de datos, tu operador puede cobrarte por esto.\n\n Toca <xliff:g id="QUEUE_TEXT">%s</xliff:g> para iniciar la descarga cuando tengas acceso a Wi-Fi."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Cola"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Cancelar"</string>
    <string name="button_start_now" msgid="792123674007840864">"Comenzar ahora"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="other">Se están descargando <xliff:g id="NUMBER">%d</xliff:g> archivos</item>
      <item quantity="one">Se está descargando 1 archivo</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> archivos en espera</item>
      <item quantity="one">1 archivo en espera</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> restantes"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"No se puede abrir el archivo."</string>
    <string name="root_downloads" msgid="4098414876292351487">"Descargas"</string>
    <string name="download_queued" msgid="3302638231377947451">"Pendiente"</string>
    <string name="download_running" msgid="3925050393361158266">"En curso"</string>
    <string name="download_error" msgid="5144180777324573236">"Error"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"En curso (<xliff:g id="PERCENTAGE">%s</xliff:g>)"</string>
</resources>
