<?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 uspostavite poziv, najprije povežite telefon s automobilom preko Bluetootha."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth nije dostupan."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Za upućivanje ili primanje poziva uključite Bluetooth."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Za upućivanje ili primanje poziva uparite telefon s automobilom."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Poveži se na Bluetooth"</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">"Moguće je da je ovaj kontakt izbrisan."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Nije moguće birati ovaj broj. Provjerite ga i pokušajte ponovo."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Telefonski poziv nije dostupan. Pokušajte 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">"Uputi povratni 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">"Biraj 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">"Telefonska tipkovnica"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Danas"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Jučer"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Stariji"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Nema nedavnih poziva"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Nema kontakata"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Dostupno nakon sinhronizacije. Provjerite jeste li dozvolili dijeljenje kontakata na telefonu."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Nema omiljenih"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Još uvijek niste dodali omiljeni sadržaj"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Dodaj omiljeni"</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šestruko"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Odaberite broj telefona"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Samo ovaj put"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Uvijek"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g> , zadano"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Omiljeni -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Lokalni omiljeni -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Omiljeni"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Lokalni omiljeni"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Nema brojeva telefona"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Obavještenja tokom dolaznog poziva"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Dolazni poziv"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Obavještenje za propušten poziv"</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">"Postavke"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Početni ekran"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Redoslijed kontakata"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Povezani telefon"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Privatnost"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Samo prikaži obavještenja o pozivima u skupini"</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">"Prikaz pregleda aktivnog poziva prilikom odgovaranja 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">"Odaberite izlaz za zvuk poziva:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
