<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2010 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">Honeycomb Gallery</string>
    <string name="camera_sample">Camera Example</string>
    <string name="clip_label">Clip Label</string>

    <string name="app_widget_name">Honeycomb Example Widget</string>
    <string name="widget_empty_view_text">Touch to show data</string>

    <string name="notification_text">Example notification text</string>

    <string name="photo_selection_cab_title">Photo selection</string>

    <!-- Menu strings -->
    <string name="share">Share</string>
    <string name="camera">Camera</string>
    <string name="toggle_titles">Toggle Titles</string>
    <string name="day_night">Day/Night</string>
    <string name="show_dialog">Show a dialog</string>
    <string name="basic_notification">Show a basic notification</string>
    <string name="custom_notification">Show a custom notification</string>
    <string name="switch_camera">Switch camera</string>
</resources>