<?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">"Managerul de descărcare"</string>
    <string name="storage_description" msgid="7982444311558023664">"Descărcări"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Accesați managerul de descărcare."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Permite aplicației să acceseze managerul de descărcări și să îl utilizeze pentru a descărca fișiere. Aplicațiile rău intenționate pot utiliza această permisiune pentru a perturba descărcările și pentru a accesa informații private."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Funcții avansate ale managerului de descărcare."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Permite aplicației să acceseze funcțiile avansate ale managerului de descărcări. Aplicațiile rău intenționate pot utiliza această permisiune pentru a perturba descărcările și pentru a accesa informații private."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Trimiteți notificările descărcării."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Permite aplicației să trimită notificări despre descărcările finalizate. Aplicațiile malware pot folosi această permisiune pentru a deruta alte aplicații care descarcă fișiere."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Vedeți desc. în stoc. USB"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Vizualizați toate descărcările pe cardul SD"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Permite aplicației să vizualizeze toate descărcările efectuate pe cardul SD, indiferent de aplicația care le-a descărcat."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Rezervați spațiu în memoria cache de descărcare"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Permite aplic. să descarce fișiere în memoria cache de desc., care nu poate fi ștearsă în mod automat când managerul de desc. are nevoie de mai mult spațiu."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"descărcarea fișierelor fără notificare"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Permite aplicației să descarce fișiere prin intermediul managerului de descărcări fără a afișa notificări utilizatorului."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Accesați toate descărcările din sistem"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Permite aplicației să vizualizeze și să modifice toate descărcările inițiate de orice aplicație din sistem."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Fără titlu&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Descărcare finalizată."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Descărcare nereușită."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Dimen. desc. nec. Wi-Fi"</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Întreruptă în fundal."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Descărcare prea mare pentru rețeaua operatorului"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Trebuie să utilizați Wi-Fi pentru a finaliza această descărcare de <xliff:g id="SIZE">%s </xliff:g>. \n\nAtingeți <xliff:g id="QUEUE_TEXT">%s </xliff:g> pentru a începe această descărcare data viitoare când vă conectați la o rețea Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Puneți în așteptare pentru descărcare ulterioară?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Pornirea ac.desc.de <xliff:g id="SIZE">%s </xliff:g> acum impl.scurt.dur.de viață a bater.și/sau utiliz.exces.a conex.de date mob.și tax.suplim.din partea oper.de telef.mob.,cf.plan.de date.\n\n Ating. <xliff:g id="QUEUE_TEXT">%s</xliff:g> pt.a înc.desc.la conect.la Wi-Fi."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Listă de așteptare"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Anulați"</string>
    <string name="button_start_now" msgid="792123674007840864">"Începeți acum"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="few">Se descarcă <xliff:g id="NUMBER">%d</xliff:g> fișiere</item>
      <item quantity="other">Se descarcă <xliff:g id="NUMBER">%d</xliff:g> de fișiere</item>
      <item quantity="one">Se descarcă un fișier</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="few"><xliff:g id="NUMBER">%d</xliff:g> fișiere în așteptare</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> de fișiere în așteptare</item>
      <item quantity="one">Un fișier în așteptare</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"Timp rămas: <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Fișierul nu poate fi deschis"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Descărcări"</string>
    <string name="download_queued" msgid="3302638231377947451">"În coadă"</string>
    <string name="download_running" msgid="3925050393361158266">"În desfășurare"</string>
    <string name="download_error" msgid="5144180777324573236">"Nereușit"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"În curs, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
