<?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">"Stahování"</string>
    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"Stahování – Řazeno podle data"</string>
    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"Stahování – Řazeno podle velikosti"</string>
    <string name="no_downloads" msgid="1029667411186146836">"Žádná stahování"</string>
    <string name="missing_title" msgid="830115697868833773">"&lt;Neznámé&gt;"</string>
    <string name="button_sort_by_size" msgid="7331549713691146251">"Řadit podle velikosti"</string>
    <string name="button_sort_by_date" msgid="8800842892684101528">"Řadit podle data"</string>
    <string name="download_queued" msgid="104973307780629904">"Ve frontě"</string>
    <string name="download_running" msgid="4656462962155580641">"Probíhá"</string>
    <string name="download_success" msgid="7006048006543495236">"Dokončeno"</string>
    <string name="download_error" msgid="8081329546008568251">"Neúspěšné"</string>
    <string name="dialog_title_not_available" msgid="5746317632356158515">"Stažení se nezdařilo."</string>
    <string name="dialog_failed_body" msgid="587545111677064427">"Chcete tento soubor zkusit stáhnout později, nebo jej chcete odstranit z fronty?"</string>
    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Soubor ve frontě"</string>
    <string name="dialog_queued_body" msgid="708552801635572720">"Tento soubor je zařazen do fronty k budoucímu stažení, a není tedy zatím k dispozici."</string>
    <string name="dialog_file_missing_body" msgid="3223012612774276284">"Stažený soubor nelze nalézt."</string>
    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"Stahování nelze dokončit. V externím úložišti není dostatek místa."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"Stahování nelze dokončit. V interním úložišti pro stahování není dostatek místa."</string>
    <string name="dialog_cannot_resume" msgid="8664509751358983543">"Stahování bylo přerušeno a nelze v něm pokračovat."</string>
    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Nelze stáhnout. Cílový soubor již existuje."</string>
    <string name="dialog_media_not_found" msgid="4468088418758018765">"Nelze stáhnout. Externí médium není k dispozici."</string>
    <string name="download_no_application_title" msgid="7024782176657362251">"Soubor nelze otevřít"</string>
    <string name="remove_download" msgid="6372920256257247857">"Odebrat"</string>
    <string name="delete_download" msgid="76629022653866471">"Smazat"</string>
    <string name="keep_queued_download" msgid="5144882786014818569">"Zachovat"</string>
    <string name="cancel_running_download" msgid="5232704030969221112">"Zrušit"</string>
    <string name="retry_download" msgid="7617100787922717912">"Zkusit znovu"</string>
    <string name="deselect_all" msgid="6348198946254776764">"Zrušit celý výběr"</string>
    <string name="select_all" msgid="634074918366265804">"Vybrat vše"</string>
    <string name="selected_count" msgid="2101564570019753277">"Vybráno: <xliff:g id="NUMBER">%1$d</xliff:g> z <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
    <string name="download_share_dialog" msgid="3355867339806448955">"Sdílet pomocí"</string>
</resources>
