<?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">Snapshot text</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="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="trigger_autofocus">Trigger autofocus</string>
    <string name="cancel_autofocus">Cancel Autofocus</string>
</resources>
