<?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="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_filename_separator" msgid="7147189522857807618">", "</string>
    <string name="notification_filename_extras" msgid="5549729917695688191">" ja <xliff:g id="NUMBER">%d</xliff:g> veel"</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\n"Puudutage 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>
    <string name="download_percent" msgid="6889426633242976698">"<xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
</resources>
