<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2014 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="sip_settings" msgid="3768482698061677257">"Cài đặt SIP"</string>
    <string name="sip_accounts" msgid="85559497282185405">"Tài khoản SIP"</string>
    <string name="sip_accounts_title" msgid="2082527045326874519">"Tài khoản"</string>
    <string name="sip_receive_calls" msgid="426678617137462173">"Nhận cuộc gọi đến"</string>
    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Sử dụng nhiều thời lượng pin hơn"</string>
    <string name="sip_call_options_title" msgid="8421210494703869806">"Sử dụng tính năng gọi điện SIP"</string>
    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Sử dụng tính năng gọi điện SIP (chỉ Wi-Fi)"</string>
    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Dành cho tất cả các cuộc gọi khi mạng dữ liệu sẵn có"</string>
    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Chỉ cho cuộc gọi SIP"</string>
    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Cho tất cả cuộc gọi"</string>
    <string name="add_sip_account" msgid="800843669753980091">"Thêm tài khoản"</string>
    <string name="remove_sip_account" msgid="1367664438506503690">"Xóa tài khoản"</string>
    <string name="sip_account_list" msgid="5610858485304821480">"Tài khoản SIP"</string>
    <string name="saving_account" msgid="5336529880235177448">"Đang lưu tài khoản..."</string>
    <string name="removing_account" msgid="5537351356808985756">"Đang xóa tài khoản..."</string>
    <string name="sip_menu_save" msgid="7882219814563869225">"Lưu"</string>
    <string name="sip_menu_discard" msgid="2350421645423888438">"Hủy"</string>
    <string name="alert_dialog_close" msgid="1326011828713435134">"Đóng tiểu sử"</string>
    <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
    <string name="close_profile" msgid="3122414058856309881">"Đóng"</string>
    <string name="registration_status_checking_status" msgid="6136793741862200337">"Đang kiểm tra trạng thái..."</string>
    <string name="registration_status_registering" msgid="2677183977796278749">"Đang đăng ký…"</string>
    <string name="registration_status_still_trying" msgid="7648151061205513458">"Vẫn đang thử..."</string>
    <string name="registration_status_not_receiving" msgid="7620333886153361090">"Đang không nhận cuộc gọi."</string>
    <string name="registration_status_no_data" msgid="2541999976218192413">"Đăng ký tài khoản đã dừng do không có kết nối Internet."</string>
    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Đăng ký tài khoản đã dừng do không có kết nối Wi-Fi."</string>
    <string name="registration_status_not_running" msgid="514205414303796800">"Đăng ký tài khoản không thành công."</string>
    <string name="registration_status_done" msgid="3264961069247314253">"Đang nhận cuộc gọi."</string>
    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"Đăng ký tài khoản không thành công: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); sẽ thử sau"</string>
    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Đăng ký tài khoản không thành công: Tên người dùng hoặc mật khẩu không chính xác."</string>
    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Đăng ký tài khoản không thành công: Kiểm tra tên máy chủ."</string>
    <string name="third_party_account_summary" msgid="9041060473615403041">"Tài khoản này hiện đang được ứng dụng <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> sử dụng."</string>
    <string name="sip_edit_title" msgid="1967247832635750410">"Chi tiết tài khoản SIP"</string>
    <string name="sip_edit_new_title" msgid="266414118302574305">"Chi tiết tài khoản SIP"</string>
    <string name="domain_address_title" msgid="1968479941328225423">"Máy chủ"</string>
    <string name="username_title" msgid="6770064611005663470">"Tên người dùng"</string>
    <string name="password_title" msgid="5289013731515564295">"Mật khẩu"</string>
    <string name="display_name_title" msgid="579241787583079773">"Tên hiển thị"</string>
    <string name="proxy_address_title" msgid="6890163365640631841">"Địa chỉ proxy đi"</string>
    <string name="port_title" msgid="6693965912656593862">"Số cổng"</string>
    <string name="transport_title" msgid="889155457465372527">"Loại truyền tải"</string>
    <string name="send_keepalive_title" msgid="599627072150501159">"Gửi giữ kết nối"</string>
    <string name="advanced_settings" msgid="6622996380747040711">"Cài đặt tùy chọn"</string>
    <string name="auth_username_title" msgid="8262491689004708265">"Tên người dùng xác thực"</string>
    <string name="auth_username_summary" msgid="941160241371436473">"Tên người dùng để xác thực"</string>
    <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Chưa đặt&gt;"</string>
    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Giống như tên người dùng&gt;"</string>
    <string name="optional_summary" msgid="2363105560396317624">"&lt;Tùy chọn&gt;"</string>
    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Chạm để hiển thị tất cả"</string>
    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Chạm để ẩn tất cả"</string>
    <string name="all_empty_alert" msgid="4087734950375192387">"Nhập chi tiết của tài khoản SIP mới."</string>
    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> là bắt buộc và không thể để trống."</string>
    <string name="not_a_valid_port" msgid="7931422555587011830">"Số cổng phải trong khoảng từ 1000 đến 65534."</string>
    <string name="no_internet_available" msgid="5523747991760017298">"Để thực hiện cuộc gọi SIP, trước tiên hãy kiểm tra kết nối Internet của bạn."</string>
    <string name="no_wifi_available" msgid="1955023904229673488">"Bạn cần kết nối với mạng Wi-Fi cho cuộc gọi SIP (hãy sử dụng cài đặt Không dây và Mạng)."</string>
    <string name="no_voip" msgid="3038021971231952704">"Tính năng gọi điện SIP không được hỗ trợ"</string>
    <string name="sip_system_decide" msgid="5577696249416700671">"Tự động"</string>
    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Luôn luôn gửi"</string>
    <string name="sip_connection_service_label" msgid="6935325004265884453">"Tính năng gọi điện SIP tích hợp sẵn"</string>
</resources>
