<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2006 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="voiceDialer" msgid="5948204210436590941">"Reconnaissance vocale"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Saviez-vous que..."</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"Appuyez sur le bouton vert Appel et maintenez la touche enfoncée pour ouvrir l\'application Reconnaissance vocale."</string>
    <string name="examples" msgid="2100807337052050741">" Exemples : "<b>" "\n"\"Appeler Thomas Durand\" "\n"\"Appeler Thomas Durand à la maison, …\" "\n"\"Appeler la messagerie vocale\" "\n"\"Composer le 01 23 45 67 89\" "\n"\"Composer le 15, 112, …\" "\n"\"Composer le +33 6 12 34 56 78\" "\n"\"Recomposer\" "\n"\"Ouvrir Google Agenda\" "</b></string>
    <string name="title" msgid="60788431860720964">"Reconnaissance vocale"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Appels par reconnaissance vocale via le Bluetooth"</string>
    <string name="initializing" msgid="3146934028021025628">"Démarrage en cours"</string>
    <string name="listening" msgid="6886486282595802147">"Écoute en cours…"</string>
    <string name="please_try_again" msgid="1427744152996396950">"Veuillez réessayer."</string>
    <string name="failure" msgid="3985785889820564626">"Échec"</string>
    <string name="recognition_error" msgid="1807947152844267364">"Vous pouvez également essayer de redémarrer votre téléphone."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Connexion au casque perdue"</string>
    <string name="at_home" msgid="8478880812967663328">" à la maison"</string>
    <string name="on_mobile" msgid="5739841127369724804">" sur le téléphone portable"</string>
    <string name="at_work" msgid="2946111016850670818">" au bureau"</string>
    <string name="at_other" msgid="1863773841760953063">" autre"</string>
    <string name="logging_enabled" msgid="8702018587287436548">"La connexion à l\'application Reconnaissance vocale est activée."</string>
    <string name="logging_disabled" msgid="5992352601321824322">"La connexion à l\'application Reconnaissance vocale est désactivée."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Parlez maintenant."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"Aucun résultat, réessayez."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Choix incorrect"</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Au revoir"</string>
</resources>
