<?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">"Telefonikõne tegemiseks ühendage esmalt Bluetoothi kaudu oma telefon autoga."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth ei ole saadaval."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Helistamiseks või kõnede vastuvõtmiseks lülitage Bluetooth sisse."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Helistamiseks või kõnede vastuvõtmiseks siduge oma telefon autoga."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Ühenda Bluetoothiga"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Hädaabi"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Hädaabikõne"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"See kontakt võib olla kustutatud."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Seda numbrit ei saa valida. Kontrollige seda ja proovige uuesti."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Helistamine ei ole saadaval. Proovige hiljem uuesti."</string>
    <string name="decline_call" msgid="2505987200485272226">"Keeldu"</string>
    <string name="answer_call" msgid="3272474440561548115">"Vasta"</string>
    <string name="call_back" msgid="5745638356098600872">"Helista tagasi"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Autokõlarid"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Telefoni kõlar"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telefon"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Vali number"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Lemmikud"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Hiljutised"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Kontaktid"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Valimisklahvistik"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Täna"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Eile"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Vanemad"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Hiljutisi pole"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Kontakte ei ole"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Saadaval pärast sünkroonimist. Veenduge, et oleksite oma seadmes lubanud kontaktide jagamise."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Lemmikuid pole"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Te ei ole veel lemmikuid lisanud"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Lisa lemmik"</string>
    <string name="search_title" msgid="5412680850141871664">"Otsige kontakte"</string>
    <string name="search_hint" msgid="3099066132607042439">"Otsige kontakte"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Mitu"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Telefoninumbri valimine"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Ainult üks kord"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Alati"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g>, vaikenumber"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Lisa lemmikutesse – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Kohalik lemmik – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Lemmikud"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Kohalikud lemmikud"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Telefoninumbreid pole"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Sissetuleva kõne märguanne"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Sissetulev kõne"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Vastamata kõne märguanne"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="other">Vastamata kõned (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="one">Vastamata kõne</item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Ootel"</string>
    <string name="setting_title" msgid="1296639422364732365">"Seaded"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Avakuva"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Kontaktide järjestus"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Ühendatud telefon"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Privaatsus"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Kuva kõnemärguanded ainult kogumina"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Aktiivne kõne"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Kuva kõnele vastamisel aktiivse kõne kuva"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Eesnimi"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Perekonnanimi"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Kõne heliväljund:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
