<?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">"Aby bylo možné volat, propojte telefon s autem pomocí Bluetooth"</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth není k dispozici."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Chcete-li přijímat a uskutečňovat hovory, zapněte Bluetooth."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Chcete-li uskutečňovat a přijímat hovory, spárujte telefon s autem."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Připojit k Bluetooth"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Stav nouze"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Tísňové volání"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Tento kontakt byl zřejmě smazán."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Toto číslo nelze vytočit. Zkontrolujte ho a zkuste to znovu."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Telefonní hovor není k dispozici. Zkuste to později."</string>
    <string name="decline_call" msgid="2505987200485272226">"Odmítnout"</string>
    <string name="answer_call" msgid="3272474440561548115">"Přijmout"</string>
    <string name="call_back" msgid="5745638356098600872">"Zavolat zpět"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Automobilové reproduktory"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Reproduktor telefonu"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telefon"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Vytočit číslo"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Oblíbené"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Nejnovější"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Kontakty"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Číselník"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Dnes"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Včera"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Starší"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Žádné nejnovější"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Žádné kontakty"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Dostupné po synchronizaci. Ověřte, zda jste v telefonu povolili sdílení kontaktů."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Žádné oblíbené položky"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Zatím jste nepřidali žádné oblíbené kontakty"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Přidat oblíbený kontakt"</string>
    <string name="search_title" msgid="5412680850141871664">"Prohledat kontakty"</string>
    <string name="search_hint" msgid="3099066132607042439">"Prohledat kontakty"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Více čísel"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Vyberte telefonní číslo"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Pouze jednou"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Vždy"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g>, výchozí"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Přidat číslo <xliff:g id="LABEL">%1$s</xliff:g> mezi oblíbené"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Místní oblíbené číslo – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Oblíbené"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Místní oblíbená čísla"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Žádná telefonní čísla"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Oznámení o příchozím hovoru"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Příchozí hovor"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Zmeškané oznámení o hovoru"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="few">Zmeškané hovory (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="many">Zmeškané hovory (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="other">Zmeškané hovory (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="one">Zmeškaný hovor</item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Podrženo"</string>
    <string name="setting_title" msgid="1296639422364732365">"Nastavení"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Úvodní obrazovka"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Pořadí kontaktů"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Připojený telefon"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Soukromí"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Upozornění na hovory zobrazovat jen v clusteru"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Aktivní hovor"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Při přijetí hovoru zobrazit přehled aktivního hovoru"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Jméno"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Příjmení"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Směrování zvuku odchozího hovoru:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
