<?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">"Da biste dovršili poziv, prvo povežite telefon sa automobilom preko Bluetooth-a."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth nije dostupan."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Da biste upućivali ili primali pozive, uključite Bluetooth."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Da biste upućivali ili primali pozive, uparite telefon sa automobilom."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Poveži sa Bluetooth-om"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Hitan slučaj"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Hitni poziv"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Ovaj kontakt je možda izbrisan."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Pozivanje ovog broja nije uspelo. Proverite ga i probajte ponovo."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Telefonski poziv nije dostupan. Probajte ponovo kasnije."</string>
    <string name="decline_call" msgid="2505987200485272226">"Odbij"</string>
    <string name="answer_call" msgid="3272474440561548115">"Odgovori"</string>
    <string name="call_back" msgid="5745638356098600872">"Uzvrati poziv"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Zvučnici u automobilu"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Zvučnik telefona"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telefon"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Unesite broj"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Omiljeno"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Nedavno"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Kontakti"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Numerička tastatura"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Danas"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Juče"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Starije"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Nema nedavnih stavki"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Nema kontakata"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Dostupno posle sinhronizovanja. Proverite da li ste dozvolili deljenje kontakata na telefonu."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Nema omiljenih stavki"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Još niste dodali omiljene stavke"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Dodajte omiljen kontakt"</string>
    <string name="search_title" msgid="5412680850141871664">"Pretražite kontakte"</string>
    <string name="search_hint" msgid="3099066132607042439">"Pretražite kontakte"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Više"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Odaberite broj telefona"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Samo jednom"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Uvek"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g>, podrazumevano"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Favorit – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Lokalni favorit – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Favoriti"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Lokalni favoriti"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Nema brojeva telefona"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Obaveštenje o dolaznom pozivu"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Dolazni poziv"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Obaveštenje o propuštenom pozivu"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="one">Propušteni pozivi(<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="few">Propušteni pozivi(<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="other">Propušteni pozivi(<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Na čekanju"</string>
    <string name="setting_title" msgid="1296639422364732365">"Podešavanja"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Početni ekran"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Redosled kontakata"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Povezan telefon"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Privatnost"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Obaveštenja o pozivima prikazuj samo u objedinjenom prikazu"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Aktivan poziv"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Omogući prikaz aktivnog poziva pri odgovaranju na poziv"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Ime"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Prezime"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Izaberite izlaz za zvuk poziva:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
