<?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">"Gerenciador de downloads"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Acessar o gerenciador de download."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Permite que o app acesse o gerenciador de download e o use para fazer download de arquivos. Apps maliciosos podem usar essa ação para interromper downloads e acessar informações privadas."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Funções avançadas do gerenciador de download."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Permite que o app acesse funções avançadas do gerenciador de download. Apps maliciosos podem usar essa ação para interromper downloads e acessar informações privadas."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Enviar notificações de download."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Permite que o app envie notificações sobre downloads concluídos. Apps maliciosos podem usar esse envio para confundir outros apps que fazem download de arquivos."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Ver downloads armaz. USB"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Ver todos os downloads para o cartão SD"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Permite que o app veja todos os downloads do cartão SD, independentemente de sua origem."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reservar espaço no cache de download"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Permite que o aplic. faça download de arquivos no cache de downloads, que não podem ser excl. automatic. quando o gerenc. de download precisar de mais espaço."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"fazer download de arquivos sem notificação"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Permite que o app faça download de arquivos por meio do gerenciador de download sem exibir notificações ao usuário."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Acessar todos os downloads do sistema"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Permite que o app visualize e modifique todos os downloads iniciados por qualquer app no sistema."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Sem título&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Download concluído."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Falha no download."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"O tamanho do download requer Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Paus. em segundo plano."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Download muito grande para a rede da operadora"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Você deve usar o Wi-Fi para completar o download de <xliff:g id="SIZE">%s </xliff:g>. \n\nToque em <xliff:g id="QUEUE_TEXT">%s </xliff:g> para começar o download da próxima vez que você estiver conectado a uma rede Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Colocar em fila para download mais tarde?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"O download de <xliff:g id="SIZE">%s </xliff:g> agora diminui a vida da bateria e resulta no uso excess. da conexão, levando a cobr. de acordo com seu plano de dados.\n\n Toque em <xliff:g id="QUEUE_TEXT">%s</xliff:g> para fazer o download quando conect. a uma rede Wi-Fi."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Fila"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Cancelar"</string>
    <string name="button_start_now" msgid="792123674007840864">"Iniciar agora"</string>
    <string name="download_percent" msgid="6889426633242976698">"<xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
  <plurals name="notif_summary_active">
    <item quantity="one" msgid="8475775855911967027">"Fazendo download de 1 arquivo"</item>
    <item quantity="other" msgid="9087228371320573153">"Fazendo download de <xliff:g id="NUMBER">%d</xliff:g> arquivos"</item>
  </plurals>
  <plurals name="notif_summary_waiting">
    <item quantity="one" msgid="5537481763963544278">"1 arquivo em espera"</item>
    <item quantity="other" msgid="549229034166062887">"<xliff:g id="NUMBER">%d</xliff:g> arquivos em espera"</item>
  </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> restantes"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Não é possível abrir o arquivo"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Downloads"</string>
    <string name="download_queued" msgid="3302638231377947451">"Na fila"</string>
    <string name="download_running" msgid="3925050393361158266">"Em andamento"</string>
    <string name="download_error" msgid="5144180777324573236">"Falha"</string>
    <string name="download_running_percent" msgid="4529799113107391817">"Em andamento, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
</resources>
