<?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">"Umphathi wokulayisha"</string>
    <string name="storage_description" msgid="7982444311558023664">"Okulandiwe"</string>
    <string name="permlab_downloadManager" msgid="7779544811202855500">"Finyelela kumphathi wokulayisha"</string>
    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Ivumela uhlelo lokusebenza lufinyelele isiphathi sokulandiwe namafayela alandiwe. Izinhlelo zokusebenza ezinobungozi zingakusebenzisa lokhu ukuphazamisa ukulanda ziphinde zifinyelele emininingwaneni eyimfihlo."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Izici zomphathi wokulayisha othuthukisiwe."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Ivumela uhlelo lokusebenza lufinyelele izinto ezijulile zesiphathi sokulayisha. Izinhlelo zokusebenza  ezinobungozi zingakusebenzisa lokhu ukuphazamisa ukulanda ziphinde zifinyelele emininingwaneni eyimfihlo."</string>
    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Thumela izaziso zokulayisha"</string>
    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Ivumela uhlelo lokusebenza ukuthi ithumele izaziso yelana nokulayishwa okuqediwe. Izuhlelo lokusebenza ezinobungozi zingakusebenzisa lokhu ukudida ezinye izinsiz ezilayisha amafayel."</string>
    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Bona konke ukulanda kwisitoreji se-USB"</string>
    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Bona konke ukulanda ekhadini le-SD"</string>
    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Ivumela uhlelo lokusebenza ukuthi ibone konke okulandiwe ekhadini le-SD ngale kokubona ukuthi iluphi uhlelo lokusebenza elulandile."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Igcina isikhala ekulondolozeni kwesikhashana kokulanda"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Ivumela uhlelo lokusebenza ukulanda amafayela okulondoloza kwesikhashana angakwazi ukususwa ngokuzenzakalelayo lapho imeneja yokulanda idinga esikhala esengeziwe."</string>
    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"landa amafayela ngaphandle kwesaziso"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Ivumela uhlelo lokusebenza ukulanda amafayela ngomeneja wokulanda ngaphandle kokuba isaziso siboniswe umsebenzisi."</string>
    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Finyelela kuko konke ukulanda kwesistimu"</string>
    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Vumela uhlelo lokusebenza ukuthi libone liphinde liguqule konke okulandiwe okuqalwe uhlelo lwesistimu."</string>
    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Akunasihloko&gt;"</string>
    <string name="notification_download_complete" msgid="5443563299253103667">"Ukulayisha ungenisa kuqedile"</string>
    <string name="notification_download_failed" msgid="8612136111952014978">"Ukulayisha akuphumelelanga"</string>
    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Usayizi wokulanda udinga i-Wi-Fi"</string>
    <string name="notification_paused_in_background" msgid="4328508073283591772">"Kumisiwe okwesikhashana esizindeni"</string>
    <string name="wifi_required_title" msgid="1995971416871498179">"Ukulanda kukhulu kakhulu"</string>
    <string name="wifi_required_body" msgid="3067694630143784449">"Kufanele usebenzise i-Wi-Fi ukuqedela lokhu <xliff:g id="SIZE">%s </xliff:g> kulayisha. \n\nThinta Touch <xliff:g id="QUEUE_TEXT">%s </xliff:g> ukuqlisa lokhu  kulayisha esikhathini esizayo uxhuaniseke enethiwekhini ye-Wi-Fi."</string>
    <string name="wifi_recommended_title" msgid="7441589306734687400">"Linda ukulanda emva kwesikhathi?"</string>
    <string name="wifi_recommended_body" msgid="1314735166699936073">"Ukuqala lokhu kulanda <xliff:g id="SIZE">%s </xliff:g> manje kungenza impilo yebhethri yakho ibe mfishane noma kungadla ukusetshenziswa okweqile kwedatha yakho yokuxhumana okuholela ekukhokhisweni inkampani yakho yenethiwekhi kuncike esivumelwaneni senu sedatha. \n\n Thinta <xliff:g id="QUEUE_TEXT">%s</xliff:g> ukuqala lokhu kulayisha esikhathini esizayo uxhumaniseke enethiwekhini ye-Wi-Fi."</string>
    <string name="button_queue_for_wifi" msgid="422576726189179221">"Umugqa"</string>
    <string name="button_cancel_download" msgid="2430166148737975604">"Khansela"</string>
    <string name="button_start_now" msgid="792123674007840864">"Qala manje"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> amafayela alandwayo</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> amafayela alandwayo</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> amafayela alindiwe</item>
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> amafayela alindiwe</item>
    </plurals>
    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> asele"</string>
    <string name="download_no_application_title" msgid="7935659741162801699">"Ayikwazi ukuvula ifayela"</string>
    <string name="root_downloads" msgid="4098414876292351487">"Okulandiwe"</string>
    <string name="download_queued" msgid="3302638231377947451">"Kusemugqeni"</string>
    <string name="download_running" msgid="3925050393361158266">"kuyaqhubeka"</string>
    <string name="download_error" msgid="5144180777324573236">"Akuphumelelanga"</string>
    <string name="download_running_percent" msgid="4305080769167320204">"Iyaqhubeka, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
