<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="calendar_storage" msgid="5387668002987562770">"Stockage de l\'agenda"</string>
    <string name="upgrade_msg" msgid="2792831029435070926">"Mise à jour de la base de données de Google Agenda."</string>
    <string name="calendar_default_name" msgid="6924293766625167275">"Par défaut"</string>
    <string name="calendar_info" msgid="6687678621418059281">"Infos Agenda"</string>
    <string name="calendar_info_error" msgid="5575162446528419982">"Erreur"</string>
    <string name="calendar_info_no_calendars" msgid="4287534468186704433">"Aucun agenda"</string>
    <string name="calendar_info_events" msgid="1805502308105103803">"Événements : <xliff:g id="EVENTS">%1$d</xliff:g>"</string>
    <string name="calendar_info_events_dirty" msgid="8879392112564499515">"Événements : <xliff:g id="EVENTS_0">%1$d</xliff:g> ; non sauvegardés : <xliff:g id="DIRTY_EVENTS">%2$d</xliff:g>"</string>
    <string name="provider_label" msgid="2306513350843464739">"Agenda"</string>
    <string name="debug_tool_delete_button" msgid="5052706251268452090">"Supprimer maintenant"</string>
    <string name="debug_tool_start_button" msgid="5384780896342913563">"Démarrer"</string>
    <string name="debug_tool_message" msgid="4862486669932821937">"Vous êtes sur le point de 1) copier la base de données de votre agenda sur la carte SD ou la mémoire de stockage USB, la rendant ainsi lisible par n\'importe quelle application, et 2) l\'envoyer par e-mail. N\'oubliez pas de la supprimer une fois son transfert depuis l\'appareil terminé ou dès réception de l\'e-mail."</string>
    <string name="debug_tool_email_sender_picker" msgid="2000311987477419397">"Sélectionnez un programme pour envoyer votre fichier"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"Base de données Agenda ci-jointe"</string>
    <string name="debug_tool_email_body" msgid="4835949635324134017">"Veuillez trouver ci-joint la base de données de mon agenda contenant tous mes rendez-vous et informations personnelles. Merci de l\'utiliser avec précaution."</string>
</resources>
