<?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="3107369653921738690">"Neúspěšné"</string>
    <string name="dialog_title_not_available" msgid="4479021195995400471">"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="3062862079904954824">"Soubor ještě není stažen"</string>
    <string name="dialog_queued_body" msgid="2506935748423351902">"Tento soubor je ve frontě stahování."</string>
    <string name="dialog_file_missing_body" msgid="2783781332668129395">"Stažený soubor nelze nalézt."</string>
    <string name="dialog_insufficient_space_on_external" msgid="7534108515812329821">"Stahování nelze dokončit. V externím úložišti není dostatek místa."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="8387210487235302129">"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="7704082031608361756">"Stahování bylo přerušeno a nelze v něm pokračovat."</string>
    <string name="dialog_file_already_exists" msgid="2663737850617642888">"Nelze stáhnout. Cílový soubor již existuje."</string>
    <string name="dialog_media_not_found" msgid="5308602145105720991">"Nelze stáhnout. Externí médium není k dispozici."</string>
    <string name="download_no_application_title" msgid="3501359021635168387">"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="7986832738563338661">"Zrušit výběr všech"</string>
    <string name="select_all" msgid="5854385570247421586">"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>
