<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2012 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>
    <string name="app_name">TestingCam</string>

    <string name="preview_on_label">Preview On</string>
    <string name="preview_off_label">Preview Off</string>
    <string name="take_picture_label">Take picture</string>
    <string name="preview_resolution_prompt">Preview size</string>
    <string name="camera_selection_prompt">Active camera</string>
    <string name="default_camera_entry">No cameras found</string>
    <string name="snapshot_text_default">Save to view EXIF.</string>
    <string name="snapshot_size_spinner_label">Still capture size</string>
    <string name="record_on_label">Recording on</string>
    <string name="record_off_label">Recording off</string>
    <string name="camcorder_profile_prompt">Camcorder profile</string>
    <string name="video_record_size_prompt">Video Record size</string>
    <string name="horiz_rule_color">#777777</string>
    <string name="show_info">Info</string>
    <string name="info_ok_button_label">OK</string>
    <string name="snapshot_ok_label">OK</string>
    <string name="still_image_description">Captured still image</string>
    <string name="af_mode_prompt">Autofocus mode</string>
    <string name="flash_mode_label">Flash mode</string>
    <string name="trigger_autofocus">Trigger autofocus</string>
    <string name="cancel_autofocus">Cancel Autofocus</string>
    <string name="snapshot_save_label">Save</string>
    <string name="snapshot_view_label">Save and view</string>
</resources>
