<?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">"Aflaaibestuurder"</string>
    <string name="storage_description" msgid="7982444311558023664">"Aflaaie"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Kry toegang tot aflaaibestuurder."</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Laat die program toe om toegang te kry tot die aflaaibestuurder en dit te gebruik om lêers af te laai. Kwaadwillige programme kan dit gebruik om aflaaie te ontwrig en toegang tot private inligting te kry."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Gevorderde aflaaibestuurder-funksies"</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Laat die program toe om toegang te kry tot die aflaaibestuurder se gevorderde instellings. Kwaadwillige programme kan dit gebruik om aflaaie te ontwrig en toegang tot private inligting te kry."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Stuur aflaaikennisgewings."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Laat die program toe om kennisgewings te stuur oor voltooide aflaaie. Kwaadwillige programme kan dit gebruik om ander programme wat lêers aflaai, te verwar."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Sien alle aflaaie na USB-berging"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Sien alle aflaaie op SD-kaart"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Laat die program toe om alle aflaaie na die SD-kaart te sien, ongeag deur watter program hulle afgelaai is."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reserveer ruimte in die aflaaikas"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Laat die program toe om lêers af te laai na die aflaaikas, wat nie outomaties uitgevee kan word as die aflaaibestuurder meer spasie benodig nie."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"laai lêers af sonder kennisgewing"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Laat die program toe om lêers deur die aflaaibestuurder af te laai sonder enige kennisgewing wat aan die gebruiker gewys word."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Kry toegang tot alle stelselaflaaisels"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Laat die program toe om alle aflaaie wat deur enige program op hierdie stelsel geïnisieer is, te sien en te wysig."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Ongetiteld&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Aflaai voltooi."</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Aflaai onsuksesvol."</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Aflaaiselgrootte vereis Wi-Fi."</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Laat wag op agtergrond."</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Aflaaisel te groot vir bedryfsnetwerk"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Jy moet Wi-Fi gebruik om hierdie <xliff:g id="SIZE">%s </xliff:g>-aflaaisel te voltooi. \n\nRaak <xliff:g id="QUEUE_TEXT">%s </xliff:g> om hierdie aflaai te begin die volgende keer as jy gekoppel is aan \'n Wi-Fi-netwerk."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Plaas in waglys om later af te laai?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"As jy nou hierdie <xliff:g id="SIZE">%s </xliff:g>-aflaaisel gaan aflaai, kan dit jou batterylewe verkort en/of lei tot oormatige gebruik van jou selfoon se dataverbinding, wat kan lei tot kostes deur jou selfoondiensverskaffer, afhangende van jou dataplan.\n\n Raak <xliff:g id="QUEUE_TEXT">%s</xliff:g> om hierdie aflaaisel te begin die volgende keer wat jy gekoppel is aan \'n Wi-Fi-netwerk."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Waglys"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Kanselleer"</string>
    <string name="button_start_now" msgid="792123674007840864">"Begin nou"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> lêers laai tans af</item>
      <item quantity="one">1 lêer laai tans af</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> lêers wag tans</item>
      <item quantity="one">1 lêer wag tans</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> oor"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Kan nie lêer oopmaak nie"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Aflaaie"</string>
    <string name="download_queued" msgid="3302638231377947451">"In waglys"</string>
    <string name="download_running" msgid="3925050393361158266">"Besig"</string>
    <string name="download_error" msgid="5144180777324573236">"Onsuksesvol"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Nog besig, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
