<?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">"Trình quay số bằng Giọng nói"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Bạn có biết…"</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"Nhấn &amp; giữ nút Gọi màu xanh để mở Trình quay số bằng Giọng nói."</string>
    <string name="examples" msgid="2100807337052050741">" Ví dụ: "<b>" "\n"\"Gọi John Doe\" "\n"\"Gọi John Doe theo số nhà riêng, …\" "\n"\"Gọi thư thoại\" "\n"\"Quay số (866) 555 0123\" "\n"\"Quay số 911, 811, …\" "\n"\"Quay số +44 7333 444 555\" "\n"\"Quay số lại\" "\n"\"Mở Lịch\" "</b></string>
    <string name="title" msgid="60788431860720964">"Trình quay số bằng Giọng nói"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Trình quay số bằng Giọng nói Bluetooth"</string>
    <string name="initializing" msgid="3146934028021025628">"Đang khởi động."</string>
    <string name="listening" msgid="6886486282595802147">"Đang nghe…"</string>
    <string name="please_try_again" msgid="1427744152996396950">"Vui lòng thử lại."</string>
    <string name="failure" msgid="3985785889820564626">"Lỗi"</string>
    <string name="recognition_error" msgid="1807947152844267364">"Bạn cũng có thể thử khởi động lại điện thoại của mình."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Mất kết nối đến tai nghe."</string>
    <string name="at_home" msgid="8478880812967663328">" theo số nhà riêng"</string>
    <string name="on_mobile" msgid="5739841127369724804">" theo số điện thoại di động"</string>
    <string name="at_work" msgid="2946111016850670818">" theo số cơ quan"</string>
    <string name="at_other" msgid="1863773841760953063">" theo số khác"</string>
    <string name="logging_enabled" msgid="8702018587287436548">"Ghi nhật ký Trình quay số bằng Giọng nói đã được bật."</string>
    <string name="logging_disabled" msgid="5992352601321824322">"Ghi nhật ký Trình quay số bằng Giọng nói đã bị vô hiệu hoá."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Xin mời nói."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"Không có kết quả nào, hãy thử lại."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Lựa chọn không hợp lệ."</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Tạm biệt."</string>
</resources>
