<?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">"Hangtárcsázó"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Tudta..."</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"A zöld Hívás gomb lenyomásával és nyomva tartásával a Hangtárcsázót nyitja meg."</string>
    <string name="examples" msgid="2100807337052050741">" Például: "<b>" "\n"\"John Doe hívása\" "\n"\"John Doe hívása otthon, …\" "\n"\"Hangposta hívása\" "\n"\"(866) 555 0123 tárcsázása\" "\n"\"911, 811, … tárcsázása\" "\n"\"+44 7333 444 555 tárcsázása\" "\n"\"Újratárcsázás\" "\n"\"Naptár megnyitása\" "</b></string>
    <string name="title" msgid="60788431860720964">"Hangtárcsázó"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Bluetooth hangtárcsázó"</string>
    <string name="initializing" msgid="1455696989718692334">"Indítás..."</string>
    <string name="listening" msgid="6886486282595802147">"Figyelés..."</string>
    <string name="please_try_again" msgid="6612157920739645345">"Próbálkozzon újra."</string>
    <string name="failure" msgid="4363633038755445209">"Az előkészítés sikertelen"</string>
    <string name="recognition_error" msgid="6171111971593859630">"Indítsa újra a telefont, majd próbálkozzon újra."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Megszakadt a kapcsolat a headsettel."</string>
    <string name="at_home" msgid="8478880812967663328">" otthon"</string>
    <string name="on_mobile" msgid="5739841127369724804">" mobilon"</string>
    <string name="at_work" msgid="2946111016850670818">" munkahelyen"</string>
    <string name="at_other" msgid="1863773841760953063">" máshol"</string>
    <string name="logging_enabled" msgid="1797105104286961324">"A hangtárcsázó naplózása bekapcsolva."</string>
    <string name="logging_disabled" msgid="5851271054900000063">"A hangtárcsázó naplózása kikapcsolva."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Most beszéljen."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"Nincs találat, próbálja újra."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Érvénytelen választás."</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Viszontlátásra."</string>
</resources>
