<?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">"Krātuves pārvaldnieks"</string>
    <string name="cancel" msgid="7021218262867558825">"Atcelt"</string>
    <string name="storage_menu_free" msgid="1878247401436882778">"Atbrīvot vietu"</string>
    <string name="deletion_helper_title" msgid="3526170325226275927">"Vienumu noņemšana"</string>
    <string name="deletion_helper_app_summary" msgid="4904590040180275237">"Pirms <xliff:g id="DAYS">%1$d</xliff:g> dienām"</string>
    <!-- no translation found for deletion_helper_app_summary_item_size (3770886184921427886) -->
    <skip />
    <string name="deletion_helper_app_summary_never_used" msgid="2695210890063792461">"Nav izmantota pēdējā gada laikā"</string>
    <string name="deletion_helper_app_summary_unknown_used" msgid="8576377054665785558">"Nav zināms, kad pēdējoreiz izmantota"</string>
    <string name="deletion_helper_free_button" msgid="1760529213407548661">"Atbrīvojiet vietu: <xliff:g id="FREEABLE">%1$s</xliff:g>"</string>
    <string name="deletion_helper_photos_title" msgid="2602723121486729972">"Dublētie fotoattēli un videoklipi"</string>
    <string name="deletion_helper_photos_age_summary" msgid="1820871709448371984">"Vecāki par 30 dienām"</string>
    <!-- no translation found for deletion_helper_photos_summary (3194825464552700889) -->
    <skip />
    <string name="deletion_helper_downloads_title" msgid="8002058095019254694">"Lejupielādes"</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">"Vietas atbrīvošana"</string>
    <string name="deletion_helper_clear_dialog_message" msgid="5196490478187120700">"Ierīcē tiks atbrīvota vieta: <xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g>"</string>
    <string name="deletion_helper_clear_dialog_remove" msgid="863575755467985516">"Atbrīvot vietu"</string>
    <string name="deletion_helper_upsell_title" msgid="8512037674466762017">"Vai automātiski pārvaldīt krātuvi?"</string>
    <string name="deletion_helper_upsell_summary" msgid="2301597713694474407">"Tagad pieejamā vieta: <xliff:g id="USED">%1$s</xliff:g>. Vai ļaut krātuves pārvaldniekam automātiski noņemt no jūsu ierīces dublēto saturu, lai atbrīvotu vietu krātuvē?"</string>
    <string name="deletion_helper_upsell_cancel" msgid="7084167642850053889">"Nē, paldies"</string>
    <string name="deletion_helper_upsell_activate" msgid="7157360257760895976">"Ieslēgt"</string>
    <string name="deletion_helper_apps_group_title" msgid="2578309121350341258">"Neregulāri izmantotās lietotnes"</string>
    <!-- no translation found for deletion_helper_apps_group_summary (360315517252452356) -->
    <skip />
    <string name="deletion_helper_automatic_title" msgid="4610119358490679299">"Automātiski"</string>
    <string name="deletion_helper_manual_title" msgid="3905192395039688529">"Manuāli"</string>
    <string name="deletion_helper_preference_title" msgid="803484286872745892">"Atbrīvot vietu tūlīt"</string>
    <string name="automatic_storage_manager_service_label" msgid="648592272375278978">"Automātiska krātuves pārvaldība"</string>
    <string name="automatic_storage_manager_notification_title" product="default" msgid="8480483265300964701">"Tālrunī ir maz brīvas vietas"</string>
    <string name="automatic_storage_manager_notification_title" product="tablet" msgid="3150907918531844467">"Jūsu planšetdatorā ir maz brīvas vietas"</string>
    <string name="automatic_storage_manager_notification_summary" msgid="2267399886362245822">"Ļaujiet krātuves pārvaldniekam atbrīvot vietu krātuvē, automātiski noņemot vecos fotoattēlus un videoklipus, kad tālrunī pietrūkst vietas."</string>
    <string name="automatic_storage_manager_cancel_button" msgid="1826365037494962803">"Nē, paldies"</string>
    <string name="automatic_storage_manager_activate_button" msgid="6257070263061898041">"Ieslēgt"</string>
    <string name="deletion_helper_photos_loading_title" msgid="2768067991066779772">"Dublētie fotoattēli un videoklipi"</string>
    <string name="deletion_helper_photos_loading_summary" msgid="8203033249458245854">"Notiek vienumu meklēšana…"</string>
    <string name="deletion_helper_no_threshold" msgid="6943179204098250444">"Rādīt visus vienumus"</string>
    <string name="deletion_helper_default_threshold" msgid="8410389370069021113">"Paslēpt nesenos vienumus"</string>
    <string name="deletion_helper_clear_dialog_message_first_time" msgid="686530413183529901">"Ierīcē tiks atbrīvota vieta: <xliff:g id="CLEARABLE_BYTES">%1$s</xliff:g>"</string>
    <string name="automatic_storage_manager_activation_warning" msgid="7657017408180001078">"Tagad jūsu krātuvi pārvalda krātuves pārvaldnieks"</string>
    <string name="empty_state_title" msgid="4033285438176545309">"Nav noņemamu vienumu"</string>
    <string name="empty_state_review_items_link" msgid="8411186441239304545">"Pārskatīt nesenus vienumus"</string>
    <string name="empty_state_summary" msgid="8439893007424243790">"Nav vecāku failu, ko noņemt. Lai atbrīvotu vietu, noņemiet nesen uzņemtus fotoattēlus, videoklipus un lietotnes."</string>
    <string name="app_requesting_space" msgid="857425181289960167">"Lietotnei <xliff:g id="APP">%1$s</xliff:g> nepieciešamā vieta: <xliff:g id="CLEARABLE_BYTES">%2$s</xliff:g>"</string>
</resources>
