<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2016 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_name" msgid="963247385700831716">"Gestionnaire d\'espace de stockage"</string>
    <string name="cancel" msgid="7021218262867558825">"Annuler"</string>
    <string name="storage_menu_free" msgid="1878247401436882778">"Libérer de l\'espace"</string>
    <string name="deletion_helper_title" msgid="3526170325226275927">"Supprimer des éléments"</string>
    <string name="deletion_helper_app_summary" msgid="4904590040180275237">"Il y a <xliff:g id="DAYS">%1$d</xliff:g> jours"</string>
    <!-- no translation found for deletion_helper_app_summary_item_size (3770886184921427886) -->
    <skip />
    <string name="deletion_helper_app_summary_never_used" msgid="2695210890063792461">"Non utilisée au cours de l\'année passée"</string>
    <string name="deletion_helper_app_summary_unknown_used" msgid="8576377054665785558">"Date de la dernière utilisation inconnue"</string>
    <string name="deletion_helper_free_button" msgid="1760529213407548661">"Libérer <xliff:g id="FREEABLE">%1$s</xliff:g>"</string>
    <string name="deletion_helper_photos_title" msgid="2602723121486729972">"Photos et vidéos sauvegardées"</string>
    <string name="deletion_helper_photos_age_summary" msgid="1820871709448371984">"Plus de 30 jours"</string>
    <!-- no translation found for deletion_helper_photos_summary (3194825464552700889) -->
    <skip />
    <string name="deletion_helper_downloads_title" msgid="8002058095019254694">"Téléchargements"</string>
    <!-- no translation found for deletion_helper_downloads_category_summary (8545989355108311347) -->
    <skip />
    <!-- no translation found for deletion_helper_downloads_summary_empty (3988054032360371887) -->
    <skip />
    <string name="deletion_helper_clear_dialog_title" msgid="9169670752655850967">"Libérer de l\'espace"</string>
    <string name="deletion_helper_clear_dialog_message" msgid="5196490478187120700">"Des contenus (<xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g>) seront supprimés de votre appareil"</string>
    <string name="deletion_helper_clear_dialog_remove" msgid="863575755467985516">"Libérer de l\'espace"</string>
    <string name="deletion_helper_upsell_title" msgid="8512037674466762017">"Gérer l\'espace de stockage automatiquement ?"</string>
    <string name="deletion_helper_upsell_summary" msgid="2301597713694474407">"Vous venez de libérer <xliff:g id="USED">%1$s</xliff:g>. Souhaitez-vous autoriser le gestionnaire d\'espace de stockage à libérer automatiquement de l\'espace en supprimant le contenu sauvegardé sur votre appareil ?"</string>
    <string name="deletion_helper_upsell_cancel" msgid="7084167642850053889">"Non, merci"</string>
    <string name="deletion_helper_upsell_activate" msgid="7157360257760895976">"Activer"</string>
    <string name="deletion_helper_apps_group_title" msgid="2578309121350341258">"Applications rarement utilisées"</string>
    <!-- no translation found for deletion_helper_apps_group_summary (360315517252452356) -->
    <skip />
    <string name="deletion_helper_automatic_title" msgid="4610119358490679299">"Automatique"</string>
    <string name="deletion_helper_manual_title" msgid="3905192395039688529">"Mode manuel"</string>
    <string name="deletion_helper_preference_title" msgid="803484286872745892">"Libérer de l\'espace"</string>
    <string name="automatic_storage_manager_service_label" msgid="648592272375278978">"Gestion auto de l\'espace de stockage"</string>
    <string name="automatic_storage_manager_notification_title" product="default" msgid="8480483265300964701">"Votre téléphone est à court d\'espace"</string>
    <string name="automatic_storage_manager_notification_title" product="tablet" msgid="3150907918531844467">"Votre tablette est à court d\'espace"</string>
    <string name="automatic_storage_manager_notification_summary" msgid="2267399886362245822">"Autorisez le gestionnaire d\'espace de stockage à libérer de l\'espace en supprimant automatiquement les photos et vidéos les plus anciennes, lorsque votre téléphone commence à être de nouveau saturé."</string>
    <string name="automatic_storage_manager_cancel_button" msgid="1826365037494962803">"Non, merci"</string>
    <string name="automatic_storage_manager_activate_button" msgid="6257070263061898041">"Activer"</string>
    <string name="deletion_helper_photos_loading_title" msgid="2768067991066779772">"Photos et vidéos sauvegardées"</string>
    <string name="deletion_helper_photos_loading_summary" msgid="8203033249458245854">"Recherche de contenus…"</string>
    <string name="deletion_helper_no_threshold" msgid="6943179204098250444">"Afficher tous les éléments"</string>
    <string name="deletion_helper_default_threshold" msgid="8410389370069021113">"Masquer les éléments récents"</string>
    <string name="deletion_helper_clear_dialog_message_first_time" msgid="686530413183529901">"Des contenus (<xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g>) seront supprimés de votre appareil"</string>
    <string name="automatic_storage_manager_activation_warning" msgid="7657017408180001078">"Votre espace de stockage est désormais géré par le gestionnaire d\'espace de stockage."</string>
    <string name="empty_state_title" msgid="4033285438176545309">"Rien à supprimer"</string>
    <string name="empty_state_review_items_link" msgid="8411186441239304545">"Vérifier les éléments récents"</string>
    <string name="empty_state_summary" msgid="8439893007424243790">"Il n\'y a aucun ancien fichier à supprimer. Pour libérer de l\'espace, supprimez des photos, des vidéos et des applications récentes."</string>
    <string name="app_requesting_space" msgid="857425181289960167">"<xliff:g id="APP">%1$s</xliff:g> nécessite <xliff:g id="CLEARABLE_BYTES">%2$s</xliff:g> d\'espace de stockage"</string>
</resources>
