<?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="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>
