<?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">"Zəngi tamamlamaq üçün əvvəlcə telefonu Bluetooth ilə avtomobilə qoşun."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth əlçatan deyil."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Zəng etmək və ya qəbul etmək üçün Bluetooth\'u aktiv edin."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Zəng etmək və ya qəbul etmək üçün telefonu avtomobilə birləşdirin."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Bluetooth\'a qoşulun"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Təcili"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Təcili zəng"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Bu kontakt silinmiş ola bilər."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Bu nömrəni yığmaq olmur. Yoxlayın və yenidən cəhd edin."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Telefon zəngi əlçatan deyil. Sonra cəhd edin."</string>
    <string name="decline_call" msgid="2505987200485272226">"Rədd edin"</string>
    <string name="answer_call" msgid="3272474440561548115">"Cavab"</string>
    <string name="call_back" msgid="5745638356098600872">"Geriyə zəng"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Avtomobil dinamikləri"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Telefon dinamiki"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telefon"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Nömrə yığın"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Sevimlilər"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Sonuncular"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Kontaktlar"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Yığım paneli"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Bu gün"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Dünən"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Əvvəlki"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Sonuncular yoxdur"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Kontakt yoxdur"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Sinxronlaşdırmadan sonra əlçatandır. Telefonda kontaktların paylaşılmasına icazə verdiyinizə əmin olun."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Sevimlilər yoxdur"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Hələ heç bir sevimli element əlavə etməmisiniz"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Sevimli kontakt əlavə edin"</string>
    <string name="search_title" msgid="5412680850141871664">"Kontaktları axtarın"</string>
    <string name="search_hint" msgid="3099066132607042439">"Kontaktları axtarın"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Çoxsaylı"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Telefon nömrəsi seçin"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Sadəcə bir dəfə"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Həmişə"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g> , defolt"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Sevimli -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Yerli sevimli -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Sevimlilər"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Yerli sevimlilər"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Telefon nömrəsi yoxdur"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Gələn zəng bildirişi"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Gələn zəng"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Buraxılmış zəng bildirişi"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="other">Buraxılmış zənglər (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="one">Buraxılmış zəng</item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Gözləmədə"</string>
    <string name="setting_title" msgid="1296639422364732365">"Ayarlar"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Başlanğıc ekranı"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Kontakt sırası"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Qoşulmuş Telefon"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Məxfilik"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Klasterdə yalnız zəng xəbərdarlıqlarını göstərin"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Aktiv Zəng"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Zəngə cavab verərkən aktiv zəng görünüşünü göstərin"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Ad"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Soyad"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Zəng audiosunu buraya göndərin:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
