<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2015 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="phone_app_name" msgid="238824437273544459">"Telefon"</string>
    <string name="no_hfp" msgid="7371139867234667691">"Chaqiruvni bajarish uchun avval telefonni Bluetooth orqali avtomobilga ulang."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth ishlamayapti."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Chaqiruv bajarish yoki qabul qilishdan oldin Bluetoothni yoqing."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Chaqiruv bajarish yoki qabul qilishdan oldin telefonni avtomobilga ulang."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Bluetoothga ulanish"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Favqulodda chaqiruv"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Favqulodda chaqiruv"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Bu kontakt oʻchirib tashlanganga oʻxshaydi."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Bu raqam ishlamayapti. Aniqligini tekshiring va qaytadan urining."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Telefon xizmati hozir ishlamaydi. Keyinroq qayta urining."</string>
    <string name="decline_call" msgid="2505987200485272226">"Rad etish"</string>
    <string name="answer_call" msgid="3272474440561548115">"Javob berish"</string>
    <string name="call_back" msgid="5745638356098600872">"Telefon"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Avtomobil karnaylari"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Telefon karnayi"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telefon"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Raqam terish"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Saralanganlar"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Oxirgilar"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Kontaktlar"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Raqamlar paneli"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Bugun"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Kecha"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Eskiroq"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Hech narsa topilmadi"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Hech qanday kontakt topilmadi"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Sinxronizatsiyadan keyin chiqadi. Buning uchun telefoningizda kontaktlarni ulashishga ruxsat berilgan boʻlishi lozim."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Hech narsa topilmadi"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Hech qaysi kontakt saralanmagan"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Saralanganlarga kiritish"</string>
    <string name="search_title" msgid="5412680850141871664">"Kontaktlar ichidan qidiring"</string>
    <string name="search_hint" msgid="3099066132607042439">"Kontaktlar ichidan qidiring"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Bir nechta"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Raqam tanlang"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Bir marta"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Har doim"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g> , asosiy"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Saralangan – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Qurilmada saralangan – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Saralanganlar"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Qurilmada saralanganlar"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Hech qanday telefon raqami topilmadi"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Kiruvchi chaqiruvlar uchun bildirishnoma"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Kiruvchi chaqiruv"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Javobsiz chaqiruv bildirishnomasi"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="other">Javobsiz chaqiruvlar (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="one">Javobsiz chaqiruv</item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Kutish holatida"</string>
    <string name="setting_title" msgid="1296639422364732365">"Sozlamalar"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Bosh ekran"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Kontaktlar tartibi"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Ulangan telefon"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Maxfiylik"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Klasterda faqat chaqiruv ogohlantiruvlarini chiqarish"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Faol chaqiruv"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Chaqiruvga javob berilganda faol chaqiruv rejimini chiqarish"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Ismi"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Familiyalar asosida"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Chaqiruv audiosi chiqishi:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
