<?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="5264040740662487684">"Upravitelj prenosov"</string>
    <string name="storage_description" msgid="169690279447532621">"Prenosi"</string>
    <string name="permlab_downloadManager" msgid="4241473724446132797">"Dostop do upravitelja prenosov."</string>
    <string name="permdesc_downloadManager" msgid="5562734314998369030">"Dovoli aplikaciji dostopanje do upravitelja prenosov in njegovo uporabo za prenos datotek. Zlonamerne aplikacije lahko s tem motijo prenose in dostopajo do zasebnih podatkov."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="2225663947531460795">"Dodatne funkcije upravitelja prenosov."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="3902478062563030716">"Dovoli aplikaciji dostopanje do dodatnih funkcij upravitelja prenosov. Zlonamerne aplikacije lahko s tem motijo prenose in dostopajo do zasebnih podatkov."</string>
    <string name="permlab_downloadCompletedIntent" msgid="2674407390116052956">"Pošlji obvestila o prenosih."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="3384693829639860032">"Dovoli aplikaciji pošiljanje obvestil o končanih prenosih. Zlonamerne aplikacije lahko s tem zmedejo druge aplikacije, ki prenašajo datoteke."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="4538031250425141333">"Rezerviraj prostor v predpomnilniku za prenose"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="3071381088686444674">"Dovoli aplikaciji prenašanje datotek v predpomnilnik za prenose, ki ga ni mogoče samodejno izbrisati, ko upravitelj prenosov potrebuje več prostora."</string>
    <string name="permlab_downloadWithoutNotification" msgid="4877101864770265405">"prenos datotek brez obvestila"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="7699189763226483523">"Dovoli aplikaciji prenos datotek z upraviteljem prenosov, brez prikaza obvestila uporabniku."</string>
    <string name="permlab_accessAllDownloads" msgid="8227356876527248611">"Dostop do vseh sistemskih prenosov"</string>
    <string name="permdesc_accessAllDownloads" msgid="7541731738152145079">"Dovoli aplikaciji prikaz in spreminjanje vseh prenosov, ki jih je začela poljubna aplikacija v sistemu."</string>
    <string name="download_unknown_title" msgid="1017800350818840396">"&lt;Brez naslova&gt;"</string>
    <string name="notification_download_complete" msgid="466652037490092787">"Prenos je končan."</string>
    <string name="notification_download_failed" msgid="3932167763860605874">"Prenos ni uspel."</string>
    <string name="notification_need_wifi_for_size" msgid="4743443900432303646">"Zahtev. je povez. Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="6393408819031041778">"Začas. ustav. v ozadju."</string>
    <string name="wifi_required_title" msgid="7266700488421122218">"Prenos je prevelik za operaterjevo omrežje"</string>
    <string name="wifi_required_body" msgid="4005023496578941958">"Če želite dokončati prenos, velik <xliff:g id="SIZE">%1$s </xliff:g>, morate uporabiti povezavo Wi-Fi. \n\nDotaknite se možnosti <xliff:g id="QUEUE_TEXT">%2$s </xliff:g>, če želite začeti ta prenos naslednjič, ko boste povezani v omrežje Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="6488158053932133804">"Želite postaviti v čakalno vrsto za poznejši prenos?"</string>
    <string name="wifi_recommended_body" msgid="8710820743211704403">"Zaradi prenosa, velikega <xliff:g id="SIZE">%1$s </xliff:g>, se lahko porabi baterija in/ali prekomerno uporabijo mobilni podatki, kar vam lahko operater glede na naročnino zaračuna.\n\nDotaknite se <xliff:g id="QUEUE_TEXT">%2$s</xliff:g>, če želite prenesti, ko boste povezani v Wi-Fi."</string>
    <string name="button_queue_for_wifi" msgid="6650185573566994738">"Čakalna vrsta"</string>
    <string name="button_cancel_download" msgid="4135046775536601831">"Prekliči"</string>
    <string name="button_start_now" msgid="3817100969365441730">"Začni zdaj"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="8652501374845637331">
      <item quantity="one">Poteka prenos <xliff:g id="NUMBER">%d</xliff:g> datoteke</item>
      <item quantity="two">Poteka prenos <xliff:g id="NUMBER">%d</xliff:g> datotek</item>
      <item quantity="few">Poteka prenos <xliff:g id="NUMBER">%d</xliff:g> datotek</item>
      <item quantity="other">Poteka prenos <xliff:g id="NUMBER">%d</xliff:g> datotek</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="1782251721955177526">
      <item quantity="one">Na čakanju je <xliff:g id="NUMBER">%d</xliff:g> datoteka</item>
      <item quantity="two">Na čakanju sta <xliff:g id="NUMBER">%d</xliff:g> datoteki</item>
      <item quantity="few">Na čakanju so <xliff:g id="NUMBER">%d</xliff:g> datoteke</item>
      <item quantity="other">Na čakanju je <xliff:g id="NUMBER">%d</xliff:g> datotek</item>
    </plurals>
    <string name="download_remaining" msgid="2313089371178695625">"Še <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="5780812573953335721">"Datoteke ni mogoče odpreti"</string>
    <string name="root_downloads" msgid="8380500940211778491">"Prenosi"</string>
    <string name="download_queued" msgid="3383844741769045371">"V čakalni vrsti"</string>
    <string name="download_running" msgid="774654178925442490">"Poteka"</string>
    <string name="download_error" msgid="1857737890005386798">"Neuspešno"</string>
    <string name="download_running_percent" msgid="3492753569359254730">"Poteka – <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
