<?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>
