<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="uid_label" msgid="8421971615411294156">"Média"</string>
    <string name="storage_description" msgid="4081716890357580107">"Místní úložiště"</string>
    <string name="app_label" msgid="9035307001052716210">"Úložiště médií"</string>
    <string name="artist_label" msgid="8105600993099120273">"Interpret"</string>
    <string name="ringtone_default" msgid="1744846699922263043">"Výchozí vyzváněcí tón"</string>
    <string name="notification_sound_default" msgid="6541609166469990135">"Výchozí zvuk oznámení"</string>
    <string name="alarm_sound_default" msgid="5488847775252870314">"Výchozí zvuk budíku"</string>
    <string name="root_images" msgid="5861633549189045666">"Obrázky"</string>
    <string name="root_videos" msgid="8792703517064649453">"Videa"</string>
    <string name="root_audio" msgid="3505830755201326018">"Zvuk"</string>
    <string name="permission_required" msgid="1460820436132943754">"Ke změně nebo smazání této položky je potřeba oprávnění."</string>
    <string name="permission_required_action" msgid="706370952366113539">"Pokračovat"</string>
    <string name="permission_audio" msgid="344061911159388398">"Povolit aplikaci "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" upravit nebo smazat tuto hudbu?"</string>
    <string name="permission_video" msgid="8188037202573267740">"Povolit aplikaci "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" upravit nebo smazat toto video?"</string>
    <string name="permission_images" msgid="6711726334380945124">"Povolit aplikaci "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" upravit nebo smazat tento obrázek?"</string>
    <string name="grant_dialog_button_allow" msgid="1644287024501033471">"Povolit"</string>
    <string name="grant_dialog_button_deny" msgid="6190589471415815741">"Zamítnout"</string>
    <string name="sound_name_awaken" msgid="5266892392848526147">"Probuzení"</string>
    <string name="sound_name_bounce" msgid="8771447635446665231">"Výskok"</string>
    <string name="sound_name_drip" msgid="1744684469020662152">"Infuze"</string>
    <string name="sound_name_gallop" msgid="2664454314532060876">"Poklus"</string>
    <string name="sound_name_nudge" msgid="5445751598250698244">"Povzbuzení"</string>
    <string name="sound_name_orbit" msgid="4623457897813255481">"Rozběh"</string>
    <string name="sound_name_rise" msgid="2200258555031675806">"Vzestup"</string>
    <string name="sound_name_sway" msgid="348448316663085643">"Rozhoupání"</string>
    <string name="sound_name_wag" msgid="2730733083078126563">"Pochod"</string>
    <string name="add_ringtone_text" msgid="8077717303037760418">"Přidat vyzváněcí tón"</string>
    <string name="add_alarm_text" msgid="2440919366091720815">"Přidat budík"</string>
    <string name="add_notification_text" msgid="5013822215567515665">"Přidat oznámení"</string>
    <string name="delete_ringtone_text" msgid="2963662097583300181">"Smazat"</string>
    <string name="unable_to_add_ringtone" msgid="6256097521165711269">"Vlastní vyzváněcí tón se nepodařilo přidat"</string>
    <string name="unable_to_delete_ringtone" msgid="2258180073859253495">"Vlastní vyzváněcí tón se nepodařilo smazat"</string>
</resources>
