<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2016 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_name" msgid="963247385700831716">"Yaddaş Meneceri"</string>
    <string name="cancel" msgid="7021218262867558825">"Ləğv edin"</string>
    <string name="storage_menu_free" msgid="1878247401436882778">"Yer boşaldın"</string>
    <string name="deletion_helper_title" msgid="7928959984891140427">"Silmək üçün elementləri seçin"</string>
    <string name="deletion_helper_app_summary" msgid="1923023368736447552">"<xliff:g id="USED">%1$s</xliff:g> • <xliff:g id="DAYS">%2$d</xliff:g> gün əvvəl"</string>
    <!-- no translation found for deletion_helper_app_summary_never_used (20287691628145397) -->
    <skip />
    <string name="deletion_helper_app_summary_unknown_used" msgid="257918462233851162">"<xliff:g id="USED">%1$s</xliff:g> • Son istifadə vaxtı dəqiq deyil"</string>
    <string name="deletion_helper_free_button" msgid="1760529213407548661">"<xliff:g id="FREEABLE">%1$s</xliff:g> yer boşaldın"</string>
    <string name="deletion_helper_photos_title" msgid="8694284659307845664">"Foto və videolar (<xliff:g id="NUM_ITEMS">%1$d</xliff:g>)"</string>
    <string name="deletion_helper_photos_summary" msgid="2636724338009030470">"<xliff:g id="USED">%1$s</xliff:g> • <xliff:g id="DAYS">%2$d</xliff:g> gündən daha köhnə"</string>
    <string name="deletion_helper_downloads_title" msgid="2976599380628177756">"Endirmələr (<xliff:g id="NUMITEMS">%1$d</xliff:g>)"</string>
    <!-- no translation found for deletion_helper_downloads_category_summary (8545989355108311347) -->
    <skip />
    <string name="deletion_helper_downloads_file_summary" msgid="2610952169093565355">"<xliff:g id="USED">%1$s</xliff:g> • <xliff:g id="DAYS">%2$s</xliff:g>"</string>
    <!-- no translation found for deletion_helper_downloads_summary_empty (3988054032360371887) -->
    <skip />
    <string name="deletion_helper_clear_dialog_message" msgid="4896104662649947320">"<xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g> cihazınızdan silinəcək"</string>
    <string name="deletion_helper_clear_dialog_remove" msgid="3386502418767917932">"Silin"</string>
    <string name="deletion_helper_upsell_title" msgid="8512037674466762017">"Yaddaş avtomatik idarə edilsin?"</string>
    <string name="deletion_helper_upsell_summary" msgid="2301597713694474407">"İndi <xliff:g id="USED">%1$s</xliff:g> boşdur. Yaddaş menecerinə yedəklənmiş məzmunu cihazınızdan silməklə boş yer yaratmağa icazə verilsin?"</string>
    <string name="deletion_helper_upsell_cancel" msgid="7084167642850053889">"Xeyr, təşəkkür edirəm"</string>
    <string name="deletion_helper_upsell_activate" msgid="7157360257760895976">"Aktiv edin"</string>
    <string name="deletion_helper_apps_group_title" msgid="6554321362396920050">"Tətbiqlər (<xliff:g id="NUM_ITEMS">%1$d</xliff:g>)"</string>
    <string name="deletion_helper_apps_group_summary" msgid="3466154404460006085">"<xliff:g id="USED">%1$s</xliff:g> • Sonuncu dəfə <xliff:g id="DAYS">%2$d</xliff:g> gün əvvəl istifadə olunub"</string>
    <string name="deletion_helper_automatic_title" msgid="4610119358490679299">"Avtomatik"</string>
    <string name="deletion_helper_manual_title" msgid="3905192395039688529">"Təlimat"</string>
    <string name="deletion_helper_preference_title" msgid="803484286872745892">"Hazırda boş yaddaş"</string>
    <string name="automatic_storage_manager_service_label" msgid="648592272375278978">"Avtomatik Yaddaş İdarəetməsi Xidməti"</string>
    <string name="automatic_storage_manager_notification_title" msgid="8480483265300964701">"Telefonunuzda yer azdır"</string>
    <string name="automatic_storage_manager_notification_summary" msgid="2267399886362245822">"Telefonunuz yenidən dolduqda, boş yer yaratmaq məqsədi ilə foto və videoları avtomatik silmək üçün Yaddaş menecerinə icazə verin."</string>
    <string name="automatic_storage_manager_cancel_button" msgid="1826365037494962803">"Xeyr, təşəkkür edirəm"</string>
    <string name="automatic_storage_manager_activate_button" msgid="6257070263061898041">"Aktiv edin"</string>
    <string name="deletion_helper_photos_loading_title" msgid="5411813715495227745">"Foto və videolar"</string>
    <string name="deletion_helper_photos_loading_summary" msgid="8203033249458245854">"Elementlər tapılır…"</string>
    <string name="deletion_helper_clear_dialog_message_first_time" msgid="386144597646356521">"<xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g> cihazınızdan silinəcək"</string>
    <string name="automatic_storage_manager_activation_warning" msgid="7657017408180001078">"Yaddaşınız indi yaddaş meneceri tərəfindən idarə olunur"</string>
</resources>
