<?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="3658948994665187911">"Allalaadimishaldur"</string>
    <string name="storage_description" msgid="7982444311558023664">"Allalaadimised"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Juurdepääs allalaadimishaldurile."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Võimaldab rakendusel pääseda allalaadimishalduri juurde ja selle abil faile alla laadida. Pahatahtlikud rakendused saavad selle abil allalaadimisi takistada ja privaatsete andmete juurde pääseda."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Allalaadimishalduri täpsemad funktsioonid."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Võimaldab rakendusel pääseda allalaadimishalduri täpsemate funktsioonide juurde. Pahatahtlikud rakendused võivad selle abil allalaadimisi takistada ja privaatsete andmete juurde pääseda."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Allalaadimisteatiste saatmine."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Võimaldab rakendusel saata märguandeid lõpulejõudnud allalaadimiste kohta. Pahatahtlikud rakendused võivad selle abil häirida teisi rakendusi, mis faile alla laadivad."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"USB allalaadimiste vaat."</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Vaadake kõiki allalaadimisi SD-kaardile"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Võimaldab rakendusel näha kõiki SD-kaardile salvestatud allalaadimisi sõltumata rakendusest, mis need alla laadis."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reserveeri allalaadimiste vahemälus ruumi"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Võimaldab rakendusel laadida faile allalaadimise vahemällu, mida allalaadimishaldur ei saa ruumi vabastamiseks automaatselt kustutada."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"failide teatamata allalaadimine"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Võimaldab rakendusel allalaadimishalduri kaudu faile alla laadida kasutajale märguannet kuvamata."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Juurdepääs kõigile süsteemi allalaadimistele"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Võimaldab rakendusel vaadata ja muuta kõiki allalaadimisi, mille algatas süsteemis olev mis tahes rakendus."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Pealkirjata&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Allalaadimine on lõpetatud."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Allalaadimine ebaõnnestus."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Allalaad. on vaja WiFit."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Peatatud taustal."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Allalaadimine operaatori võrgu jaoks on liiga suur"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"<xliff:g id="SIZE">%s </xliff:g> suuruse allalaadimise jaoks tuleb kasutada WiFi-võrku.\n\nPuudutage valikut <xliff:g id="QUEUE_TEXT">%s </xliff:g>, et alustada allalaadimisega järgmine kord, kui olete WiFi-võrguga ühenduses."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Kas lisada järjekorda hilisemaks allalaadimiseks?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"<xliff:g id="SIZE">%s </xliff:g> allalaad. võib aku tööiga lüh. ja/või mob. andmemahtu koormata, mistõttu võib mob.operaator teilt sõltuvalt andmeplaanist tasu võtta.\n\n Puud. valikut <xliff:g id="QUEUE_TEXT">%s</xliff:g>, et laadida see alla siis, kui olete WiFi-võrgus."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Järjekord"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Tühista"</string>
    <string name="button_start_now" msgid="792123674007840864">"Alusta nüüd"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> faili allalaadimine</item>
      <item quantity="one">1 faili allalaadimine</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> faili on ootel</item>
      <item quantity="one">1 fail on ootel</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"Jäänud: <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Faili ei saa avada"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Allalaadimised"</string>
    <string name="download_queued" msgid="3302638231377947451">"Järjekorras"</string>
    <string name="download_running" msgid="3925050393361158266">"Töötlemisel"</string>
    <string name="download_error" msgid="5144180777324573236">"Ebaõnnestus"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Pooleli, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
