<?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">"Perekam Suara"</string>
    <string name="record_your_message" msgid="1583671906691662148">"Tulis pesan Anda"</string>
    <string name="message_recorded" msgid="381539460921872233">"Pesan direkam"</string>
    <string name="review_message" msgid="201616012287839474">"Tinjau pesan"</string>
    <string name="recording" msgid="4426791467211376099">"Perekaman"</string>
    <string name="recording_stopped" msgid="1580278719585249612">"Perekaman dihentikan"</string>
    <string name="storage_is_full" msgid="416039755956726221">"Penyimpanan penuh"</string>
    <string name="max_length_reached" msgid="6398215743584093353">"Panjang maksimum telah tercapai"</string>
    <string name="insert_sd_card" product="nosdcard" msgid="4609407750669086933">"Pasang penyimpanan USB"</string>
    <string name="insert_sd_card" product="default" msgid="1007630222084726808">"Masukkan kartu SD"</string>
    <string name="min_available" msgid="5493947690062988925">"<xliff:g id="MINUTES">%d</xliff:g> menit yang tersedia"</string>
    <string name="sec_available" msgid="2297020788861694399">"<xliff:g id="SECONDS">%d</xliff:g> yang tersedia"</string>
    <string name="accept" msgid="1888285552128743656">"Selesai"</string>
    <string name="discard" msgid="761613433029406319">"Buang"</string>
    <string name="button_ok" msgid="3004911343723076226">"Oke"</string>
    <!-- no translation found for audio_db_title_format (7912182366970749312) -->
    <skip />
    <string name="audio_db_artist_name" msgid="961640229118120080">"Rekaman Anda:"</string>
    <string name="audio_db_album_name" msgid="9072588113803264440">"Perekaman audio"</string>
    <string name="audio_db_playlist_name" msgid="5592939050047058162">"Rekaman saya"</string>
    <string name="error_sdcard_access" product="nosdcard" msgid="86629081075681774">"Tidak dapat mengakses penyimpanan USB."</string>
    <string name="error_sdcard_access" product="default" msgid="5750308258096153274">"Tidak dapat mengakses kartu SD."</string>
    <string name="error_app_internal" msgid="312884382388702022">"Kesalahan aplikasi internal."</string>
    <string name="error_mediadb_new_record" msgid="261714902333432462">"Tidak dapat menyimpan audio yang direkam."</string>
</resources>
