<?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">"Të dhënat celulare"</string>
    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Shërbimet e telefonit"</string>
    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Formuesi i numrit të urgjencës"</string>
    <string name="fdnListLabel" msgid="5034563979654950274">"Lista e FDN-ve"</string>
    <string name="simContacts_title" msgid="4391084959219666947">"Zgjidh kontaktet për importim"</string>
    <string name="gsm_umts_options" msgid="1113500053403490666">"Opsionet GSM/UMTS"</string>
    <string name="cdma_options" msgid="4492063023149886710">"Opsionet CDMA"</string>
    <string name="call_settings" msgid="8152058602760531097">"Cilësimet e telefonatave"</string>
    <string name="labelCF" msgid="2140733390678280443">"Transferimi i telefonatave"</string>
    <string name="labelCallBarring" msgid="8300927675522420184">"Bllokimi i telefonatave"</string>
    <string name="labelGSMMore" msgid="4048734049263392253">"Cilësimet e telefonatës GSM"</string>
    <string name="fdn" msgid="1080701466751913822">"Numrat me telefonim të përzgjedhur"</string>
    <string name="get_pin2" msgid="5519152040805796508">"Shkruaj kodin PIN2"</string>
    <string name="delete_fdn_contact" msgid="4232462795352020296">"Fshi numrin me telefonim të përzgjedhur"</string>
    <string name="enable_pin" msgid="5266421421847399987">"Aktivizo/çaktivizo PIN-in e kartës SIM"</string>
    <string name="change_pin" msgid="7219696137781706635">"Ndrysho PIN-in e kartës SIM"</string>
    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Qasshmëria"</string>
    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
    <string name="sip_connection_service_label" msgid="6852349516774218961">"Telefonata SIP e integruar"</string>
    <string name="phone_accounts" msgid="6930293131442022860">"Llogaritë e telefonatave"</string>
    <string name="voicemail" msgid="9083239047687566742">"Posta zanore"</string>
    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Kartat e integruara SIM"</string>
    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informacion mbi tabletin"</string>
    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacioni i telefonit"</string>
    <string name="band_mode_title" msgid="681256838654706936">"Cakto modalitetin e brezit të radios"</string>
</resources>
