<?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="8212754638456591792">"Підключіть носій USB"</string>
    <string name="insert_sd_card" product="default" msgid="2251831579676114197">"Вставте карту 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="7770652589312551402">"Використ. цей запис"</string>
    <string name="discard" msgid="761613433029406319">"Відхилити"</string>
    <string name="button_ok" msgid="3004911343723076226">"OK"</string>
    <string name="press_record" msgid="5039711805290780494">"Натисн. запис."</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="7292601458300337571">"Неможливо отримати доступ до носія USB"</string>
    <string name="error_sdcard_access" product="default" msgid="8005660724361043509">"Немає. дост. до карти SD"</string>
    <string name="error_app_internal" msgid="2365923237657572011">"Внутрішня помилка програми"</string>
    <string name="error_mediadb_new_record" msgid="2225774949947938064">"Неможл. зберегти записане аудіо"</string>
</resources>
