<?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">"Gestionnaire de téléchargement"</string>
    <string name="storage_description" msgid="169690279447532621">"Téléchargements"</string>
    <string name="permlab_downloadManager" msgid="4241473724446132797">"Accéder au gestionnaire de téléchargement."</string>
    <string name="permdesc_downloadManager" msgid="5562734314998369030">"Permet à l\'application d\'accéder au gestionnaire de téléchargement et de l\'utiliser pour télécharger des fichiers. Les applications malveillantes peuvent utiliser cette fonctionnalité pour perturber les téléchargements et accéder à des informations confidentielles."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="2225663947531460795">"Fonctions avancées du gestionnaire de téléchargement."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="3902478062563030716">"Permet à l\'application d\'accéder aux fonctions avancées du gestionnaire de téléchargement. Les applications malveillantes peuvent utiliser cette fonctionnalité pour perturber les téléchargements et accéder à des informations confidentielles."</string>
    <string name="permlab_downloadCompletedIntent" msgid="2674407390116052956">"Envoyer des notifications de téléchargement."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="3384693829639860032">"Permet à l\'application d\'envoyer des notifications relatives aux téléchargements terminés. Les applications malveillantes peuvent utiliser cette fonctionnalité pour induire en erreur d\'autres applications pouvant télécharger des fichiers."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="4538031250425141333">"Réserver un espace dans le cache de téléchargement"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="3071381088686444674">"Permet à l\'application de télécharger des fichiers dans le cache de téléchargement et empêche leur suppression automatique par le gestionnaire de téléchargement."</string>
    <string name="permlab_downloadWithoutNotification" msgid="4877101864770265405">"télécharger les fichiers sans m\'avertir"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="7699189763226483523">"Permet à l\'application de télécharger des fichiers via le gestionnaire de téléchargement sans afficher de notification à l\'attention de l\'utilisateur."</string>
    <string name="permlab_accessAllDownloads" msgid="8227356876527248611">"Accéder à tous les téléchargements système"</string>
    <string name="permdesc_accessAllDownloads" msgid="7541731738152145079">"Permet à l\'application d\'afficher et de modifier tous les téléchargements initiés par n\'importe quelle application du système."</string>
    <string name="download_unknown_title" msgid="1017800350818840396">"&lt;Sans_titre&gt;"</string>
    <string name="notification_download_complete" msgid="466652037490092787">"Téléchargement terminé."</string>
    <string name="notification_download_failed" msgid="3932167763860605874">"Échec du téléchargement."</string>
    <string name="notification_need_wifi_for_size" msgid="4743443900432303646">"Taille du fichier requiert Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="6393408819031041778">"Interrompu en arr.-plan."</string>
    <string name="wifi_required_title" msgid="7266700488421122218">"Téléchargement trop volumineux pour l\'opérateur"</string>
    <string name="wifi_required_body" msgid="4005023496578941958">"Vous devez utiliser le Wi-Fi pour finaliser ce téléchargement de <xliff:g id="SIZE">%1$s </xliff:g>. \n\nAppuyez sur <xliff:g id="QUEUE_TEXT">%2$s </xliff:g> pour le lancer lors de votre prochaine connexion à un réseau Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="6488158053932133804">"Ajouter à la file d\'attente des téléchargements ?"</string>
    <string name="wifi_recommended_body" msgid="8710820743211704403">"Ce téléchargement (<xliff:g id="SIZE">%1$s </xliff:g>) risque de décharger votre batterie et/ou d\'entraîner une consommation excessive de votre connexion Internet mobile. Des frais supplémentaires peuvent être facturés par votre opérateur en fonction de votre forfait.\n\nAppuyez sur <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> pour le lancer lors de votre prochaine connexion au Wi-Fi."</string>
    <string name="button_queue_for_wifi" msgid="6650185573566994738">"File d\'attente"</string>
    <string name="button_cancel_download" msgid="4135046775536601831">"Annuler"</string>
    <string name="button_start_now" msgid="3817100969365441730">"Commencer"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="8652501374845637331">
      <item quantity="one">Téléchargement de <xliff:g id="NUMBER">%d</xliff:g> fichier</item>
      <item quantity="other">Téléchargement de <xliff:g id="NUMBER">%d</xliff:g> fichiers</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="1782251721955177526">
      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> fichier en attente</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> fichiers en attente</item>
    </plurals>
    <string name="download_remaining" msgid="2313089371178695625">"Temps restant : <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="5780812573953335721">"Impossible d\'ouvrir le fichier."</string>
    <string name="root_downloads" msgid="8380500940211778491">"Téléchargements"</string>
    <string name="download_queued" msgid="3383844741769045371">"Placé en file d\'attente"</string>
    <string name="download_running" msgid="774654178925442490">"En cours"</string>
    <string name="download_error" msgid="1857737890005386798">"Échec"</string>
    <string name="download_running_percent" msgid="3492753569359254730">"En cours, <xliff:g id="PERCENTAGE">%s</xliff:g>…"</string>
</resources>
