<?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">"Preuzimanja"</string>
    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"Preuzimanja - Poredano po datumu"</string>
    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"Preuzimanja - Poredano po veličini"</string>
    <string name="no_downloads" msgid="1029667411186146836">"Nema preuzimanja."</string>
    <string name="missing_title" msgid="830115697868833773">"&lt;Nepoznato&gt;"</string>
    <string name="button_sort_by_size" msgid="7331549713691146251">"Poredaj po veličini"</string>
    <string name="button_sort_by_date" msgid="8800842892684101528">"Poredaj po datumu"</string>
    <string name="download_queued" msgid="104973307780629904">"Na čekanju"</string>
    <string name="download_running" msgid="4656462962155580641">"U tijeku"</string>
    <string name="download_success" msgid="7006048006543495236">"Dovršeno"</string>
    <string name="download_error" msgid="8081329546008568251">"Neuspješno"</string>
    <string name="dialog_title_not_available" msgid="5746317632356158515">"Preuzimanje nije moguće."</string>
    <string name="dialog_failed_body" msgid="587545111677064427">"Želite li opet kasnije pokušati preuzeti datoteku ili je izbrisati s reda čekanja?"</string>
    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Datoteka u redu čekanja"</string>
    <string name="dialog_queued_body" msgid="708552801635572720">"Ova datoteka stavljena je u red čekanja za buduće preuzimanje tako da još nije dostupna."</string>
    <string name="dialog_file_missing_body" msgid="3223012612774276284">"Preuzetu datoteku nije moguće pronaći."</string>
    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"Preuzimanje se ne može završiti. Na vanjskoj pohrani nema dovoljno prostora."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"Preuzimanje se ne može završiti. Na unutarnjoj pohrani preuzimanja nema dovoljno prostora."</string>
    <string name="dialog_cannot_resume" msgid="8664509751358983543">"Preuzimanje je prekinuto i ne može se nastaviti."</string>
    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Preuzimanje nije moguće. Odredišna datoteka već postoji."</string>
    <string name="dialog_media_not_found" msgid="4468088418758018765">"Preuzimanje nije moguće. Vanjski medij nije dostupan."</string>
    <string name="download_no_application_title" msgid="7024782176657362251">"Datoteka se ne može otvoriti"</string>
    <string name="remove_download" msgid="6372920256257247857">"Ukloni"</string>
    <string name="delete_download" msgid="76629022653866471">"Izbriši"</string>
    <string name="keep_queued_download" msgid="5144882786014818569">"Zadrži"</string>
    <string name="cancel_running_download" msgid="5232704030969221112">"Odustani"</string>
    <string name="retry_download" msgid="7617100787922717912">"Pokušaj ponovo"</string>
    <string name="deselect_all" msgid="6348198946254776764">"Poništi odabir za sve"</string>
    <string name="select_all" msgid="634074918366265804">"Odaberi sve"</string>
    <string name="selected_count" msgid="2101564570019753277">"Odabrano <xliff:g id="NUMBER">%1$d</xliff:g> od <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
    <string name="download_share_dialog" msgid="3355867339806448955">"Dijeli putem"</string>
</resources>
