<?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">"Ses Kaydedici"</string>
    <string name="record_your_message" msgid="1583671906691662148">"Mesajınızı kaydedin"</string>
    <string name="message_recorded" msgid="381539460921872233">"Mesaj kaydedildi"</string>
    <string name="review_message" msgid="201616012287839474">"Mesajı incele"</string>
    <string name="recording" msgid="4426791467211376099">"Kaydediyor"</string>
    <string name="recording_stopped" msgid="1580278719585249612">"Kayıt durdu"</string>
    <string name="storage_is_full" msgid="416039755956726221">"Depolama alanı dolu"</string>
    <string name="max_length_reached" msgid="6398215743584093353">"Maksimum uzunluğa ulaşıldı"</string>
    <!-- outdated translation 4630429205256615970 -->     <string name="insert_sd_card" product="nosdcard" msgid="8212754638456591792">"Lütfen payl deplm birm bağlayn"</string>
    <string name="insert_sd_card" product="default" msgid="2251831579676114197">"Lütfen bir SD kart takın"</string>
    <string name="min_available" msgid="5493947690062988925">"<xliff:g id="MINUTES">%d</xliff:g> dak. var"</string>
    <string name="sec_available" msgid="2297020788861694399">"<xliff:g id="SECONDS">%d</xliff:g> var"</string>
    <string name="accept" msgid="7770652589312551402">"Bu kaydı kullan"</string>
    <string name="discard" msgid="761613433029406319">"Sil"</string>
    <string name="button_ok" msgid="3004911343723076226">"Tamam"</string>
    <string name="press_record" msgid="5039711805290780494">"Kaydet düğmesine basın"</string>
    <!-- no translation found for audio_db_title_format (7912182366970749312) -->
    <skip />
    <string name="audio_db_artist_name" msgid="961640229118120080">"Kayıtlarınız"</string>
    <string name="audio_db_album_name" msgid="9072588113803264440">"Ses kayıtları"</string>
    <string name="audio_db_playlist_name" msgid="5592939050047058162">"Kayıtlarım"</string>
    <!-- outdated translation 5847351920829258043 -->     <string name="error_sdcard_access" product="nosdcard" msgid="7292601458300337571">"Paylaşılan depolama birimine erişilemiyor"</string>
    <string name="error_sdcard_access" product="default" msgid="8005660724361043509">"SD karta erişilemiyor"</string>
    <string name="error_app_internal" msgid="2365923237657572011">"Dahili uygulama hatası"</string>
    <string name="error_mediadb_new_record" msgid="2225774949947938064">"Kaydedilmiş ses diske yazılamıyor"</string>
</resources>
