<?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="4847371117203587513">"Descargas"</string>
    <string name="download_title_sorted_by_date" msgid="6033509257480233878">"Descargas, ordenadas por fecha"</string>
    <string name="download_title_sorted_by_size" msgid="2575551670173644253">"Descargas, ordenadas por tamaño"</string>
    <string name="no_downloads" msgid="1654764193290918538">"No hay descargas."</string>
    <string name="missing_title" msgid="3827247802608803753">"&lt;Desconocido&gt;"</string>
    <string name="button_sort_by_size" msgid="7952187121189086395">"Ordenar por tamaño"</string>
    <string name="button_sort_by_date" msgid="2064919145709585942">"Ordenar por fecha"</string>
    <string name="download_queued" msgid="4128038702528588781">"En cola"</string>
    <string name="download_running" msgid="2046492059586594352">"En progreso"</string>
    <string name="download_success" msgid="3895973294927323747">"Completa"</string>
    <string name="download_error" msgid="6652902885480887230">"Incorrecta"</string>
    <string name="dialog_title_not_available" msgid="7793272183758002416">"No se pudo descargar."</string>
    <string name="dialog_failed_body" msgid="4538779125597383173">"¿Deseas intentar descargar el archivo más tarde o eliminarlo de la cola?"</string>
    <string name="dialog_title_queued_body" msgid="7481231558376227012">"Archivo en cola"</string>
    <string name="dialog_queued_body" msgid="2374398802707010234">"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="7896653198405160564">"No se puede encontrar el archivo descargado."</string>
    <string name="dialog_insufficient_space_on_external" msgid="1847671628253287114">"No se puede finalizar la descarga. El almacenamiento externo no cuenta con espacio suficiente."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="703074452633529558">"No se pudo realizar la descarga. El espacio de almacenamiento interno de descargas no es suficiente."</string>
    <string name="dialog_cannot_resume" msgid="3101433441301206866">"La descarga se interrumpió y no puede reanudarse."</string>
    <string name="dialog_file_already_exists" msgid="6849168874901909994">"No se puede realizar la descarga. El archivo de destino ya existe."</string>
    <string name="dialog_media_not_found" msgid="7376030905821161865">"No se puede realizar la descarga. El dispositivo externo no está disponible."</string>
    <string name="download_no_application_title" msgid="1209223807604231431">"No se puede abrir el archivo."</string>
    <string name="remove_download" msgid="244394809285977300">"Eliminar"</string>
    <string name="delete_download" msgid="1861638125603383676">"Eliminar"</string>
    <string name="keep_queued_download" msgid="6905870466259272973">"Conservar"</string>
    <string name="cancel_running_download" msgid="8586888328847044473">"Cancelar"</string>
    <string name="retry_download" msgid="6957856437473044831">"Intentar nuevamente"</string>
    <string name="start_now_download" msgid="1518778561803897734">"Comenzar ahora"</string>
    <string name="deselect_all" msgid="4673983454506880405">"Desmarcar todas"</string>
    <string name="select_all" msgid="7469093306474000460">"Seleccionar todas"</string>
    <string name="selected_count" msgid="5876842902167894010">"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="5212760257251501969">"Compartir"</string>
</resources>
