<?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="4847371117203587513">"Preuzimanja"</string>
    <string name="download_title_sorted_by_date" msgid="6033509257480233878">"Preuzimanja – Sortirano prema datumu"</string>
    <string name="download_title_sorted_by_size" msgid="2575551670173644253">"Preuzimanja – Sortirano prema veličini"</string>
    <string name="no_downloads" msgid="1654764193290918538">"Nema preuzimanja."</string>
    <string name="missing_title" msgid="3827247802608803753">"&lt;Nepoznato&gt;"</string>
    <string name="button_sort_by_size" msgid="7952187121189086395">"Sortiraj prema veličini"</string>
    <string name="button_sort_by_date" msgid="2064919145709585942">"Sortiraj prema datumu"</string>
    <string name="download_queued" msgid="4128038702528588781">"Stavljeno na čekanje"</string>
    <string name="download_running" msgid="2046492059586594352">"U toku"</string>
    <string name="download_success" msgid="3895973294927323747">"Dovršeno"</string>
    <string name="download_error" msgid="6652902885480887230">"Neuspešno"</string>
    <string name="dialog_title_not_available" msgid="7793272183758002416">"Preuzimanje nije moguće"</string>
    <string name="dialog_failed_body" msgid="4538779125597383173">"Želite li da kasnije probate da preuzmete datoteku ili želite da je izbrišete iz reda?"</string>
    <string name="dialog_title_queued_body" msgid="7481231558376227012">"Stavljena je u red"</string>
    <string name="dialog_queued_body" msgid="2374398802707010234">"Ova datoteka je stavljena u red za preuzimanje, pa još uvek nije dostupna."</string>
    <string name="dialog_file_missing_body" msgid="7896653198405160564">"Nije moguće pronaći preuzetu datoteku."</string>
    <string name="dialog_insufficient_space_on_external" msgid="1847671628253287114">"Nije moguće završiti preuzimanje. Nema dovoljno prostora u eksternoj memoriji."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="703074452633529558">"Nije moguće završiti preuzimanje. Nema dovoljno prostora u internoj memoriji za preuzimanje."</string>
    <string name="dialog_cannot_resume" msgid="3101433441301206866">"Preuzimanje je prekinuto i nije ga moguće nastaviti."</string>
    <string name="dialog_file_already_exists" msgid="6849168874901909994">"Preuzimanje nije moguće. Odredišna datoteka već postoji."</string>
    <string name="dialog_media_not_found" msgid="7376030905821161865">"Preuzimanje nije moguće. Eksterni medijum nije dostupan."</string>
    <string name="download_no_application_title" msgid="1209223807604231431">"Nije moguće otvoriti datoteku"</string>
    <string name="remove_download" msgid="244394809285977300">"Ukloni"</string>
    <string name="delete_download" msgid="1861638125603383676">"Izbriši"</string>
    <string name="keep_queued_download" msgid="6905870466259272973">"Zadrži"</string>
    <string name="cancel_running_download" msgid="8586888328847044473">"Otkaži"</string>
    <string name="retry_download" msgid="6957856437473044831">"Probaj ponovo"</string>
    <string name="start_now_download" msgid="1518778561803897734">"Započni odmah"</string>
    <string name="deselect_all" msgid="4673983454506880405">"Opozovi sve izbore"</string>
    <string name="select_all" msgid="7469093306474000460">"Izaberi sve"</string>
    <string name="selected_count" msgid="5876842902167894010">"Izabrano je <xliff:g id="NUMBER">%1$d</xliff:g> od <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
    <string name="download_share_dialog" msgid="5212760257251501969">"Deljenje preko"</string>
</resources>
