<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="3070921713463294774">"Descargas"</string>
    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"Descargas, ordenadas por fecha"</string>
    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"Descargas, ordenadas por tamaño"</string>
    <string name="no_downloads" msgid="1029667411186146836">"No hay descargas."</string>
    <string name="missing_title" msgid="830115697868833773">"&lt;Desconocido&gt;"</string>
    <string name="button_sort_by_size" msgid="7331549713691146251">"Ordenar por tamaño"</string>
    <string name="button_sort_by_date" msgid="8800842892684101528">"Ordenar por fecha"</string>
    <string name="download_queued" msgid="104973307780629904">"En cola"</string>
    <string name="download_running" msgid="4656462962155580641">"En progreso"</string>
    <string name="download_success" msgid="7006048006543495236">"Completa"</string>
    <string name="download_error" msgid="8081329546008568251">"Incorrecta"</string>
    <string name="dialog_title_not_available" msgid="5746317632356158515">"No se pudo descargar."</string>
    <string name="dialog_failed_body" msgid="587545111677064427">"¿Deseas intentar descargar el archivo más tarde o eliminarlo de la cola?"</string>
    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Archivo en cola"</string>
    <string name="dialog_queued_body" msgid="708552801635572720">"Este archivo todavía no está disponible ya que se encuentra en cola para ser descargado en el futuro."</string>
    <string name="dialog_file_missing_body" msgid="3223012612774276284">"No se puede encontrar el archivo descargado."</string>
    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"No se puede finalizar la descarga. El almacenamiento externo no cuenta con espacio suficiente."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"No se pudo realizar la descarga. El espacio de almacenamiento interno de descargas no es suficiente."</string>
    <string name="dialog_cannot_resume" msgid="8664509751358983543">"La descarga se interrumpió y no puede reanudarse."</string>
    <string name="dialog_file_already_exists" msgid="8308563940663449590">"No se puede realizar la descarga. El archivo de destino ya existe."</string>
    <string name="dialog_media_not_found" msgid="4468088418758018765">"No se puede realizar la descarga. El dispositivo externo no está disponible."</string>
    <string name="download_no_application_title" msgid="7024782176657362251">"No se puede abrir el archivo."</string>
    <string name="remove_download" msgid="6372920256257247857">"Eliminar"</string>
    <string name="delete_download" msgid="76629022653866471">"Eliminar"</string>
    <string name="keep_queued_download" msgid="5144882786014818569">"Conservar"</string>
    <string name="cancel_running_download" msgid="5232704030969221112">"Cancelar"</string>
    <string name="retry_download" msgid="7617100787922717912">"Intentar nuevamente"</string>
    <string name="start_now_download" msgid="1564642872809509681">"Comenzar ahora"</string>
    <string name="deselect_all" msgid="6348198946254776764">"Desmarcar todas"</string>
    <string name="select_all" msgid="634074918366265804">"Seleccionar todas"</string>
    <string name="selected_count" msgid="2101564570019753277">"Se seleccionaron <xliff:g id="NUMBER">%1$d</xliff:g> de entre <xliff:g id="TOTAL">%2$d</xliff:g>."</string>
    <string name="download_share_dialog" msgid="3355867339806448955">"Compartir"</string>
</resources>
