<?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ávca sťahovania"</string>
    <string name="storage_description" msgid="7982444311558023664">"Stiahnuté súbory"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Získať prístup k správcovi sťahovania."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Umožňuje aplikácii pristupovať k správcovi sťahovania a použiť ho na sťahovanie súborov. Škodlivé aplikácie to môžu využiť a narušiť sťahovanie alebo získať prístup k súkromným informáciám."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Rozšírené funkcie správcu sťahovania."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Umožňuje aplikácii pristupovať k rozšíreným funkciám správcu sťahovania. Škodlivé aplikácie to môžu využiť a narušiť sťahovanie alebo získať prístup k súkromným informáciám."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Odoslať upozornenie o stiahnutí."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Umožňuje aplikácii odosielať upozornenia na dokončenie sťahovania. Škodlivé aplikácie môžu pomocou tohto nastavenia zmiasť iné aplikácie, ktoré preberajú súbory."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Rezervovať miesto vo vyrovnáv. pamäti sťahovania"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Umožňuje aplikácii sťahovať súbory do vyrovnávacej pamäte sťahovania, ktorú nie je možné automaticky odstrániť, keď správca sťahovania potrebuje viac miesta."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"sťahovať súbory bez upozornenia"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Umožňuje aplikácii sťahovať súbory prostredníctvom správcu sťahovania bez toho, aby sa používateľovi zobrazilo upozornenie."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Prístup ku všetkým systémovým stiahnutiam"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Umožňuje aplikácii zobraziť a upravovať všetky sťahovania spustené ľubovoľnou aplikáciou v systéme."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Bez názvu&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Sťahovanie dokončené"</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Sťahovanie bolo neúspešné."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Vzhľadom na veľkosť preberaného súboru sa vyžaduje pripojenie Wi‑Fi"</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Pozastavené na pozadí."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Preberaný súbor je pre sieť operátora príliš veľký"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Na dokončenie sťahovania tohto súboru s veľkosťou <xliff:g id="SIZE">%1$s </xliff:g> je potrebné pripojenie Wi‑Fi. \n\nAk chcete spustiť sťahovanie pri ďalšom pripojení k sieti Wi‑Fi, dotknite sa možnosti <xliff:g id="QUEUE_TEXT">%2$s </xliff:g>."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Zaradiť do zoznamu na neskoršie stiahnutie?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Sťahovanie (<xliff:g id="SIZE">%1$s </xliff:g>) môže skrátiť výdrž batérie alebo príliš zaťažiť mobilné pripojenie a viesť k účtovaniu poplatkov podľa dát. programu.\n\n Dotykom možnosti <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> spustíte sťahovanie pri ďalšom pripojení k Wi‑Fi."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Zoznam"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Zrušiť"</string>
    <string name="button_start_now" msgid="792123674007840864">"Spustiť"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="few">Sťahujú sa <xliff:g id="NUMBER">%d</xliff:g> súbory</item>
      <item quantity="many">Sťahuje sa <xliff:g id="NUMBER">%d</xliff:g> súboru</item>
      <item quantity="other">Sťahuje sa <xliff:g id="NUMBER">%d</xliff:g> súborov</item>
      <item quantity="one">Sťahuje sa 1 súbor</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="few"><xliff:g id="NUMBER">%d</xliff:g> čakajúce súbory</item>
      <item quantity="many"><xliff:g id="NUMBER">%d</xliff:g> čakajúceho súboru</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> čakajúcich súborov</item>
      <item quantity="one">1 čakajúci súbor</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"Zostáva: <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Súbor sa nepodarilo otvoriť"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Stiahnuté"</string>
    <string name="download_queued" msgid="3302638231377947451">"V poradí"</string>
    <string name="download_running" msgid="3925050393361158266">"Prebieha"</string>
    <string name="download_error" msgid="5144180777324573236">"Neúspešné"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Prebieha, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
