<?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="5264040740662487684">"İndirme Yöneticisi"</string>
    <string name="storage_description" msgid="169690279447532621">"İndirilenler"</string>
    <string name="permlab_downloadManager" msgid="4241473724446132797">"İndirme yöneticisine erişin."</string>
    <string name="permdesc_downloadManager" msgid="5562734314998369030">"Uygulamaya, indirme yöneticisine erişme ve dosya indirmek için indirme yöneticisini kullanma izni verir. Zararlı uygulamalar indirme işlemlerini kesmek ve özel bilgilere erişmek için bunu kullanabilir."</string>
    <string name="permlab_downloadManagerAdvanced" msgid="2225663947531460795">"Gelişmiş indirme yöneticisi işlevleri."</string>
    <string name="permdesc_downloadManagerAdvanced" msgid="3902478062563030716">"Uygulamaya, indirme yöneticisinin gelişmiş fonksiyonlarına erişme izni verir. Zararlı uygulamalar indirme işlemlerini kesmek ve özel bilgilere erişmek için bunu kullanabilir."</string>
    <string name="permlab_downloadCompletedIntent" msgid="2674407390116052956">"İndirme bildirimleri gönder."</string>
    <string name="permdesc_downloadCompletedIntent" msgid="3384693829639860032">"Uygulamaya, tamamlanan indirme işlemleriyle ilgili bildirim gönderme izni verir. Zararlı uygulamalar dosya indiren diğer uygulamaların çalışma biçimini etkilemek için bunu kullanabilir."</string>
    <string name="permlab_downloadCacheNonPurgeable" msgid="4538031250425141333">"İndirme önbelleğinde alan ayır"</string>
    <string name="permdesc_downloadCacheNonPurgeable" msgid="3071381088686444674">"Uygulamaya, dosyaları indirme önbelleğine indirme izni verir. İndirme önbelleği indirme yöneticisine daha fazla alan gerektiğinde otomatik olarak silinemez."</string>
    <string name="permlab_downloadWithoutNotification" msgid="4877101864770265405">"dosyaları bildirimde bulunmadan indirme"</string>
    <string name="permdesc_downloadWithoutNotification" msgid="7699189763226483523">"Uygulamaya, kullanıcıya herhangi bir bildirim göstermeden, dosyaları indirme yöneticisi ile indirme izni verir."</string>
    <string name="permlab_accessAllDownloads" msgid="8227356876527248611">"Tüm sistem indirmelerine erişim"</string>
    <string name="permdesc_accessAllDownloads" msgid="7541731738152145079">"Uygulamaya, sistemdeki herhangi bir uygulama tarafından başlatılan tüm indirme işlemlerini görüntüleme ve değiştirme izni verir."</string>
    <string name="download_unknown_title" msgid="1017800350818840396">"&lt;Adsız&gt;"</string>
    <string name="notification_download_complete" msgid="466652037490092787">"İndirme işlemi tamamlandı."</string>
    <string name="notification_download_failed" msgid="3932167763860605874">"İndirme işlemi başarısız oldu."</string>
    <string name="notification_need_wifi_for_size" msgid="4743443900432303646">"İndirme boyutu Kablosuz bağlantı gerektiriyor."</string>
    <string name="notification_paused_in_background" msgid="6393408819031041778">"Arka planda duraklatıldı."</string>
    <string name="wifi_required_title" msgid="7266700488421122218">"İndirme boyutu operatör ağı için çok büyük"</string>
    <string name="wifi_required_body" msgid="4005023496578941958">"Bu <xliff:g id="SIZE">%1$s </xliff:g> boyutundaki indirme işlemini tamamlamak için Kablosuz bağlantıyı kullanmalısınız. \n\nBu indirme işlemini Kablosuz ağa bir sonraki bağlanmanızda başlatmak için <xliff:g id="QUEUE_TEXT">%2$s </xliff:g> öğesine dokunun."</string>
    <string name="wifi_recommended_title" msgid="6488158053932133804">"Daha sonra indirmek için kuyruğa alınsın mı?"</string>
    <string name="wifi_recommended_body" msgid="8710820743211704403">"Bu <xliff:g id="SIZE">%1$s </xliff:g> boyutundaki indirme işlemine şimdi başlanırsa pil ömrü kısalabilir ve/veya mobil veri bağlantınız fazla miktarda kullanılabilir ve bunun sonucunda, veri planınıza bağlı olarak mobil operatörünüz sizden ücret talep edebilir.\n\n Bu indirme işlemini Kablosuz ağa bir sonraki bağlanmanızda başlatmak için <xliff:g id="QUEUE_TEXT">%2$s</xliff:g> düğmesine dokunun."</string>
    <string name="button_queue_for_wifi" msgid="6650185573566994738">"Kuyruğa al"</string>
    <string name="button_cancel_download" msgid="4135046775536601831">"İptal"</string>
    <string name="button_start_now" msgid="3817100969365441730">"Şimdi başlat"</string>
    <plurals name="notif_summary_active" formatted="false" msgid="8652501374845637331">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> dosya indiriliyor</item>
      <item quantity="one">1 dosya indiriliyor</item>
    </plurals>
    <plurals name="notif_summary_waiting" formatted="false" msgid="1782251721955177526">
      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> dosya bekliyor</item>
      <item quantity="one">1 dosya bekliyor</item>
    </plurals>
    <string name="download_remaining" msgid="2313089371178695625">"<xliff:g id="DURATION">%s</xliff:g> kaldı"</string>
    <string name="download_no_application_title" msgid="5780812573953335721">"Dosya açılamıyor"</string>
    <string name="root_downloads" msgid="8380500940211778491">"İndirilenler"</string>
    <string name="download_queued" msgid="3383844741769045371">"Sıraya alındı"</string>
    <string name="download_running" msgid="774654178925442490">"Devam ediyor"</string>
    <string name="download_error" msgid="1857737890005386798">"Başarısız"</string>
    <string name="download_running_percent" msgid="3492753569359254730">"Devam ediyor, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
