<?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">"Gestor de transferências"</string>
    <string name="storage_description" msgid="7982444311558023664">"Transferências"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Aceder ao gestor de transferências."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Permite que a aplicação aceda ao gestor de transferências e o utilize para transferir ficheiros. As aplicações maliciosas podem utilizar esta permissão para interromper transferências e aceder a informações privadas."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Funções avançadas do gestor de transferências"</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Permite que a aplicação aceda às funções avançadas do gestor de transferências. As aplicações maliciosas podem utilizar esta permissão para interromper transferências e aceder a informações privadas."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Enviar notificações de transferências."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Permite que a aplicação envie notificações acerca de transferências concluídas. As aplicações maliciosas podem utilizar esta permissão para confundir outras aplicações que transfiram ficheiros."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reservar espaço na cache de transferência"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Permite que a app transfira ficheiros p/ cache transf., os quais não podem ser automaticamente eliminados quando o gestor transf. necessitar de mais espaço."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"transferir ficheiros sem notificação"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Permite que a aplicação transfira ficheiros através do gestor de transferências, sem apresentar qualquer notificação ao utilizador."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Aceder a todas as transferências do sistema"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Permite que a aplicação veja e modifique todas as transferências iniciadas por qualquer aplicação no sistema."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Sem nome&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Transferência concluída."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Falha na transferência."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Tam. transf. exige Wi-Fi"</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Interrompida em 2º plano"</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Transf. demasiado grande para a rede do operador"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Deve utilizar uma rede Wi-Fi para concluir esta transferência de <xliff:g id="SIZE">%1$s </xliff:g>. \n\nToque em <xliff:g id="QUEUE_TEXT">%2$s </xliff:g> para iniciar a transferência da próxima vez que estiver ligado a uma rede Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Colocar em fila para transferir mais tarde?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Iniciar esta transferência de <xliff:g id="SIZE">%1$s </xliff:g> poderá reduzir a duração da bateria e/ou resultar numa utilização excessiva da ligação móvel de dados, o que pode levar a uma cobrança por parte do operador móvel, dependendo do seu plano de dados.\n\n Toque em <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> para iniciar a transferência da próxima vez que estiver ligado 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">"Começar agora"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> ficheiros a serem transferidos</item>
      <item quantity="one">1 ficheiro a ser transferido</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> ficheiros em espera</item>
      <item quantity="one">1 ficheiro em espera</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"Faltam <xliff:g id="DURATION">%s</xliff:g>"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Não é possível abrir o ficheiro"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Transferências"</string>
    <string name="download_queued" msgid="3302638231377947451">"Em fila"</string>
    <string name="download_running" msgid="3925050393361158266">"Em curso"</string>
    <string name="download_error" msgid="5144180777324573236">"Sem êxito"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Em curso, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
