<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2019 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="phoneAppLabel" product="tablet" msgid="4304896407232136185">"ອິນເຕີເນັດມືຖື"</string>
    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ການບໍລິການໂທລະສັບ"</string>
    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ແປ້ນໂທລະສັບໂທອອກສຸກເສີນ"</string>
    <string name="fdnListLabel" msgid="5034563979654950274">"ລາຍການ FDN"</string>
    <string name="simContacts_title" msgid="4391084959219666947">"ເລືອກລາຍຊື່ຜູ້ຕິດຕໍ່ເພື່ອນຳເຂົ້າ"</string>
    <string name="gsm_umts_options" msgid="1113500053403490666">"ຕົວເລືອກ GSM/UMTS"</string>
    <string name="cdma_options" msgid="4492063023149886710">"ຕົວເລືອກ CDMA"</string>
    <string name="call_settings" msgid="8152058602760531097">"ຕັ້ງຄ່າການໂທ"</string>
    <string name="labelCF" msgid="2140733390678280443">"ການໂອນສາຍ"</string>
    <string name="labelCallBarring" msgid="8300927675522420184">"ການລະງັບການໂທ"</string>
    <string name="labelGSMMore" msgid="4048734049263392253">"ການຕັ້ງຄ່າການໂທ GSM"</string>
    <string name="fdn" msgid="1080701466751913822">"ໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
    <string name="get_pin2" msgid="5519152040805796508">"ພິມ PIN2"</string>
    <string name="delete_fdn_contact" msgid="4232462795352020296">"ລຶບໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
    <string name="enable_pin" msgid="5266421421847399987">"ປິດ/ເປີດນຳໃຊ້ PIN ຂອງ SIM"</string>
    <string name="change_pin" msgid="7219696137781706635">"ປ່ຽນ PIN ຂອງ SIM"</string>
    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
    <string name="sip_connection_service_label" msgid="6852349516774218961">"ການ​ໂທ SIP ໃນ​ເຄື່ອງ"</string>
    <string name="phone_accounts" msgid="6930293131442022860">"ບັນການຊີໂທ"</string>
    <string name="voicemail" msgid="9083239047687566742">"ຂໍ້ຄວາມສຽງ"</string>
    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ຊິມກາດໃນຕົວ"</string>
    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ຂໍ້​ມູນ​ແທັບເລັດ"</string>
    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ຂໍ້​ມູນ​ໂທລະ​ສັບ"</string>
    <string name="band_mode_title" msgid="681256838654706936">"ຕັ້ງຄ່າໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
</resources>
