<?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="5264040740662487684">"Niðurhalsstjórnun"</string>
    <string name="storage_description" msgid="169690279447532621">"Niðurhal"</string>
    <string name="permlab_downloadManager" msgid="4241473724446132797">"Aðgangur að niðurhalsstjórnun."</string>
    <string name="permdesc_downloadManager" msgid="5562734314998369030">"Leyfir forriti að fá aðgang að niðurhalsstjórnun og nota hana til að sækja skrár. Spilliforrit geta notað þetta til að trufla niðurhal og fá aðgang að einkaupplýsingum."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="2225663947531460795">"Ítarlegir eiginleikar niðurhalsstjórnunar."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="3902478062563030716">"Leyfir forritum að fá aðgang að ítarlegum eiginleikum niðurhalsstjórnunar. Spilliforrit geta notað þetta til að trufla niðurhal og fá aðgang að einkaupplýsingum."</string>
    <string name="permlab_downloadCompletedIntent" msgid="2674407390116052956">"Senda tilkynningar um niðurhal."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="3384693829639860032">"Leyfir forriti að senda tilkynningar um niðurhal sem er lokið. Spilliforrit geta notað þetta til að skapa rugling hjá öðrum forritum sem sækja skrár."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="4538031250425141333">"Taka frá pláss í skyndiminni niðurhals"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="3071381088686444674">"Leyfir forriti að sækja skrár í skyndiminni niðurhals sem ekki er hægt að hreinsa sjálfkrafa þegar niðurhalsstjórnun þarf meira pláss."</string>
    <string name="permlab_downloadWithoutNotification" msgid="4877101864770265405">"sækja skrár án tilkynningar"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="7699189763226483523">"Leyfir forriti að sækja skrár í gegnum niðurhalsstjórnun án þess að birta notandanum tilkynningu."</string>
    <string name="permlab_accessAllDownloads" msgid="8227356876527248611">"Aðgangur að öllu niðurhali kerfis"</string>
    <string name="permdesc_accessAllDownloads" msgid="7541731738152145079">"Leyfir forriti að skoða og breyta öllu niðurhali sem hvaða forrit kerfisins sem er hóf."</string>
    <string name="download_unknown_title" msgid="1017800350818840396">"&lt;Ónefnt&gt;"</string>
    <string name="notification_download_complete" msgid="466652037490092787">"Niðurhali lokið."</string>
    <string name="notification_download_failed" msgid="3932167763860605874">"Niðurhal mistókst."</string>
    <string name="notification_need_wifi_for_size" msgid="4743443900432303646">"Stærðin krefst Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="6393408819031041778">"Í bið í bakgrunni."</string>
    <string name="wifi_required_title" msgid="7266700488421122218">"Of stórt niðurhal fyrir kerfi símafyrirtækis"</string>
    <string name="wifi_required_body" msgid="4005023496578941958">"Þú verður að nota Wi-Fi til að ljúka þessu <xliff:g id="SIZE">%1$s </xliff:g> niðurhali. \n\nÝttu á <xliff:g id="QUEUE_TEXT">%2$s </xliff:g> til að hefja þetta niðurhal næst þegar þú tengist Wi-Fi neti."</string>
    <string name="wifi_recommended_title" msgid="6488158053932133804">"Setja í biðröð til að sækja síðar?"</string>
    <string name="wifi_recommended_body" msgid="8710820743211704403">"Ef þetta <xliff:g id="SIZE">%1$s </xliff:g> niðurhal er hafið kann rafhlaðan að tæmast hraðar og/eða notkun farsímagagnatengingar að verða mjög mikil, sem kann að hafa í för með sér að símafyrirtækið þitt rukki þig aukalega, allt eftir áskrift.\n\n Ýttu á <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> til að hefja þetta niðurhal næst þegar þú tengist Wi-Fi neti."</string>
    <string name="button_queue_for_wifi" msgid="6650185573566994738">"Setja í biðröð"</string>
    <string name="button_cancel_download" msgid="4135046775536601831">"Hætta við"</string>
    <string name="button_start_now" msgid="3817100969365441730">"Hefja núna"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="8652501374845637331">
      <item quantity="one">Verið að sækja <xliff:g id="NUMBER">%d</xliff:g> skrá</item>
      <item quantity="other">Verið að sækja <xliff:g id="NUMBER">%d</xliff:g> skrár</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="1782251721955177526">
      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> skrá í bið</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> skrár í bið</item>
    </plurals>
    <string name="download_remaining" msgid="2313089371178695625">"<xliff:g id="DURATION">%s</xliff:g> eftir"</string>
    <string name="download_no_application_title" msgid="5780812573953335721">"Ekki er hægt að opna skrána"</string>
    <string name="root_downloads" msgid="8380500940211778491">"Niðurhal"</string>
    <string name="download_queued" msgid="3383844741769045371">"Í biðröð"</string>
    <string name="download_running" msgid="774654178925442490">"Í gangi"</string>
    <string name="download_error" msgid="1857737890005386798">"Mistókst"</string>
    <string name="download_running_percent" msgid="3492753569359254730">"Í gangi, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
