<?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">"Prenosi"</string>
    <string name="download_title_sorted_by_date" msgid="6033509257480233878">"Prenosi, razvrščeni po datumu"</string>
    <string name="download_title_sorted_by_size" msgid="2575551670173644253">"Prenosi, razvrščeni po velikosti"</string>
    <string name="no_downloads" msgid="1654764193290918538">"Ni prenosov."</string>
    <string name="missing_title" msgid="3827247802608803753">"&lt;Neznano&gt;"</string>
    <string name="button_sort_by_size" msgid="7952187121189086395">"Razvrsti po velikosti"</string>
    <string name="button_sort_by_date" msgid="2064919145709585942">"Razvrsti po datumu"</string>
    <string name="download_queued" msgid="4128038702528588781">"V čakalni vrsti"</string>
    <string name="download_running" msgid="2046492059586594352">"Poteka"</string>
    <string name="download_success" msgid="3895973294927323747">"Končano"</string>
    <string name="download_error" msgid="6652902885480887230">"Neuspešno"</string>
    <string name="dialog_title_not_available" msgid="7793272183758002416">"Prenos ni uspel"</string>
    <string name="dialog_failed_body" msgid="4538779125597383173">"Želite poskusiti prenesti datoteko pozneje ali jo izbrisati iz čakalne vrste?"</string>
    <string name="dialog_title_queued_body" msgid="7481231558376227012">"Datoteka v čakalni vrsti"</string>
    <string name="dialog_queued_body" msgid="2374398802707010234">"Datoteka je v čakalni vrsti za prenos in še ni na voljo."</string>
    <string name="dialog_file_missing_body" msgid="7896653198405160564">"Prenesene datoteke ni mogoče najti."</string>
    <string name="dialog_insufficient_space_on_external" msgid="1847671628253287114">"Prenosa ni mogoče končati. V zunanjem pomnilniku ni dovolj prostora."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="703074452633529558">"Prenosa ni mogoče končati. V notranjem pomnilniku za prenose ni dovolj prostora."</string>
    <string name="dialog_cannot_resume" msgid="3101433441301206866">"Prenos je bil prekinjen in ga ni mogoče nadaljevati."</string>
    <string name="dialog_file_already_exists" msgid="6849168874901909994">"Prenos ni mogoč. Ciljna datoteka že obstaja."</string>
    <string name="dialog_media_not_found" msgid="7376030905821161865">"Prenos ni mogoč. Zunanji medij ni na voljo."</string>
    <string name="download_no_application_title" msgid="1209223807604231431">"Datoteke ni mogoče odpreti"</string>
    <string name="remove_download" msgid="244394809285977300">"Odstrani"</string>
    <string name="delete_download" msgid="1861638125603383676">"Izbriši"</string>
    <string name="keep_queued_download" msgid="6905870466259272973">"Obdrži"</string>
    <string name="cancel_running_download" msgid="8586888328847044473">"Prekliči"</string>
    <string name="retry_download" msgid="6957856437473044831">"Poskusi znova"</string>
    <string name="start_now_download" msgid="1518778561803897734">"Začni zdaj"</string>
    <string name="deselect_all" msgid="4673983454506880405">"Prekliči celoten izbor"</string>
    <string name="select_all" msgid="7469093306474000460">"Izberi vse"</string>
    <string name="selected_count" msgid="5876842902167894010">"Izbrano: <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">"Deli z drugimi prek"</string>
</resources>
