<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="3658948994665187911">"Управник за преземање"</string>
    <string name="storage_description" msgid="7982444311558023664">"Преземања"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Пристапи до управувачот за преземања."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Овозможува апликацијата да пристапи до менаџерот за преземање и да го користи за преземање датотеки. Злонамерните апликации може да го искористат ова да ги попречат преземањата и да пристапат до приватни информации."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Напредни функции на управувачот за преземања."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Овозможува апликацијата да пристапи до напредни функции на менаџерот за преземање. Злонамерните апликации може да го искористат ова да ги попречат преземањата и да пристапат до приватни информации."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Испрати известувања за преземањата."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Овозможува апликацијата да испраќа известувања за завршени преземања. Злонамерните апликации може да го искористат ова да ги збунат другите апликации кои преземаат датотеки."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Зачувај простор во преземаниот кеш"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Овозможува апликацијата да презема датотеки до преземан кеш кој не може автоматски да се избрише кога менаџерот за преземање бара повеќе простор."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"преземи датотеки без известување"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Овозможува апликацијата да презема датотеки преку менаџерот  за преземање без да се прикаже какво било претходно известување на корисникот."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Пристапи до сите системски преземања"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Овозможува апликацијата да ги гледа и менува сите преземања иницирани од која било апликација на системот."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Без наслов&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Преземањето заврши."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Преземањето е неуспешно."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Големина за преземање бара Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Паузирано во заднина."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Премногу големо преземање за мрежата на операторот"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Мора да користите Wi-Fi да се заврши преземањето на овие <xliff:g id="SIZE">%1$s </xliff:g>\n\nДопрете <xliff:g id="QUEUE_TEXT">%2$s </xliff:g> да започне ова преземање следниот пат кога ќе бидете поврзани со Wi-Fi мрежа."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Стави во ред на чекање да се преземе подоцна?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Преземањето <xliff:g id="SIZE">%1$s </xliff:g> го намалува векот на батеријата и/или води до прекумерна употреба на конекцијата и може да ви наплатат.\n\n Допрете <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> да започне преземање следниот пат кога ќе бидете поврзани со Wi-Fi мрежа."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Ред на чекање"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Откажи"</string>
    <string name="button_start_now" msgid="792123674007840864">"Започни сега"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="one">Се презема <xliff:g id="NUMBER">%d</xliff:g> датотека</item>
      <item quantity="other">Се преземаат <xliff:g id="NUMBER">%d</xliff:g> датотеки</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> датотека чека</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> датотеки чекаат</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"Уште <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Датотеката не се отвора"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Преземања"</string>
    <string name="download_queued" msgid="3302638231377947451">"Чека на ред"</string>
    <string name="download_running" msgid="3925050393361158266">"Во тек"</string>
    <string name="download_error" msgid="5144180777324573236">"Неуспешно"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Во тек, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
