<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="4847371117203587513">"Nedladdningar"</string>
    <string name="download_title_sorted_by_date" msgid="6033509257480233878">"Nedladdningar – sorterade efter datum"</string>
    <string name="download_title_sorted_by_size" msgid="2575551670173644253">"Nedladdningar – sorterade efter storlek"</string>
    <string name="no_downloads" msgid="1654764193290918538">"Inga nedladdningar."</string>
    <string name="missing_title" msgid="3827247802608803753">"&lt;Okänd&gt;"</string>
    <string name="button_sort_by_size" msgid="7952187121189086395">"Sortera efter storlek"</string>
    <string name="button_sort_by_date" msgid="2064919145709585942">"Sortera efter datum"</string>
    <string name="download_queued" msgid="4128038702528588781">"I kö"</string>
    <string name="download_running" msgid="2046492059586594352">"Bearbetas"</string>
    <string name="download_success" msgid="3895973294927323747">"Slutförd"</string>
    <string name="download_error" msgid="6652902885480887230">"Misslyckades"</string>
    <string name="dialog_title_not_available" msgid="7793272183758002416">"Det gick inte att ladda ned."</string>
    <string name="dialog_failed_body" msgid="4538779125597383173">"Vill du prova att kadda ned filen vid ett senare tillfälle eller vill du ta bort den från kön?"</string>
    <string name="dialog_title_queued_body" msgid="7481231558376227012">"Fil i kö"</string>
    <string name="dialog_queued_body" msgid="2374398802707010234">"Filen står i kö för nedladdning, så den är inte tillgänglig än."</string>
    <string name="dialog_file_missing_body" msgid="7896653198405160564">"Det gick inte att hitta den nedladdade filen."</string>
    <string name="dialog_insufficient_space_on_external" msgid="1847671628253287114">"Det gick inte att slutföra nedladdningen. Det finns inte tillräckligt med utrymme på den externa lagringsenheten."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="703074452633529558">"Det gick inte att slutföra nedladdningen. Det finns inte tillräckligt med internt lagringsutrymme."</string>
    <string name="dialog_cannot_resume" msgid="3101433441301206866">"Nedladdningen avbröts och kan inte återupptas."</string>
    <string name="dialog_file_already_exists" msgid="6849168874901909994">"Det gick inte att ladda ned. Målfilen finns redan."</string>
    <string name="dialog_media_not_found" msgid="7376030905821161865">"Det gick inte att ladda ned. Externa media är inte tillgängliga."</string>
    <string name="download_no_application_title" msgid="1209223807604231431">"Det går inte att öppna filen"</string>
    <string name="remove_download" msgid="244394809285977300">"Ta bort"</string>
    <string name="delete_download" msgid="1861638125603383676">"Ta bort"</string>
    <string name="keep_queued_download" msgid="6905870466259272973">"Behåll"</string>
    <string name="cancel_running_download" msgid="8586888328847044473">"Avbryt"</string>
    <string name="retry_download" msgid="6957856437473044831">"Försök igen"</string>
    <string name="start_now_download" msgid="1518778561803897734">"Starta nu"</string>
    <string name="deselect_all" msgid="4673983454506880405">"Avmarkera alla"</string>
    <string name="select_all" msgid="7469093306474000460">"Markera alla"</string>
    <string name="selected_count" msgid="5876842902167894010">"<xliff:g id="NUMBER">%1$d</xliff:g> av <xliff:g id="TOTAL">%2$d</xliff:g> har valts"</string>
    <string name="download_share_dialog" msgid="5212760257251501969">"Dela via"</string>
</resources>
