<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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="app_label" msgid="2783841764617238354">"Dokumenti"</string>
    <string name="title_open" msgid="4353228937663917801">"Otvori iz"</string>
    <string name="title_save" msgid="2433679664882857999">"Spremi u"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"Izradi mapu"</string>
    <string name="menu_grid" msgid="6878021334497835259">"Prikaz rešetke"</string>
    <string name="menu_list" msgid="7279285939892417279">"Prikaz popisa"</string>
    <string name="menu_sort" msgid="7677740407158414452">"Poredano po"</string>
    <string name="menu_search" msgid="3816712084502856974">"Pretraživanje"</string>
    <string name="menu_settings" msgid="6008033148948428823">"Postavke"</string>
    <string name="menu_open" msgid="432922957274920903">"Otvaranje"</string>
    <string name="menu_save" msgid="2394743337684426338">"Spremi"</string>
    <string name="menu_share" msgid="3075149983979628146">"Dijeli"</string>
    <string name="menu_delete" msgid="8138799623850614177">"Izbriši"</string>
    <string name="menu_select" msgid="8711270657353563424">"Odaberi \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
    <string name="menu_select_all" msgid="4320518282375109902">"Odaberi sve"</string>
    <string name="menu_copy" msgid="3612326052677229148">"Kopiraj u…"</string>
    <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Pokaži internu pohranu"</string>
    <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Pokaži SD karticu"</string>
    <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Sakrij internu pohranu"</string>
    <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Sakrij SD karticu"</string>
    <string name="menu_file_size_show" msgid="3240323619260823076">"Pokaži veličinu datoteke"</string>
    <string name="menu_file_size_hide" msgid="8881975928502581042">"Sakrij veličinu datoteke"</string>
    <!-- no translation found for button_copy (8706475544635021302) -->
    <skip />
    <string name="mode_selected_count" msgid="459111894725594625">"Odabrano: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
    <string name="sort_name" msgid="9183560467917256779">"Po korisniku"</string>
    <string name="sort_date" msgid="586080032956151448">"Po datumu izmjene"</string>
    <string name="sort_size" msgid="3350681319735474741">"Po veličini"</string>
    <string name="drawer_open" msgid="4545466532430226949">"Prikaži korijene"</string>
    <string name="drawer_close" msgid="7602734368552123318">"Sakrij korijene"</string>
    <string name="save_error" msgid="6167009778003223664">"Nije uspjelo spremanje dokumenta"</string>
    <string name="create_error" msgid="3735649141335444215">"Izrada mape nije uspjela"</string>
    <string name="query_error" msgid="1222448261663503501">"Traženje dokumenata nije uspjelo"</string>
    <string name="root_recent" msgid="4470053704320518133">"Nedavno"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> besplatno"</string>
    <string name="root_type_service" msgid="2178854894416775409">"Usluge pohrane"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"Prečaci"</string>
    <string name="root_type_device" msgid="7121342474653483538">"Uređaji"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"Više aplikacija"</string>
    <string name="empty" msgid="7858882803708117596">"Nema stavki"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"Datoteku nije moguće otvoriti"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"Nije moguće izbrisati neke dokumente"</string>
    <string name="share_via" msgid="8966594246261344259">"Dijeli putem"</string>
    <string name="copy_notification_title" msgid="6374299806748219777">"Kopiranje datoteka"</string>
    <string name="copy_remaining" msgid="6283790937387975095">"Još <xliff:g id="DURATION">%s</xliff:g>"</string>
    <plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
      <item quantity="one">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
      <item quantity="few">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
      <item quantity="other">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteka.</item>
    </plurals>
    <string name="copy_preparing" msgid="3896202461003039386">"Priprema za kopiranje…"</string>
    <!-- no translation found for copy_error_notification_title (4911333304372840735) -->
    <!-- no translation found for notification_touch_for_details (4483108577842961665) -->
    <skip />
    <!-- no translation found for retry (7564024179122207376) -->
    <skip />
    <!-- no translation found for copy_failure_alert_title (616726451967793549) -->
    <skip />
    <!-- no translation found for copy_failure_alert_content (2655232627616241542) -->
    <skip />
</resources>
