<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="5955735546071433666">"录音机"</string>
    <string name="record_your_message" msgid="1583671906691662148">"录下您的留言"</string>
    <string name="message_recorded" msgid="381539460921872233">"信息已录制"</string>
    <string name="review_message" msgid="201616012287839474">"查看信息"</string>
    <string name="recording" msgid="4426791467211376099">"录音"</string>
    <string name="recording_stopped" msgid="1580278719585249612">"录音停止"</string>
    <string name="storage_is_full" msgid="416039755956726221">"存储空间已满"</string>
    <string name="max_length_reached" msgid="6398215743584093353">"已达到长度上限"</string>
    <string name="insert_sd_card" product="nosdcard" msgid="4609407750669086933">"装载 USB 存储设备"</string>
    <string name="insert_sd_card" product="default" msgid="1007630222084726808">"请插入 SD 卡"</string>
    <string name="min_available" msgid="5493947690062988925">"还剩 <xliff:g id="MINUTES">%d</xliff:g> 分钟"</string>
    <string name="sec_available" msgid="2297020788861694399">"还剩 <xliff:g id="SECONDS">%d</xliff:g> 秒"</string>
    <string name="accept" msgid="1888285552128743656">"完成"</string>
    <string name="discard" msgid="761613433029406319">"放弃"</string>
    <string name="button_ok" msgid="3004911343723076226">"确定"</string>
    <!-- no translation found for audio_db_title_format (7912182366970749312) -->
    <skip />
    <string name="audio_db_artist_name" msgid="961640229118120080">"您的录音"</string>
    <string name="audio_db_album_name" msgid="9072588113803264440">"录音"</string>
    <string name="audio_db_playlist_name" msgid="5592939050047058162">"我的录音"</string>
    <string name="error_sdcard_access" product="nosdcard" msgid="86629081075681774">"无法访问 USB 存储设备。"</string>
    <string name="error_sdcard_access" product="default" msgid="5750308258096153274">"无法访问 SD 卡。"</string>
    <string name="error_app_internal" msgid="312884382388702022">"发生内部应用错误。"</string>
    <string name="error_mediadb_new_record" msgid="261714902333432462">"无法保存录制的音频。"</string>
</resources>
