<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright 2019 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>
  <!-- Application name [CHAR LIMIT=30] -->
  <string name="app_name" translatable="false">Paint Booth (Gerrit)</string>

  <!-- Description of the CurrentActivityService. [CHAR_LIMIT=200] -->
  <string name="current_activity_service_description">Shows the current activity</string>

  <!-- Strings for Preference Samples -->
  <eat-comment/>

  <!-- Preferences page title [CHAR_LIMIT=13] -->
  <string name="preferences_screen_title">Settings</string>

  <!--This section is for basic attributes -->
  <eat-comment/>
  <!-- Category title for basic preferences [CHAR_LIMIT=26]-->
  <string name="basic_preferences">Basic attributes</string>
  <!-- Title of a basic preference [CHAR_LIMIT=10]-->
  <string name="title_basic_preference">Preference</string>
  <!-- Summary of a basic preference [CHAR_LIMIT=71]-->
  <string name="summary_basic_preference">Simple preference with no special attributes</string>

  <!-- Title of a preference with stylized text [CHAR_LIMIT=71]-->
  <string name="title_stylish_preference"><b>Very</b> <i>stylish</i> <u>preference</u></string>
  <!-- Summary of a preference with stylized text [CHAR_LIMIT=150]-->
  <string name="summary_stylish_preference">Define style tags such as &lt;b&gt; in a string resource to customize a preference\'s text</string>

  <!-- Title of an icon preference [CHAR_LIMIT=25]-->
  <string name="title_icon_preference">Icon preference</string>
  <!-- Summary of an icon preference [CHAR_LIMIT=103]-->
  <string name="summary_icon_preference">Define a drawable to display it at the start of the preference</string>

  <!-- Title of a single line title preference [CHAR_LIMIT=165]-->
  <string name="title_single_line_title_preference">Single line title preference - no matter how long the title is it will never wrap to multiple lines</string>
  <!-- Summary of a single line title preference [CHAR_LIMIT=108]-->
  <string name="summary_single_line_title_preference">This title will be ellipsized instead of wrapping to another line</string>

  <!-- Title of a single line title preference without summary [CHAR_LIMIT=28]-->
  <string name="title_single_line_no_summary">Single line preference - no summary</string>

  <!--This section is for preferences that contain a widget in their layout -->
  <eat-comment/>
  <!-- Category title for preferences with widgets [CHAR_LIMIT=12]-->
  <string name="widgets">Widgets</string>

  <!-- Title of a two action preference [CHAR_LIMIT=31]-->
  <string name="title_twoaction_preference">TwoAction preference</string>
  <!-- Summary of a two action preference [CHAR_LIMIT=70]-->
  <string name="summary_twoaction_preference">A widget should be visible on the right</string>

  <!-- Title of a checkbox preference [CHAR_LIMIT=31]-->
  <string name="title_checkbox_preference">Checkbox preference</string>
  <!-- Summary of a checkbox preference [CHAR_LIMIT=78]-->
  <string name="summary_checkbox_preference">Tap anywhere in this preference to toggle state</string>

  <!-- Title of a switch preference [CHAR_LIMIT=28]-->
  <string name="title_switch_preference">Switch preference</string>
  <!-- Summary of a switch preference [CHAR_LIMIT=78]-->
  <string name="summary_switch_preference">Tap anywhere in this preference to toggle state</string>

  <!-- Title of a dropdown preference [CHAR_LIMIT=31]-->
  <string name="title_dropdown_preference">Dropdown preference</string>

  <!-- Title of a seekbar preference [CHAR_LIMIT=30]-->
  <string name="title_seekbar_preference">Seekbar preference</string>
  <!-- Summary of an seekbar preference [CHAR_LIMIT=32]-->
  <string name="summary_seekbar_preference">Seekbar summary</string>

  <!--This section is for preferences that launch a dialog to edit the preference -->
  <eat-comment/>
  <!-- Category title for preferences which launch dialogs [CHAR_LIMIT=12]-->
  <string name="dialogs">Dialogs</string>

  <!-- Title of an edittext preference [CHAR_LIMIT=32]-->
  <string name="title_edittext_preference">EditText preference</string>
  <!-- Title of the dialog for an edittext preference [CHAR_LIMIT=43]-->
  <string name="dialog_title_edittext_preference">This title can be changed!</string>

  <!-- Title of a list preference [CHAR_LIMIT=25]-->
  <string name="title_list_preference">List preference</string>
  <!-- Title of the dialog for a list preference [CHAR_LIMIT=30]-->
  <string name="dialog_title_list_preference">Choose one option!</string>

  <!-- Title of a multi-select list preference [CHAR_LIMIT=46]-->
  <string name="title_multi_list_preference">Multi-select list preference</string>
  <!-- Summary of a multi-select list preference [CHAR_LIMIT=71]-->
  <string name="summary_multi_list_preference">Shows a dialog with multiple choice options</string>
  <!-- Title of the dialog for a multi-select list preference [CHAR_LIMIT=33]-->
  <string name="dialog_title_multi_list_preference">Choose some options!</string>

  <!--This section is for advanced attributes-->
  <eat-comment/>
  <!-- Category title for preferences with advanced attributes [CHAR_LIMIT=32]-->
  <string name="advanced_attributes">Advanced attributes</string>

  <!-- Title of an expandable preference [CHAR_LIMIT=45]-->
  <string name="title_expandable_preference">Expandable preference group</string>
  <!-- Summary of an expandable preference [CHAR_LIMIT=131]-->
  <string name="summary_expandable_preference">This group shows one item and collapses the rest into the advanced button below</string>

  <!-- Title of a preference which launches an intent [CHAR_LIMIT=28]-->
  <string name="title_intent_preference">Intent preference</string>
  <!-- Summary of a preference which launches an intent [CHAR_LIMIT=51]-->
  <string name="summary_intent_preference">Launches an intent when pressed</string>

  <!-- Title of a parent preference [CHAR_LIMIT=28]-->
  <string name="title_parent_preference">Parent preference</string>
  <!-- Summary of a parent preference [CHAR_LIMIT=130]-->
  <string name="summary_parent_preference">Toggling this preference will change the enabled state of the preference below</string>

  <!-- Title of a child preference [CHAR_LIMIT=26]-->
  <string name="title_child_preference">Child preference</string>
  <!-- Summary of a child preference [CHAR_LIMIT=123]-->
  <string name="summary_child_preference">The enabled state of this preference is controlled by the preference above</string>

  <!-- Title of a switch preference with variable summaries [CHAR_LIMIT=45]-->
  <string name="title_toggle_summary_preference">Variable summary preference</string>
  <!-- Summary of a variable summary preference when the preference is on [CHAR_LIMIT=118]-->
  <string name="summary_on_toggle_summary_preference">On! :) - the summary of this preference changes depending on its state</string>
  <!-- Summary of a variable summary preference when the preference is off [CHAR_LIMIT=118]-->
  <string name="summary_off_toggle_summary_preference">Off! :( - the summary of this preference changes depending on its state</string>

  <!-- Title of a copyable preference [CHAR_LIMIT=31]-->
  <string name="title_copyable_preference">Copyable preference</string>
  <!-- Summary of a copyable preference [CHAR_LIMIT=81]-->
  <string name="summary_copyable_preference">Long press on this preference to copy its summary</string>

  <!-- Title of a Advanced preference [CHAR_LIMIT=13]-->
  <string name="advanced_preference">Advanced</string>

  <!-- Title of a Intent preference [CHAR_LIMIT=28]-->
  <string name="intent_preference">Intent preference</string>

  <!--This section is for toolbar attributes -->
  <eat-comment/>

  <!-- Text for change title button [CHAR_LIMIT=20]-->
  <string name="toolbar_change_title">Change title</string>

  <!-- Text for set xml button [CHAR_LIMIT=45]-->
  <string name="toolbar_set_xml_resource">MenuItem: Set to XML source</string>

  <!-- Text for add icon button [CHAR_LIMIT=30]-->
  <string name="toolbar_add_icon">MenuItem: Add Icon</string>

  <!-- Text for add untined icon button [CHAR_LIMIT=45]-->
  <string name="toolbar_add_untined_icon">MenuItem: Add untinted icon</string>

  <!-- Text for add overflow button [CHAR_LIMIT=36]-->
  <string name="toolbar_add_overflow">Overflow MenuItem: Add Simple</string>

  <!-- Text for add overflow button [CHAR_LIMIT=36]-->
  <string name="toolbar_add_overflow_switch">Overflow MenuItem: Add switchable</string>

  <!-- Text for add icon text overflow button [CHAR_LIMIT=45]-->
  <string name="toolbar_add_icon_text_overflow">Overflow MenuItem: Add icon and text</string>

  <!-- Text for add switch button [CHAR_LIMIT=33]-->
  <string name="toolbar_add_switch">MenuItem: Add Switch</string>

  <!-- Text for add text button [CHAR_LIMIT=30]-->
  <string name="toolbar_add_text">MenuItem: Add text</string>

  <!-- Text for add icon text button [CHAR_LIMIT=45]-->
  <string name="toolbar_add_icon_text">MenuItem: Add icon and text</string>


  <!-- Text for add text button [CHAR_LIMIT=30]-->
  <string name="toolbar_add_bordered_text">MenuItem: Add bordered text</string>

  <!-- Text for add icon text button [CHAR_LIMIT=45]-->
  <string name="toolbar_add_bordered_icon_text">MenuItem: Add bordered icon and text</string>

  <!-- Text for add untined icon and text button [CHAR_LIMIT=60]-->
  <string name="toolbar_add_untinted_icon_and_text">MenuItem: Add untinted icon and text</string>

  <!-- Text for add activatable button [CHAR_LIMIT=41]-->
  <string name="toolbar_add_activatable">MenuItem: Add activatable</string>

  <!-- Text for add activatable button [CHAR_LIMIT=36]-->
  <string name="toolbar_add_morphing">MenuItem: Add morphing</string>

  <!-- Text for toggle visibility button [CHAR_LIMIT=45]-->
  <string name="toolbar_toggle_visibility">MenuItem: Toggle Visibility</string>

  <!-- Text for toggle enable button [CHAR_LIMIT=40]-->
  <string name="toolbar_toggle_enable">MenuItem: Toggle Enabled</string>

  <!-- Text for toggle enable button [CHAR_LIMIT=49]-->
  <string name="toolbar_toggle_perform_click">MenuItem: Call PerformClick()</string>

  <!-- Text for toggle icon button [CHAR_LIMIT=35]-->
  <string name="toolbar_toggle_icon">MenuItem: Toggle Icon</string>

  <!-- Text for toggle show while search button [CHAR_LIMIT=61]-->
  <string name="toolbar_toggle_show_while_search">MenuItem: Toggle show while searching</string>

  <!-- Text for cycle nav button mode button [CHAR_LIMIT=35]-->
  <string name="toolbar_cycle_nav_button">Cycle nav button mode</string>

  <!-- Text for toggle logo button [CHAR_LIMIT=19]-->
  <string name="toolbar_toggle_logo">Toggle logo</string>

  <!-- Text for cycle state button [CHAR_LIMIT=20]-->
  <string name="toolbar_cycle_state">Cycle state</string>

  <!-- Text for toggle search hint button [CHAR_LIMIT=30]-->
  <string name="toolbar_toggle_search_hint">Toggle search hint</string>

  <!-- Text for toggle background button [CHAR_LIMIT=30]-->
  <string name="toolbar_toggle_background">Toggle background</string>

  <!-- Text for add tab button [CHAR_LIMIT=12]-->
  <string name="toolbar_add_tab">Add tab</string>

  <!-- Text for add tab with custom text button [CHAR_LIMIT=40]-->
  <string name="toolbar_add_tab_with_custom_text">Add tab with custom text</string>

  <!-- Text for showing tabs in subpages [CHAR_LIMIT=50]-->
  <string name="toolbar_show_tabs_in_subpage">Toggle showing tabs in subpages</string>

  <!-- Text for toggle search icon button [CHAR_LIMIT=30]-->
  <string name="toolbar_toggle_search_icon">Toggle search icon</string>

  <!--This section is for dialog attributes -->
  <eat-comment/>

  <!-- Text for show dialog button [CHAR_LIMIT=18]-->
  <string name="dialog_show_dialog">Show Dialog</string>

  <!-- Text for show dialog button [CHAR_LIMIT=30]-->
  <string name="dialog_show_dialog_icon">Show Dialog with icon</string>

  <!-- Text for Dialog with edit text box button [CHAR_LIMIT=50]-->
  <string name="dialog_show_dialog_edit">Show Dialog with edit text box</string>

  <!-- Text for show Dialog with only positive button button [CHAR_LIMIT=61]-->
  <string name="dialog_show_dialog_only_positive">Show Dialog with only positive button</string>

  <!-- Text for show Dialog With no button provided button [CHAR_LIMIT=60]-->
  <string name="dialog_show_dialog_no_button">Show Dialog With no button provided</string>

  <!-- Text for show Dialog With Checkbox button [CHAR_LIMIT=41]-->
  <string name="dialog_show_dialog_checkbox">Show Dialog With Checkbox</string>

  <!-- Text for show Dialog without title button [CHAR_LIMIT=41]-->
  <string name="dialog_show_dialog_no_title">Show Dialog without title</string>

  <!-- Text for show Toast button [CHAR_LIMIT=16]-->
  <string name="dialog_show_toast">Show Toast</string>

  <!-- Button that shows a dialog with a subtitle [CHAR_LIMIT=50]-->
  <string name="dialog_show_subtitle">Show Dialog with title and subtitle</string>

  <!-- Button that shows a dialog with a subtitle and icon [CHAR_LIMIT=50]-->
  <string name="dialog_show_subtitle_and_icon">Show Dialog with title, subtitle, and icon</string>

  <!-- Button that shows a dialog with a long title, subtitle and icon [CHAR_LIMIT=500]-->
  <string name="dialog_show_long_subtitle_and_icon">Show Dialog with a long title, subtitle, and icon</string>

  <!-- Text to show Dialog with single choice items-->
  <string name="dialog_show_single_choice">Show with single choice items</string>

  <!-- Text to show a dialog with single choice items and no default button [CHAR_LIMIT=200] -->
  <string name="dialog_show_list_items_without_default_button">Show with single choice items and no default button</string>

  <!-- Text to show a permission Dialog [CHAR_LIMIT=50] -->
  <string name="dialog_show_permission_dialog">Show permission dialog</string>

  <!-- Text to show a permission Dialog for multiple permissions [CHAR_LIMIT=50] -->
  <string name="dialog_show_multi_permission_dialog">Show multiple permissions dialog</string>

  <!-- Text on button to show a permission dialog asking for the users location. [CHAR_LIMIT=100] -->
  <string name="dialog_show_foreground_permission_dialog">Show foreground permission dialog</string>

  <!-- Text on button to show a permission dialog asking for the users location in the background [CHAR_LIMIT=100] -->
  <string name="dialog_show_background_permission_dialog">Show background permission dialog</string>

  <!--This section is for widget attributes -->
  <eat-comment/>
  <!-- Text for checkbox [CHAR_LIMIT=16]-->
  <string name="widget_checkbox_text">I\'m a check box</string>
  <!-- Text for switch [CHAR_LIMIT=25]-->
  <string name="widget_switch_text">I\'m a switch</string>

</resources>
