<?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">"Multimedia"</string>
    <string name="storage_description" msgid="4081716890357580107">"Pamięć lokalna"</string>
    <string name="app_label" msgid="9035307001052716210">"Przechowywanie multimediów"</string>
    <string name="artist_label" msgid="8105600993099120273">"Wykonawca"</string>
    <string name="ringtone_default" msgid="1744846699922263043">"Dzwonek domyślny"</string>
    <string name="notification_sound_default" msgid="6541609166469990135">"Domyślny dźwięk powiadomienia"</string>
    <string name="alarm_sound_default" msgid="5488847775252870314">"Domyślny dźwięk alarmu"</string>
    <string name="root_images" msgid="5861633549189045666">"Grafika"</string>
    <string name="root_videos" msgid="8792703517064649453">"Filmy"</string>
    <string name="root_audio" msgid="3505830755201326018">"Dźwięk"</string>
    <string name="permission_required" msgid="1460820436132943754">"Modyfikowanie i usuwanie tego elementu wymaga uprawnień."</string>
    <string name="permission_required_action" msgid="706370952366113539">"Dalej"</string>
    <string name="permission_audio" msgid="344061911159388398">"Zezwolić aplikacji "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" na zmodyfikowanie lub usunięcie tej muzyki?"</string>
    <string name="permission_video" msgid="8188037202573267740">"Zezwolić aplikacji "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" na zmodyfikowanie lub usunięcie tego filmu?"</string>
    <string name="permission_images" msgid="6711726334380945124">"Zezwolić aplikacji "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" na zmodyfikowanie lub usunięcie tego obrazu?"</string>
    <string name="grant_dialog_button_allow" msgid="1644287024501033471">"Zezwól"</string>
    <string name="grant_dialog_button_deny" msgid="6190589471415815741">"Odmów"</string>
    <string name="sound_name_awaken" msgid="5266892392848526147">"Przebudzenie"</string>
    <string name="sound_name_bounce" msgid="8771447635446665231">"Odbicie"</string>
    <string name="sound_name_drip" msgid="1744684469020662152">"Kapanie"</string>
    <string name="sound_name_gallop" msgid="2664454314532060876">"Galop"</string>
    <string name="sound_name_nudge" msgid="5445751598250698244">"Trącenie"</string>
    <string name="sound_name_orbit" msgid="4623457897813255481">"Orbita"</string>
    <string name="sound_name_rise" msgid="2200258555031675806">"Wschód"</string>
    <string name="sound_name_sway" msgid="348448316663085643">"Kołysanie"</string>
    <string name="sound_name_wag" msgid="2730733083078126563">"Machanie"</string>
    <string name="add_ringtone_text" msgid="8077717303037760418">"Dodaj dzwonek"</string>
    <string name="add_alarm_text" msgid="2440919366091720815">"Dodaj alarm"</string>
    <string name="add_notification_text" msgid="5013822215567515665">"Dodaj powiadomienie"</string>
    <string name="delete_ringtone_text" msgid="2963662097583300181">"Usuń"</string>
    <string name="unable_to_add_ringtone" msgid="6256097521165711269">"Nie można dodać dzwonka niestandardowego"</string>
    <string name="unable_to_delete_ringtone" msgid="2258180073859253495">"Nie można usunąć dzwonka niestandardowego"</string>
</resources>
