<?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 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 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>
