<?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">"Nedladdningshanterare"</string>
    <string name="storage_description" msgid="7982444311558023664">"Nedladdningar"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Åtkomst till laddningshanterare."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Tillåter att en app får åtkomst till nedladdningshanteraren och kan använda den för att ladda ned filer. Skadliga program kan använda detta för att störa nedladdningar och komma åt privat information."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Avancerade funktioner för nedladdningshanterare."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Tillåter att appen får åtkomst till nedladdningshanterarens avancerade funktioner. Skadliga program kan använda detta för att störa nedladdningar och komma åt privata uppgifter."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Skicka meddelande om nedladdning."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Tillåter att appen skickar meddelanden om slutförda nedladdningar. Skadliga appar kan använda detta för att störa andra appar som laddar ned filer."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Visa nedladdningar till USB"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Visa alla nedladdningar till SD-kort"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Tillåter att appen ser alla nedladdningar till SD-kortet, oavsett vilken app som laddat ned innehållet."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reservera utrymme i nedladdningscachen"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Tillåter att appen laddar ned filer till hämtningscachen som inte kan tas bort automatiskt när hämtningshanteraren behöver mer utrymme."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"ladda ned filer utan avisering"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Tillåter att appen laddar ned filer via nedladdningshanteraren utan att något meddelande visas för användaren."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Åtkomst till alla nedladdningar i systemet"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Tillåter att appen visar och ändrar alla nedladdningar som initieras av en app i systemet."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Okänd&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Nedladdningen har slutförts."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Det gick inte att ladda ned."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Nedladdningen kräver Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Pausad i bakgrunden."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Nedladdningen är för stor för operatörsnätverket"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Du måste använda Wi-Fi om du vill slutföra nedladdningen på <xliff:g id="SIZE">%s </xliff:g>. \n \n Tryck på <xliff:g id="QUEUE_TEXT">%s </xliff:g> om du vill påbörja nedladdningen nästa gång du är ansluten till ett Wi-Fi-nätverk."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Vill du ställa den i kö för nedladdning senare?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Om du laddar ned <xliff:g id="SIZE">%s </xliff:g> kan det leda till att batteritiden minskar eller att dataanslutningen överbelastas. Det kan i sin tur innebära att operatören tar ut högre avgifter, beroende på abonnemang.\n\n Tryck på <xliff:g id="QUEUE_TEXT">%s</xliff:g> om du vill starta nedladdningen nästa gång mobilen är ansluten till ett Wi-Fi-nätverk."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Kö"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Avbryt"</string>
    <string name="button_start_now" msgid="792123674007840864">"Starta nu"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> filer laddas ned</item>
      <item quantity="one">1 fil laddas ned</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> filer väntar</item>
      <item quantity="one">1 fil väntar</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> återstår"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Det går inte att öppna filen"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Nedladdningar"</string>
    <string name="download_queued" msgid="3302638231377947451">"I kö"</string>
    <string name="download_running" msgid="3925050393361158266">"Pågår"</string>
    <string name="download_error" msgid="5144180777324573236">"Misslyckades"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Pågår, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
