<?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">"Lataustenhallinta"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Lataustenhallinnan käyttö."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Antaa sovelluksen käyttää latauksien hallintaa. Haitalliset sovellukset voivat keskeyttää latauksia ja käyttää yksityistietoja."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Lataustenhallinnan lisätoiminnot."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Antaa sovelluksen käyttää latauksien hallinnan lisätoimintoja. Haitalliset sovellukset voivat keskeyttää latauksia ja käyttää yksityistietoja."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Latausilmoitusten lähetys."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Antaa sovelluksen lähettää valmistuneita latauksia koskevia ilmoituksia. Haitalliset sovellukset voivat käyttää tätä muiden tiedostoja lataavien sovelluksien häiritsemiseen."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Kaikki USB-lataukset"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"SD-kortin kaikkien latausten tarkastelu."</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Antaa sovelluksen nähdä kaikki SD-kortille tehtävät lataukset huolimatta latauksen suorittaneesta sovelluksesta."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Varaa tilaa latausvälimuistista"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Antaa sovelluksen ladata tiedostoja latausvälimuistiin, jota ei voi automaattisesti poistaa latauksen hallinnan tarvitessa lisää tilaa."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"lataa tiedostoja ilmoittamatta"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Antaa sovelluksen ladata tiedostoja latauksen hallinnan kautta ilmoittamatta siitä käyttäjälle."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Käytä kaikkia järjestelmän latauksia"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Antaa sovelluksen tarkastella ja muokata kaikkia minkä tahansa järjestelmän sovelluksen käynnistämiä latauksia."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Nimetön&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Lataus valmis."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Lataus epäonnistui."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Lataa wifi-yhteydellä"</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Keskeytetty taustalla."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Lataus liian suuri operaattorin verkolle"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Tämä <xliff:g id="SIZE">%s </xliff:g>:n lataus täytyy suorittaa wifi-yhteyden ollessa käytössä. "\n\n"Aloita lataus seuraavan kerran, kun yhdistät wifi-verkkoon, koskettamalla <xliff:g id="QUEUE_TEXT">%s </xliff:g>."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Asetetaanko myöhemmin ladattavaksi?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Jos aloitat tämän <xliff:g id="SIZE">%s </xliff:g>:n latauksen nyt, akun virtaa voi kulua tav. enemmän ja/tai operaattori voi veloittaa ylim. mobiilitiedons."\n\n"Aloita lataus seuraavan kerran, kun yhdistät wifi-verkkoon, koskettamalla <xliff:g id="QUEUE_TEXT">%s</xliff:g>."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Jono"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Peruuta"</string>
    <string name="button_start_now" msgid="792123674007840864">"Aloita nyt"</string>
    <string name="download_percent" msgid="6889426633242976698">"<xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
  <plurals name="notif_summary_active">
    <item quantity="one" msgid="8475775855911967027">"1 tiedostoa ladataan"</item>
    <item quantity="other" msgid="9087228371320573153">"<xliff:g id="NUMBER">%d</xliff:g> tiedostoa ladataan"</item>
  </plurals>
  <plurals name="notif_summary_waiting">
    <item quantity="one" msgid="5537481763963544278">"1 tiedosto odottaa"</item>
    <item quantity="other" msgid="549229034166062887">"<xliff:g id="NUMBER">%d</xliff:g> tiedostoa odottaa"</item>
  </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> jäljellä"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Tiedostoa ei voi avata"</string>
</resources>
