<?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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- application name and title of error dialogs-->
    <string name="app_name">Sound Recorder</string>

    <!-- Screen title before and during recording -->
    <string name="record_your_message">Record your message</string>
    <!-- Screen title after recording -->
    <string name="message_recorded">Message recorded</string>
    <!-- Screen title while playing back a recording -->
    <string name="review_message">Review message</string>
    <!-- Label shown during recording -->
    <string name="recording">Recording</string>
    <!-- Label shown when the recording is stopped for a reason other than the user stopping it (e.g. the sd card was removed) -->
    <string name="recording_stopped">Recording stopped</string>
    <!-- label shown when there is not enough space to record something -->
    <string name="storage_is_full">Storage is full</string>
    <!-- label shown when the recording has reached maximum allowed file size -->
    <string name="max_length_reached">Maximum length reached</string>
    <!-- label shown when there is no sd card available to record to [CHAR LIMIT=30] -->
    <string name="insert_sd_card" product="nosdcard">Please mount USB storage</string>
    <!-- label shown when there is no sd card available to record to -->
    <string name="insert_sd_card" product="default">Please insert an SD card</string>
    <!-- label shown when there is more than 1 minute but less than 9 minutes of space left to record -->
    <string name="min_available"><xliff:g id="minutes">%d</xliff:g> min available</string>
    <!-- label shown when there is less than 1 minute of space left to record -->
    <string name="sec_available"><xliff:g id="seconds">%d</xliff:g>s available</string>

    <!-- button to accept the current recording and return it to the caller -->
    <string name="accept">Use this recording</string>
    <!-- button to discard the current recording and return to the caller -->
    <string name="discard">Discard</string>
    <!-- acknowlegement button in a number of dialogs -->
    <string name="button_ok">OK</string>
    <!-- Do not translate. Format of the timer that shows how much has been recorded so far -->
    <string name="timer_format" translatable="false"><xliff:g id="format">%02d:%02d</xliff:g></string>
    <!-- label shown before the user has recorded anything -->
    <string name="press_record">Press record</string>
   
    <!-- the name under which recordings will be visible in the media database is formatted like this --> 
    <string name="audio_db_title_format"><xliff:g id="format">yyyy-MM-dd HH:mm:ss</xliff:g></string>
    <!-- all recordings will show up in the media database with this 'artist' name -->
    <string name="audio_db_artist_name">Your recordings</string>
    <!-- all recordings will show up in the media database with this 'album' name -->
    <string name="audio_db_album_name">Audio recordings</string>
    <!-- all recordings will show up in the media database in a playlist with this name -->
    <string name="audio_db_playlist_name">My recordings</string>
   
    <!-- shown as the message in a dialog when an error occured because of an error accessing the sd card [CHAR LIMIT=NONE] -->
    <string name="error_sdcard_access" product="nosdcard">Unable to access USB storage</string>
    <!-- shown as the message in a dialog when an error occured because of an error accessing the sd card -->
    <string name="error_sdcard_access" product="default">Unable to access SD card</string>
    <!-- shown as the message in a dialog when the app encountered an unspecified internal error -->
    <string name="error_app_internal">Internal application error</string>
    <!-- shown as the message in a dialog when the recording could not be added to the media database -->
    <string name="error_mediadb_new_record">Unable to save recorded audio</string>
</resources>
