<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017 The LineageOS 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name">Gestionnaire de mise à jour</string>
    <string name="display_name">Gestionnaire de mise à jour</string>
    <string name="verification_failed_notification">Échec de la vérification</string>
    <string name="verifying_download_notification">Vérification de la mise à jour en cours</string>
    <string name="downloading_notification">Téléchargement en cours</string>
    <string name="download_paused_notification">Téléchargement mis en pause</string>
    <string name="download_paused_error_notification">Erreur de téléchargement</string>
    <string name="download_completed_notification">Téléchargement terminé</string>
    <string name="download_starting_notification">Début du téléchargement</string>
    <string name="update_failed_notification">Échec de la mise à jour</string>
    <string name="installation_suspended_notification">Installation suspendue</string>
    <string name="new_updates_found_title">Nouvelles mises à jour</string>
    <string name="text_download_speed">%1$s, %2$s/s</string>
    <string name="pause_button">Pause</string>
    <string name="resume_button">Reprendre</string>
    <string name="suspend_button">Suspendre</string>
    <string name="installing_update">Installation du paquet de mise à jour en cours</string>
    <string name="installing_update_error">Erreur d\'installation</string>
    <string name="installing_update_finished">Mise à jour installée</string>
    <string name="finalizing_package">Finalisation de l’installation du paquet</string>
    <string name="preparing_ota_first_boot">Préparation pour le premier démarrage</string>
    <string name="dialog_prepare_zip_message">Préparation de la mise à jour préliminaire</string>
    <string name="dialog_battery_low_title">Batterie faible</string>
    <string name="dialog_battery_low_message_pct">Le niveau de batterie est trop faible. Pour continuer, vous devez avoir au moins <xliff:g id="percent_discharging">%1$d</xliff:g> %% de batterie restante, ou <xliff:g id="percent_charging">%2$d</xliff:g> %% si l\'appareil est en charge.</string>
    <string name="reboot">Redémarrer</string>
    <string name="menu_refresh">Actualiser</string>
    <string name="menu_preferences">Préférences</string>
    <string name="menu_auto_updates_check">Vérification des mises à jour automatique</string>
    <string name="menu_auto_updates_check_interval_daily">Une fois par jour</string>
    <string name="menu_auto_updates_check_interval_weekly">Une fois par semaine</string>
    <string name="menu_auto_updates_check_interval_monthly">Une fois par mois</string>
    <string name="menu_auto_updates_check_interval_never">Jamais</string>
    <string name="menu_auto_delete_updates">Supprimer les mises à jour une fois installées</string>
    <string name="menu_delete_update">Supprimer</string>
    <string name="menu_copy_url">Copier l\'URL</string>
    <string name="menu_export_update">Exporter la mise à jour</string>
    <string name="menu_show_changelog">Afficher l\'historique des modifications</string>
    <string name="menu_ab_perf_mode">Privilégier le processus de mise à jour</string>
    <string name="snack_updates_found">Nouvelles mises à jour disponibles</string>
    <string name="snack_no_updates_found">Aucune nouvelle mise à jour disponible</string>
    <string name="snack_updates_check_failed">La vérification de nouvelles mises à jour a échoué. Vérifiez votre connexion internet et réessayez ultérieurement.</string>
    <string name="snack_download_failed">Le téléchargement a échoué. Vérifiez votre connexion internet et réessayez ultérieurement.</string>
    <string name="snack_download_verification_failed">La vérification de la mise à jour a échoué.</string>
    <string name="snack_download_verified">Téléchargement terminé.</string>
    <string name="snack_update_not_installable">Cette mise à jour ne peut pas être installée sur votre version actuelle.</string>
    <string name="header_title_text">LineageOS\n%1$s</string>
    <string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
    <string name="header_last_updates_check">Dernière vérification : <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
    <string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
    <string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
    <string name="list_download_progress_new"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> sur <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> • <xliff:g id="percentage" example="56">%3$s</xliff:g></string>
    <string name="list_download_progress_eta_new"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> sur <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> (<xliff:g id="eta" example="3 minutes left">%3$s</xliff:g>) • <xliff:g id="percentage" example="56">%4$s</xliff:g></string>
    <string name="list_verifying_update">Vérification de la mise à jour en cours</string>
    <string name="list_no_updates">Aucune nouvelle mise à jour trouvée. Pour vérifier manuellement la présence de mises à jour, utiliser le bouton Actualiser.</string>
    <string name="action_download">Télécharger</string>
    <string name="action_pause">Mettre en pause</string>
    <string name="action_resume">Reprendre</string>
    <string name="action_install">Installer</string>
    <string name="action_info">Informations</string>
    <string name="action_delete">Supprimer</string>
    <string name="action_cancel">Annuler</string>
    <string name="confirm_delete_dialog_title">Supprimer le fichier</string>
    <string name="confirm_delete_dialog_message">Supprimer le fichier de mise à jour sélectionné ?</string>
    <string name="apply_update_dialog_title">Appliquer la mise à jour</string>
    <string name="apply_update_dialog_message">Vous êtes sur le point d\'installer <xliff:g id="update_name">%1$s</xliff:g>.\n\nLorsque vous appuierez sur <xliff:g id="ok">%2$s</xliff:g>, votre appareil redémarrera automatiquement en mode recovery pour installer la mise à jour.\n\nRemarque : Cette opération nécessite un recovery compatible, sinon les mises à jour devront être installées manuellement.</string>
    <string name="apply_update_dialog_message_ab">Vous êtes sur le point de faire la mise à jour vers <xliff:g id="update_name">%1$s</xliff:g>.\n\nLorsque vous appuierez sur <xliff:g id="ok">%2$s</xliff:g>, l’appareil commencera l\'installation en tâche de fond.\n\nUne fois celle-ci terminée, il vous sera demandé de redémarrer.</string>
    <string name="cancel_installation_dialog_message">Annuler l\'installation ?</string>
    <string name="label_download_url">URL de téléchargement</string>
    <string name="toast_download_url_copied">URL copiée</string>
    <string name="dialog_export_title">Exportation de la mise à jour en cours</string>
    <string name="notification_export_success">Mise à jour exportée</string>
    <string name="notification_export_fail">Erreur lors de l\'exportation</string>
    <string name="toast_already_exporting">Une mise à jour est déjà en cours d\'export</string>
    <plurals name="eta_seconds">
        <item quantity="one">temps restant : 1 seconde</item>
        <item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> secondes</item>
    </plurals>
    <plurals name="eta_minutes">
        <item quantity="one">temps restant : 1 minute</item>
        <item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> minutes</item>
    </plurals>
    <plurals name="eta_hours">
        <item quantity="one">temps restant : 1 heure</item>
        <item quantity="other">temps restant : <xliff:g id="count">%d</xliff:g> heures</item>
    </plurals>
    <string name="update_on_mobile_data_title">Avertissement</string>
    <string name="update_on_mobile_data_message">Vous êtes sur le point de télécharger un paquet de mise à jour via les données mobiles qui pourrait représenter un volume de données important. Voulez-vous tout de même procéder au téléchargement ?</string>
    <string name="checkbox_mobile_data_warning">Ne plus afficher</string>
    <string name="menu_mobile_data_warning">Avertissement d\'usage des données mobiles</string>
    <string name="blocked_update_dialog_title">Mise à jour bloquée</string>
    <string name="blocked_update_dialog_message">Cette mise à jour ne peut pas être installée en utilisant le gestionnaire de mise à jour.  Veuillez lire <xliff:g id="info_url">%1$s</xliff:g> pour plus d’information.</string>
    <string name="export_channel_title">Fin de l\'exportation</string>
    <string name="new_updates_channel_title">Nouvelles mises à jour</string>
    <string name="ongoing_channel_title">Téléchargements en cours</string>
    <string name="update_failed_channel_title">Échec de la mise à jour</string>
</resources>
