<?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">"Baixades"</string>
    <string name="download_title_sorted_by_date" msgid="6033509257480233878">"Baixades: ordenades per data"</string>
    <string name="download_title_sorted_by_size" msgid="2575551670173644253">"Baixades: ordenades per mida"</string>
    <string name="no_downloads" msgid="1654764193290918538">"Sense baixades."</string>
    <string name="missing_title" msgid="3827247802608803753">"&lt;Desconegut&gt;"</string>
    <string name="button_sort_by_size" msgid="7952187121189086395">"Ordena per mida"</string>
    <string name="button_sort_by_date" msgid="2064919145709585942">"Ordena per data"</string>
    <string name="download_queued" msgid="4128038702528588781">"En cua"</string>
    <string name="download_running" msgid="2046492059586594352">"En curs"</string>
    <string name="download_success" msgid="3895973294927323747">"Completada"</string>
    <string name="download_error" msgid="6652902885480887230">"Incorrecta"</string>
    <string name="dialog_title_not_available" msgid="7793272183758002416">"No s\'ha pogut baixar"</string>
    <string name="dialog_failed_body" msgid="4538779125597383173">"Vols tornar a intentar baixar el fitxer més tard o vols suprimir-lo de la cua?"</string>
    <string name="dialog_title_queued_body" msgid="7481231558376227012">"Fitxer en cua"</string>
    <string name="dialog_queued_body" msgid="2374398802707010234">"Aquest fitxer està en cua per baixar més endavant, per tant, encara no està disponible."</string>
    <string name="dialog_file_missing_body" msgid="7896653198405160564">"No es pot trobar el fitxer baixat."</string>
    <string name="dialog_insufficient_space_on_external" msgid="1847671628253287114">"No es pot finalitzar la baixada. No hi ha prou espai a l\'emmagatzematge extern."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="703074452633529558">"No es pot finalitzar la baixada. No hi ha prou espai a l\'emmagatzematge intern."</string>
    <string name="dialog_cannot_resume" msgid="3101433441301206866">"S\'ha interromput la baixada i no es pot reprendre."</string>
    <string name="dialog_file_already_exists" msgid="6849168874901909994">"No es pot baixar. El fitxer de destinació ja existeix."</string>
    <string name="dialog_media_not_found" msgid="7376030905821161865">"No es pot baixar. El mitjà extern no està disponible."</string>
    <string name="download_no_application_title" msgid="1209223807604231431">"No es pot obrir el fitxer"</string>
    <string name="remove_download" msgid="244394809285977300">"Elimina"</string>
    <string name="delete_download" msgid="1861638125603383676">"Suprimeix"</string>
    <string name="keep_queued_download" msgid="6905870466259272973">"Conserva"</string>
    <string name="cancel_running_download" msgid="8586888328847044473">"Cancel·la"</string>
    <string name="retry_download" msgid="6957856437473044831">"Torna-ho a provar"</string>
    <string name="start_now_download" msgid="1518778561803897734">"Comença ara"</string>
    <string name="deselect_all" msgid="4673983454506880405">"Desselecciona-ho tot"</string>
    <string name="select_all" msgid="7469093306474000460">"Selecciona-ho tot"</string>
    <string name="selected_count" msgid="5876842902167894010">"S\'han seleccionat <xliff:g id="NUMBER">%1$d</xliff:g> de <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
    <string name="download_share_dialog" msgid="5212760257251501969">"Compart. mitjançant"</string>
</resources>
