<?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">"Storage Manager"</string>
    <string name="cancel" msgid="7021218262867558825">"Kanselahin"</string>
    <string name="storage_menu_free" msgid="1878247401436882778">"Magbakante ng espasyo"</string>
    <string name="deletion_helper_title" msgid="3526170325226275927">"Alisin ang mga item"</string>
    <string name="deletion_helper_app_summary" msgid="4904590040180275237">"<xliff:g id="DAYS">%1$d</xliff:g> (na) araw ang nakalipas"</string>
    <!-- no translation found for deletion_helper_app_summary_item_size (3770886184921427886) -->
    <skip />
    <string name="deletion_helper_app_summary_never_used" msgid="2695210890063792461">"Hindi nagamit sa nakalipas na taon"</string>
    <string name="deletion_helper_app_summary_unknown_used" msgid="8576377054665785558">"Hindi sigurado kung kailan huling ginamit"</string>
    <string name="deletion_helper_free_button" msgid="1760529213407548661">"Magbakante ng <xliff:g id="FREEABLE">%1$s</xliff:g>"</string>
    <string name="deletion_helper_photos_title" msgid="2602723121486729972">"Mga naka-back up na larawan at video"</string>
    <string name="deletion_helper_photos_age_summary" msgid="1820871709448371984">"Mahigit 30 araw na ang tagal"</string>
    <!-- no translation found for deletion_helper_photos_summary (3194825464552700889) -->
    <skip />
    <string name="deletion_helper_downloads_title" msgid="8002058095019254694">"Mga Download"</string>
    <!-- no translation found for deletion_helper_downloads_category_summary (8545989355108311347) -->
    <skip />
    <!-- no translation found for deletion_helper_downloads_summary_empty (3988054032360371887) -->
    <skip />
    <string name="deletion_helper_clear_dialog_title" msgid="9169670752655850967">"Magbakante ng espasyo"</string>
    <string name="deletion_helper_clear_dialog_message" msgid="5196490478187120700">"<xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g> ng content ang aalisin sa iyong device"</string>
    <string name="deletion_helper_clear_dialog_remove" msgid="863575755467985516">"Magbakante ng espasyo"</string>
    <string name="deletion_helper_upsell_title" msgid="8512037674466762017">"Gusto mo bang awtomatikong pamahalaan ang storage?"</string>
    <string name="deletion_helper_upsell_summary" msgid="2301597713694474407">"<xliff:g id="USED">%1$s</xliff:g> na ang bakante. Gusto mo bang hayaan ang Storage manager na awtomatikong magbakante ng espasyo sa pamamagitan ng pag-aalis ng naka-back up na content sa iyong device?"</string>
    <string name="deletion_helper_upsell_cancel" msgid="7084167642850053889">"Salamat na lang"</string>
    <string name="deletion_helper_upsell_activate" msgid="7157360257760895976">"I-on"</string>
    <string name="deletion_helper_apps_group_title" msgid="2578309121350341258">"Mga app na hindi madalas gamitin"</string>
    <!-- no translation found for deletion_helper_apps_group_summary (360315517252452356) -->
    <skip />
    <string name="deletion_helper_automatic_title" msgid="4610119358490679299">"Awtomatiko"</string>
    <string name="deletion_helper_manual_title" msgid="3905192395039688529">"Manual"</string>
    <string name="deletion_helper_preference_title" msgid="803484286872745892">"Magbakante ng espasyo ngayon"</string>
    <string name="automatic_storage_manager_service_label" msgid="648592272375278978">"Serbisyo sa Pamamahala ng Awtomatikong Pag-iimbak"</string>
    <string name="automatic_storage_manager_notification_title" product="default" msgid="8480483265300964701">"Kaunti na ang espasyo ng iyong telepono"</string>
    <string name="automatic_storage_manager_notification_title" product="tablet" msgid="3150907918531844467">"Kaunti na lang ang espasyo ng tablet mo"</string>
    <string name="automatic_storage_manager_notification_summary" msgid="2267399886362245822">"Hayaang magbakante ng espasyo ang Storage Manager sa pamamagitan ng awtomatikong pag-aalis ng mga lumang larawan at video kapag nagsimulang mapuno muli ang iyong telepono."</string>
    <string name="automatic_storage_manager_cancel_button" msgid="1826365037494962803">"Hindi, salamat na lang"</string>
    <string name="automatic_storage_manager_activate_button" msgid="6257070263061898041">"I-on"</string>
    <string name="deletion_helper_photos_loading_title" msgid="2768067991066779772">"Mga naka-back up na larawan at video"</string>
    <string name="deletion_helper_photos_loading_summary" msgid="8203033249458245854">"Naghahanap ng mga item…"</string>
    <string name="deletion_helper_no_threshold" msgid="6943179204098250444">"Ipakita ang lahat ng item"</string>
    <string name="deletion_helper_default_threshold" msgid="8410389370069021113">"Itago ang mga kamakailang item"</string>
    <string name="deletion_helper_clear_dialog_message_first_time" msgid="686530413183529901">"<xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g> ng content ang aalisin sa iyong device"</string>
    <string name="automatic_storage_manager_activation_warning" msgid="7657017408180001078">"Pinamamahalaan na ngayon ng storage manager ang iyong storage"</string>
    <string name="empty_state_title" msgid="4033285438176545309">"Walang maaaring alisin"</string>
    <string name="empty_state_review_items_link" msgid="8411186441239304545">"Suriin ang mga kamakailang item"</string>
    <string name="empty_state_summary" msgid="8439893007424243790">"Walang lumang file na maaaring alisin. Upang magbakante ng espasyo, mag-alis ng mga kamakailang larawan, video, at app."</string>
    <string name="app_requesting_space" msgid="857425181289960167">"Kailangan ng <xliff:g id="APP">%1$s</xliff:g> ng <xliff:g id="CLEARABLE_BYTES">%2$s</xliff:g> na espasyo"</string>
</resources>
