<?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="ringtone_default" msgid="798836092118824500">"Sonnerie par défaut"</string>
    <string name="notification_sound_default" msgid="8133121186242636840">"Son de notification par défaut"</string>
    <string name="alarm_sound_default" msgid="4787646764557462649">"Son de l\'alarme par défaut"</string>
    <string name="add_ringtone_text" msgid="6642389991738337529">"Ajouter une sonnerie"</string>
    <string name="add_alarm_text" msgid="3545497316166999225">"Ajouter une alarme"</string>
    <string name="add_notification_text" msgid="4431129543300614788">"Ajouter une notification"</string>
    <string name="delete_ringtone_text" msgid="201443984070732499">"Supprimer"</string>
    <string name="unable_to_add_ringtone" msgid="4583511263449467326">"Impossible d\'ajouter une sonnerie personnalisée"</string>
    <string name="unable_to_delete_ringtone" msgid="6792301380142859496">"Impossible de supprimer la sonnerie personnalisée"</string>
    <!-- no translation found for app_label (3091611356093417332) -->
    <skip />
</resources>
