<?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">"Media"</string>
    <string name="storage_description" msgid="4081716890357580107">"Storan setempat"</string>
    <string name="app_label" msgid="9035307001052716210">"Storan Media"</string>
    <string name="artist_label" msgid="8105600993099120273">"Artis"</string>
    <string name="ringtone_default" msgid="1744846699922263043">"Nada dering lalai"</string>
    <string name="notification_sound_default" msgid="6541609166469990135">"Bunyi pemberitahuan lalai"</string>
    <string name="alarm_sound_default" msgid="5488847775252870314">"Bunyi penggera lalai"</string>
    <string name="root_images" msgid="5861633549189045666">"Imej"</string>
    <string name="root_videos" msgid="8792703517064649453">"Video"</string>
    <string name="root_audio" msgid="3505830755201326018">"Audio"</string>
    <string name="permission_required" msgid="1460820436132943754">"Kebenaran diperlukan untuk mengubah suai atau memadamkan item ini."</string>
    <string name="permission_required_action" msgid="706370952366113539">"Teruskan"</string>
    <string name="permission_audio" msgid="344061911159388398">"Benarkan "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" mengubah suai atau memadamkan muzik ini?"</string>
    <string name="permission_video" msgid="8188037202573267740">"Benarkan "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" mengubah suai atau memadamkan video ini?"</string>
    <string name="permission_images" msgid="6711726334380945124">"Benarkan "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" mengubah suai atau memadamkan imej ini?"</string>
    <string name="grant_dialog_button_allow" msgid="1644287024501033471">"Benarkan"</string>
    <string name="grant_dialog_button_deny" msgid="6190589471415815741">"Tolak"</string>
    <string name="sound_name_awaken" msgid="5266892392848526147">"Terjaga"</string>
    <string name="sound_name_bounce" msgid="8771447635446665231">"Lantunan"</string>
    <string name="sound_name_drip" msgid="1744684469020662152">"Titis"</string>
    <string name="sound_name_gallop" msgid="2664454314532060876">"Derap"</string>
    <string name="sound_name_nudge" msgid="5445751598250698244">"Sigung"</string>
    <string name="sound_name_orbit" msgid="4623457897813255481">"Orbit"</string>
    <string name="sound_name_rise" msgid="2200258555031675806">"Bangkit"</string>
    <string name="sound_name_sway" msgid="348448316663085643">"Lenggok"</string>
    <string name="sound_name_wag" msgid="2730733083078126563">"Goyang"</string>
    <string name="add_ringtone_text" msgid="8077717303037760418">"Tambah nada dering"</string>
    <string name="add_alarm_text" msgid="2440919366091720815">"Tambah penggera"</string>
    <string name="add_notification_text" msgid="5013822215567515665">"Tambah pemberitahuan"</string>
    <string name="delete_ringtone_text" msgid="2963662097583300181">"Padam"</string>
    <string name="unable_to_add_ringtone" msgid="6256097521165711269">"Tidak dapat menambah nada dering tersuai"</string>
    <string name="unable_to_delete_ringtone" msgid="2258180073859253495">"Tidak dapat memadamkan nada dering tersuai"</string>
</resources>
