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

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

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

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

  <!-- Title of a preference with stylized text [CHAR_LIMIT=NONE]-->
  <string name="title_stylish_preference"><b>Very</b> <i>stylish</i> <u>preference</u></string>
  <!-- Summary of a preference with stylized text [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <string name="title_icon_preference">Icon preference</string>
  <!-- Summary of an icon preference [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <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=NONE]-->
  <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=NONE]-->
  <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=NONE]-->
  <string name="widgets">Widgets</string>

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

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

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

  <!-- Title of a seekbar preference [CHAR_LIMIT=NONE]-->
  <string name="title_seekbar_preference">Seekbar preference</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=NONE]-->
  <string name="dialogs">Dialogs</string>

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

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

  <!-- Title of a multi-select list preference [CHAR_LIMIT=NONE]-->
  <string name="title_multi_list_preference">Multi-select list preference</string>
  <!-- Summary of a multi-select list preference [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <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=NONE]-->
  <string name="advanced_attributes">Advanced attributes</string>

  <!-- Title of an expandable preference [CHAR_LIMIT=NONE]-->
  <string name="title_expandable_preference">Expandable preference group</string>
  <!-- Summary of an expandable preference [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <string name="title_intent_preference">Intent preference</string>
  <!-- Summary of a preference which launches an intent [CHAR_LIMIT=NONE]-->
  <string name="summary_intent_preference">Launches an intent when pressed</string>

  <!-- Title of a parent preference [CHAR_LIMIT=NONE]-->
  <string name="title_parent_preference">Parent preference</string>
  <!-- Summary of a parent preference [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <string name="title_child_preference">Child preference</string>
  <!-- Summary of a child preference [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <string name="title_toggle_summary_preference">Variable summary preference</string>
  <!-- Summary of a variable summary preference when the preference is on [CHAR_LIMIT=NONE]-->
  <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=NONE]-->
  <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=NONE]-->
  <string name="title_copyable_preference">Copyable preference</string>
  <!-- Summary of a copyable preference [CHAR_LIMIT=NONE]-->
  <string name="summary_copyable_preference">Long press on this preference to copy its summary</string>

</resources>
