<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017-2020 The LineageOS 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name">Ažuriranje</string>
    <string name="display_name">Ažuriranje</string>
    <string name="verification_failed_notification">Potvrda neuspješna</string>
    <string name="verifying_download_notification">Provjera ažuriranja</string>
    <string name="downloading_notification">Preuzimanje</string>
    <string name="download_paused_notification">Preuzimanje pauzirano</string>
    <string name="download_paused_error_notification">Pogreška preuzimanja</string>
    <string name="download_completed_notification">Preuzimanje je završeno</string>
    <string name="download_starting_notification">Početak preuzimanja</string>
    <string name="new_updates_found_title">Nova ažuriranja</string>
    <string name="text_download_speed">%1$s, %2$s/s</string>
    <string name="pause_button">Pauziraj</string>
    <string name="resume_button">Nastavi</string>
    <string name="installing_update">Instaliranje paketa ažuriranja</string>
    <string name="installing_update_error">Pogreška prilikom instalacije</string>
    <string name="installing_update_finished">Ažuriranje instalirano</string>
    <string name="finalizing_package">Finaliziranje paketa instaliranja</string>
    <string name="preparing_ota_first_boot">Priprema za prvo pokretanje</string>
    <string name="dialog_prepare_zip_message">Preliminarna priprema ažuriranja</string>
    <string name="reboot">Ponovno pokreni</string>
    <string name="menu_refresh">Osvježi</string>
    <string name="menu_auto_updates_check">Provjeri ažuriranja automatski</string>
    <string name="menu_auto_delete_updates">Izbriši ažuriranja nakon instalacije</string>
    <string name="menu_delete_update">Izbriši</string>
    <string name="menu_copy_url">Kopiraj URL</string>
    <string name="menu_export_update">Izvezi ažuriranje</string>
    <string name="menu_show_changelog">Prikaži promjene</string>
    <string name="menu_update_recovery">Ažuriraj recovery</string>
    <string name="toast_forced_update_recovery">Nemoguće je onemogućiti ažuriranja Lineage Recovery na ovom uređaju.</string>
    <string name="snack_updates_found">Pronađena su nova ažuriranja</string>
    <string name="snack_no_updates_found">Nema pronađenih novih ažuriranja</string>
    <string name="snack_updates_check_failed">Provjera ažuriranja nije uspjela. Provjerite internetsku vezu i pokušajte ponovo kasnije.</string>
    <string name="snack_download_failed">Preuzimanje nije uspjelo. Provjerite internetsku vezu i pokušajte ponovo kasnije.</string>
    <string name="snack_download_verification_failed">Provjera ažuriranja nije uspjela.</string>
    <string name="snack_download_verified">Preuzimanje je završeno.</string>
    <string name="snack_update_not_installable">Ovo se ažuriranje ne može instalirati na trenutnu verziju.</string>
    <string name="header_title_text">LineageOS\n%1$s</string>
    <string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
    <string name="header_last_updates_check">Zadnja provjera: <xliff:g id="date" example="1 January 1970">%1$s </xliff:g> (<xliff:g id="time" example="01:23">%2$s </xliff:g>)</string>
    <string name="list_build_version">LineageOS <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
    <string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s </xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s </xliff:g></string>
    <string name="list_verifying_update">Provjera ažuriranja</string>
    <string name="list_no_updates">Nema pronađenih novih ažuriranja. Za ručnu provjeru novih ažuriranja upotrijebite gumb Osvježi.</string>
    <string name="action_download">Preuzmi</string>
    <string name="confirm_delete_dialog_title">Izbriši datoteku</string>
    <string name="confirm_delete_dialog_message">Želite li izbrisati odabranu datoteku ažuriranja?</string>
    <string name="apply_update_dialog_title">Primjeni ažuriranje</string>
    <string name="apply_update_dialog_message">Ažurirat ćete svoj sustav na <xliff:g id="filename">%1$s</xliff:g>.\n\nAko pritisnete <xliff:g id="ok">%2$s</xliff:g>, uređaj će se sam ponovno pokrenuti u načinu oporavka kako bi instalirao ažuriranje.\n\nNapomena: ova značajka zahtijeva kompatibilan Oporavak. U suprotnome će se ažuriranja morati instalirati ručno.</string>
    <string name="apply_update_dialog_message_ab">Spremate se ažurirati na <xliff:g id="filename">%1$s </xliff:g>.\n\nAko dodirnete <xliff:g id="ok">%2$s</xliff:g>, uređaj će započeti instalaciju u pozadini.\n\nKad se završi, trebati ćete ponovno pokrenuti uređaj.</string>
    <string name="cancel_installation_dialog_message">Prekinuti instalaciju?</string>
    <string name="label_download_url">Preuzmi URL</string>
    <string name="toast_download_url_copied">URL kopiran</string>
    <string name="dialog_export_title">Izvoz ažuriranja</string>
    <string name="notification_export_success">Ažuriranje je izvezeno</string>
    <string name="notification_export_fail">Pogreška izvoza</string>
    <string name="toast_already_exporting">Ažuriranje se već izvozi</string>
    <string name="update_on_mobile_data_title">Upozorenje</string>
    <string name="update_on_mobile_data_message">Upravo ćete preuzeti paket ažuriranja pomoću mobilnih podataka koji će vjerojatno uzrokovati visoku upotrebu podataka. Želite li nastaviti?</string>
    <string name="checkbox_mobile_data_warning">Ne prikazuj ponovno</string>
    <string name="menu_mobile_data_warning">Upozorenje o mobilnim podacima</string>
    <string name="blocked_update_dialog_title">Ažuriranje je blokirano</string>
    <string name="blocked_update_dialog_message">Ovo se ažuriranje ne može instalirati pomoću aplikacije za ažuriranje.  Molimo pročitajte <xliff:g id="info_url">%1$s</xliff:g> za više informacija.</string>
    <string name="export_channel_title">Kraj izvoza</string>
    <string name="new_updates_channel_title">Nova ažuriranja</string>
    <string name="ongoing_channel_title">Preuzimanja u tijeku</string>
</resources>
