<?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">"Voice Dialler"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Did you know…"</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"Pressing &amp; holding the green Call button opens the Voice Dialler."</string>
    <string name="examples" msgid="2100807337052050741">" Examples: "<b>" \n\"Call John Smith\" \n\"Call John Smith at home, …\" \n\"Call voicemail\" \n\"Dial (866) 555 0123\" \n\"Dial 911, 811, …\" \n\"Dial +44 7333 444 555\" \n\"Redial\" \n\"Open Calendar\" "</b></string>
    <string name="title" msgid="60788431860720964">"Voice Dialler"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Bluetooth Voice Dialler"</string>
    <string name="initializing" msgid="1455696989718692334">"Starting up…"</string>
    <string name="listening" msgid="6886486282595802147">"Listening…"</string>
    <string name="please_try_again" msgid="6612157920739645345">"Try again."</string>
    <string name="failure" msgid="4363633038755445209">"Couldn\'t initialise"</string>
    <string name="recognition_error" msgid="6171111971593859630">"Restart your phone then try again."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Connection to headset lost."</string>
    <string name="at_home" msgid="8478880812967663328">" at home"</string>
    <string name="on_mobile" msgid="5739841127369724804">" on mobile"</string>
    <string name="at_work" msgid="2946111016850670818">" at work"</string>
    <string name="at_other" msgid="1863773841760953063">" at other"</string>
    <string name="logging_enabled" msgid="1797105104286961324">"Voice Dialler logging is turned on."</string>
    <string name="logging_disabled" msgid="5851271054900000063">"Voice Dialler logging is turned off."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Speak now."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"No results, try again."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Invalid choice."</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Goodbye."</string>
</resources>
