<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="3658948994665187911">"Správce stahování"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Získat přístup ke správci stahování."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Umožňuje aplikaci získat přístup do správce stahování a použít jej ke stahování souborů. Škodlivé aplikace mohou toto oprávnění použít k přerušení stahování a získání přístupu k soukromým údajům."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Pokročilé funkce správce stahování."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Umožňuje aplikaci získat přístup k pokročilým funkcím správce stahování. Škodlivé aplikace mohou toto oprávnění použít k přerušení stahování a získání přístupu k soukromým údajům."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Odeslat oznámení o stahování."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Umožňuje aplikaci odesílat oznámení o dokončení stahování. Škodlivé aplikace mohou pomocí těchto oprávnění zmást jiné aplikace, které stahují soubory."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Zobrazit stahování – USB"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Zobrazení všech položek stažených na kartu SD"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Umožňuje aplikaci zobrazit všechny soubory stažené na kartu SD bez ohledu na aplikaci, pomocí které byly staženy."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Rezervovat místo v mezipaměti stahování"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Umožňuje aplikaci stahovat soubory do mezipaměti stahování, kterou nelze automaticky vymazat, pokud správce stahování potřebuje více místa."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"stahovat soubory bez upozornění"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Umožňuje aplikaci stahovat soubory prostřednictvím správce stahování bez oznámení uživateli."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Přístup ke všem systémovým stahováním"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Umožňuje aplikaci zobrazit a upravovat všechna stahování zahájená libovolnou aplikací v systému."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Bez názvu&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Stahování dokončeno."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Stahování bylo neúspěšné."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Vzhledem k velikosti stahovaného souboru je vyžadováno připojení Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Pozastaveno na pozadí."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Stahovaný soubor je pro síť operátora příliš velký"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"K dokončení tohoto stahování o velikosti <xliff:g id="SIZE">%s </xliff:g> je třeba připojení Wi-Fi. "\n\n"Chcete-li stahování spustit při příštím připojení k síti Wi-Fi, dotkněte se možnosti <xliff:g id="QUEUE_TEXT">%s </xliff:g>."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Zařadit do fronty pro pozdější stažení?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Stahování (<xliff:g id="SIZE">%s </xliff:g>) může zkrátit výdrž baterie nebo příliš zatížit mobilní připojení a přivodit poplatky dle datového tarifu."\n\n" Chcete-li stahování spustit při dalším připojení k Wi-Fi, dotkněte se možnosti <xliff:g id="QUEUE_TEXT">%s</xliff:g>."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Fronta"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Zrušit"</string>
    <string name="button_start_now" msgid="792123674007840864">"Spustit"</string>
    <string name="download_percent" msgid="6889426633242976698">"<xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
  <plurals name="notif_summary_active">
    <item quantity="one" msgid="8475775855911967027">"Stahuje se 1 soubor"</item>
    <item quantity="other" msgid="9087228371320573153">"Stahované soubory: <xliff:g id="NUMBER">%d</xliff:g>"</item>
  </plurals>
  <plurals name="notif_summary_waiting">
    <item quantity="one" msgid="5537481763963544278">"1 čekající soubor"</item>
    <item quantity="other" msgid="549229034166062887">"Čekající soubory: <xliff:g id="NUMBER">%d</xliff:g>"</item>
  </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> do stažení"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Soubor nelze otevřít"</string>
</resources>
