<?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">"Download Manager"</string>
    <string name="storage_description" msgid="169690279447532621">"Downloads"</string>
    <string name="permlab_downloadManager" msgid="4241473724446132797">"Access download manager."</string>
    <string name="permdesc_downloadManager" msgid="5562734314998369030">"Allows the app to access the download manager and to use it to download files. Malicious apps can use this to disrupt downloads and access private information."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="2225663947531460795">"Advanced download manager functions."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="3902478062563030716">"Allows the app to access the download manager\'s advanced functions. Malicious apps can use this to disrupt downloads and access private information."</string>
    <string name="permlab_downloadCompletedIntent" msgid="2674407390116052956">"Send download notifications."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="3384693829639860032">"Allows the app to send notifications about completed downloads. Malicious apps can use this to confuse other apps that download files."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="4538031250425141333">"Reserve space in the download cache"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="3071381088686444674">"Allows the app to download files to the download cache, which can\'t be deleted automatically when the download manager needs more space."</string>
    <string name="permlab_downloadWithoutNotification" msgid="4877101864770265405">"download files without notification"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="7699189763226483523">"Allows the application to download files through the download manager without any notification being shown to the user."</string>
    <string name="permlab_accessAllDownloads" msgid="8227356876527248611">"Access all system downloads"</string>
    <string name="permdesc_accessAllDownloads" msgid="7541731738152145079">"Allows the app to view and modify all downloads initiated by any app on the system."</string>
    <string name="download_unknown_title" msgid="1017800350818840396">"&lt;Untitled&gt;"</string>
    <string name="notification_download_complete" msgid="466652037490092787">"Download complete."</string>
    <string name="notification_download_failed" msgid="3932167763860605874">"Download unsuccessful."</string>
    <string name="notification_need_wifi_for_size" msgid="4743443900432303646">"Download size requires Wi-Fi"</string>
    <string name="notification_paused_in_background" msgid="6393408819031041778">"Paused in background"</string>
    <string name="wifi_required_title" msgid="7266700488421122218">"Download too large for operator network"</string>
    <string name="wifi_required_body" msgid="4005023496578941958">"You must use Wi-Fi to complete this <xliff:g id="SIZE">%1$s </xliff:g> download. \n\nTouch <xliff:g id="QUEUE_TEXT">%2$s </xliff:g> to start this download the next time that you\'re connected to a Wi-Fi network."</string>
    <string name="wifi_recommended_title" msgid="6488158053932133804">"Queue for download later?"</string>
    <string name="wifi_recommended_body" msgid="8710820743211704403">"Starting this <xliff:g id="SIZE">%1$s </xliff:g> download now may shorten your battery life and/or result in excessive usage of your mobile data connection, which can lead to charges by your mobile operator depending on your data plan.\n\n Touch <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> to start this download the next time that you\'re connected to a Wi-Fi network."</string>
    <string name="button_queue_for_wifi" msgid="6650185573566994738">"Queue"</string>
    <string name="button_cancel_download" msgid="4135046775536601831">"Cancel"</string>
    <string name="button_start_now" msgid="3817100969365441730">"Start now"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="8652501374845637331">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> files downloading</item>
      <item quantity="one">1 file downloading</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="1782251721955177526">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> files waiting</item>
      <item quantity="one">1 file waiting</item>
    </plurals>
    <string name="download_remaining" msgid="2313089371178695625">"<xliff:g id="DURATION">%s</xliff:g> left"</string>
    <string name="download_no_application_title" msgid="5780812573953335721">"Can\'t open file"</string>
    <string name="root_downloads" msgid="8380500940211778491">"Downloads"</string>
    <string name="download_queued" msgid="3383844741769045371">"Queued"</string>
    <string name="download_running" msgid="774654178925442490">"In progress"</string>
    <string name="download_error" msgid="1857737890005386798">"Unsuccessful"</string>
    <string name="download_running_percent" msgid="3492753569359254730">"In progress, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
