<?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_filename_separator" msgid="7147189522857807618">", "</string>
    <string name="notification_filename_extras" msgid="5549729917695688191">" şi încă <xliff:g id="NUMBER">%d</xliff:g>"</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\n"Atingeţ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>
    <string name="download_percent" msgid="6889426633242976698">"<xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
</resources>
