<?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">"媒体"</string>
    <string name="storage_description" msgid="4081716890357580107">"本地存储空间"</string>
    <string name="app_label" msgid="9035307001052716210">"媒体存储设备"</string>
    <string name="artist_label" msgid="8105600993099120273">"音乐人"</string>
    <string name="ringtone_default" msgid="1744846699922263043">"默认铃声"</string>
    <string name="notification_sound_default" msgid="6541609166469990135">"默认通知提示音"</string>
    <string name="alarm_sound_default" msgid="5488847775252870314">"默认闹钟铃声"</string>
    <string name="root_images" msgid="5861633549189045666">"图片"</string>
    <string name="root_videos" msgid="8792703517064649453">"视频"</string>
    <string name="root_audio" msgid="3505830755201326018">"音频"</string>
    <string name="permission_required" msgid="2444058206532822316">"必须获取相应权限才能使用此媒体项。"</string>
    <string name="permission_audio" msgid="344061911159388398">"允许"<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>"修改或删除此音乐吗？"</string>
    <string name="permission_video" msgid="8188037202573267740">"允许"<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>"修改或删除此视频吗？"</string>
    <string name="permission_images" msgid="6711726334380945124">"允许"<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>"修改或删除此图片吗？"</string>
    <string name="grant_dialog_button_allow" msgid="1644287024501033471">"允许"</string>
    <string name="grant_dialog_button_deny" msgid="6190589471415815741">"拒绝"</string>
    <string name="sound_name_awaken" msgid="5266892392848526147">"Awaken"</string>
    <string name="sound_name_bounce" msgid="8771447635446665231">"Bounce"</string>
    <string name="sound_name_drip" msgid="1744684469020662152">"Drip"</string>
    <string name="sound_name_gallop" msgid="2664454314532060876">"Gallop"</string>
    <string name="sound_name_nudge" msgid="5445751598250698244">"Nudge"</string>
    <string name="sound_name_orbit" msgid="4623457897813255481">"Orbit"</string>
    <string name="sound_name_rise" msgid="2200258555031675806">"Rise"</string>
    <string name="sound_name_sway" msgid="348448316663085643">"Sway"</string>
    <string name="sound_name_wag" msgid="2730733083078126563">"Wag"</string>
    <string name="add_ringtone_text" msgid="8077717303037760418">"添加铃声"</string>
    <string name="add_alarm_text" msgid="2440919366091720815">"添加闹钟"</string>
    <string name="add_notification_text" msgid="5013822215567515665">"添加通知"</string>
    <string name="delete_ringtone_text" msgid="2963662097583300181">"删除"</string>
    <string name="unable_to_add_ringtone" msgid="6256097521165711269">"无法添加自定义铃声"</string>
    <string name="unable_to_delete_ringtone" msgid="2258180073859253495">"无法删除自定义铃声"</string>
</resources>
