<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 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">
    <string name="activity_sample_code">Support v7 Demos</string>

    <!-- MediaRouter -->

    <string name="sample_media_router_activity_dark">MediaRouter/Dark Theme</string>
    <string name="sample_media_router_activity_light">MediaRouter/Light Theme</string>
    <string name="sample_media_router_activity_light_with_dark_action_bar">MediaRouter/Light Theme, Dark Action Bar</string>
    <string name="sample_media_router_text">This activity demonstrates how to
            use MediaRouter from the support library.  Select a route from the action bar.</string>
    <string name="media_route_menu_title">Play on...</string>

    <string name="library_tab_text">Library</string>
    <string name="playlist_tab_text">Playlist</string>
    <string name="info_tab_text">Route Info</string>

    <string name="sample_media_route_provider_service">Media Route Provider Service Support Library Sample</string>
    <string name="fixed_volume_route_name">Fixed Volume Remote Playback Route</string>
    <string name="variable_volume_basic_route_name">Variable Volume (Basic) Remote Playback Route</string>
    <string name="variable_volume_queuing_route_name">Variable Volume (Queuing) Remote Playback Route</string>
    <string name="variable_volume_session_route_name">Variable Volume (Session) Remote Playback Route</string>
    <string name="sample_route_description">Sample route from Support7Demos</string>

    <!-- GridLayout -->

    <string name="grid_layout_1">GridLayout/1. Simple Form</string>
    <string name="grid_layout_2">GridLayout/2. Form (XML)</string>
    <string name="grid_layout_3">GridLayout/3. Form (Java)</string>

    <string name="grid_layout_1_instructions">Type here:</string>
    <string name="grid_layout_1_ok">Ok</string>
    <string name="grid_layout_1_cancel">Cancel</string>

    <!-- ActionBar -->

    <string name="action_bar_mechanics">AppCompat/Action Bar/Action Bar Mechanics</string>
    <string name="action_bar_usage">AppCompat/Action Bar/Action Bar Usage</string>
    <string name="action_bar_tabs">AppCompat/Action Bar/Action Bar Tabs</string>
    <string name="action_bar_settings_action_provider">AppCompat/Action Bar/Settings Action Provider</string>
    <string name="action_bar_settings_action_provider_no_handling">Handling in onOptionsItemSelected avoided</string>

    <string name="action_bar_search">Search</string>
    <string name="action_bar_add">Add</string>
    <string name="action_bar_edit">Edit</string>
    <string name="action_bar_share">Share</string>
    <string name="action_bar_sort">Sort</string>
    <string name="action_bar_sort_alpha">Alphabetically</string>
    <string name="action_bar_sort_size">By size</string>
    <string name="action_bar_settings">Settings</string>

    <string name="action_bar_display_options">AppCompat/Action Bar/Display Options</string>
    <string name="toggle_home_as_up">DISPLAY_HOME_AS_UP</string>
    <string name="toggle_show_home">DISPLAY_SHOW_HOME</string>
    <string name="toggle_use_logo">DISPLAY_USE_LOGO</string>
    <string name="toggle_show_title">DISPLAY_SHOW_TITLE</string>
    <string name="toggle_show_custom">DISPLAY_SHOW_CUSTOM</string>
    <string name="toggle_navigation">Navigation</string>
    <string name="cycle_custom_gravity">Cycle Custom View Gravity</string>
    <string name="toggle_visibility">Toggle Visibility</string>

    <string name="display_options_custom_button">Custom View!</string>
    <string name="display_options_menu_item">Menu Item</string>

    <string name="btn_add_tab">Add new tab</string>
    <string name="btn_remove_tab">Remove last tab</string>
    <string name="btn_toggle_tabs">Toggle tab mode</string>
    <string name="btn_remove_all_tabs">Remove all tabs</string>

    <string name="action_bar_fragment_menu">AppCompat/Action Bar/Fragment Menu</string>
    <string name="action_bar_fragment_menu_msg">Build menus from three fragments, the last one
        nested, allowing you to hide them to remove them...</string>
    <string name="action_bar_fragment_menu1">Show fragment 1</string>
    <string name="action_bar_fragment_menu2">Show fragment 2</string>
    <string name="action_bar_fragment_menu3">Show nested fragment (within fragment 2)</string>
    <string name="action_bar_fragment_has_options_menu">Set has options menu to true</string>
    <string name="action_bar_fragment_menu_visibility">Set menu visibility to true</string>

    <string name="sample_media_route_provider_remote">Remote Playback (Simulated)</string>
    <string name="sample_media_route_activity_local">Local Playback</string>
    <string name="sample_media_route_activity_presentation">Local Playback on Presentation Display</string>

    <string name="recycler_view">RecyclerView</string>
    <string name="linear_layout_manager">Linear Layout Manager</string>
    <string name="checkbox_orientation">Horz.</string>
    <string name="checkbox_reverse">Rev.</string>
    <string name="checkbox_layout_dir">Layout Dir</string>
    <string name="checkbox_stack_from_end">Stack From End</string>
</resources>
