<?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">"Prevzatia"</string>
    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"Prevzatia – zoradené podľa dátumu"</string>
    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"Prevzatia – zoradené podľa veľkosti"</string>
    <string name="no_downloads" msgid="1029667411186146836">"Žiadne preberania"</string>
    <string name="missing_title" msgid="830115697868833773">"&lt;Neznáme&gt;"</string>
    <string name="button_sort_by_size" msgid="7331549713691146251">"Zoradiť podľa veľkosti"</string>
    <string name="button_sort_by_date" msgid="8800842892684101528">"Zoradiť podľa dátumu"</string>
    <string name="download_queued" msgid="104973307780629904">"V poradí"</string>
    <string name="download_running" msgid="4656462962155580641">"Prebieha"</string>
    <string name="download_success" msgid="7006048006543495236">"Dokončené"</string>
    <string name="download_error" msgid="8081329546008568251">"Neúspešné"</string>
    <string name="dialog_title_not_available" msgid="5746317632356158515">"Nepodarilo sa prevziať"</string>
    <string name="dialog_failed_body" msgid="587545111677064427">"Chcete tento súbor skúsiť znova prevziať neskôr, alebo ho chcete zo zoznamu odstrániť?"</string>
    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Súbor v poradí"</string>
    <string name="dialog_queued_body" msgid="708552801635572720">"Súbor zatiaľ nie je k dispozícii, pretože je v poradí na budúce prevzatie."</string>
    <string name="dialog_file_missing_body" msgid="3223012612774276284">"Prevzatý súbor sa nepodarilo nájsť."</string>
    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"Preberanie nie je možné dokončiť. V externom úložisku nie je dostatok miesta."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"Preberanie nie je možné dokončiť. V internom úložisku na prevzaté súbory nie je dostatok miesta."</string>
    <string name="dialog_cannot_resume" msgid="8664509751358983543">"Preberanie bolo prerušené a nie je možné v ňom pokračovať."</string>
    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Nepodarilo sa prevziať. Cieľový súbor už existuje."</string>
    <string name="dialog_media_not_found" msgid="4468088418758018765">"Nepodarilo sa prevziať. Externé médium nie je k dispozícii."</string>
    <string name="download_no_application_title" msgid="7024782176657362251">"Súbor nie je možné otvoriť"</string>
    <string name="remove_download" msgid="6372920256257247857">"Odstrániť"</string>
    <string name="delete_download" msgid="76629022653866471">"Odstrániť"</string>
    <string name="keep_queued_download" msgid="5144882786014818569">"Zachovať"</string>
    <string name="cancel_running_download" msgid="5232704030969221112">"Zrušiť"</string>
    <string name="retry_download" msgid="7617100787922717912">"Skúsiť znova"</string>
    <string name="deselect_all" msgid="6348198946254776764">"Zrušiť výber všetkého"</string>
    <string name="select_all" msgid="634074918366265804">"Vybrať všetko"</string>
    <string name="selected_count" msgid="2101564570019753277">"Vybraté: <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">"Zdieľať prostredníctvom"</string>
</resources>
