<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2017 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">
    <!-- Applications settings title. If clicked, the user is taken to a screen full of application settings [CHAR_LIMIT=NONE BACKUP_MESSAGE_ID=5281808652705396152] -->
    <string name="applications_settings">App info</string>

    <!-- Class name for AccessibilityServiceResult Task [CHAR_LIMIT=NONE]-->
    <string name="accessibility_settings_classname">com.android.settings.accessibility.AccessibilitySettings</string>

    <!-- Settings title in main settings screen for accessibility settings [CHAR_LIMIT=NONE BACKUP_MESSAGE_ID=3975902491934816215] -->
    <string name="accessibility_settings">Accessibility</string>

    <!-- Title for the 'physical keyboard' settings screen. [CHAR LIMIT=35 BACKUP_MESSAGE_ID=8285149877925752042] -->
    <string name="physical_keyboard_title">Physical keyboard</string>

    <!-- Title for the button to trigger the 'Manage keyboards' preference sub-screen, where the user can turn on/off installed virtual keyboards.[CHAR LIMIT=35 BACKUP_MESSAGE_ID=3302152381456516928] -->
    <string name="add_virtual_keyboard">Manage keyboards</string>

    <!-- App name of SettingsIntelligence [CHAR_LIMIT=30] -->
    <string name="app_name_settings_intelligence">Settings Suggestions</string>

    <!-- SEARCH STRINGS -->

    <!-- Button to clear all search history in Settings [CHAR LIMIT=40]-->
    <string name="search_clear_history">Clear history</string>

    <!-- DO NOT TRANSLATE Summary placeholder -->
    <string name="summary_placeholder" translatable="false">&#160;</string>

    <!-- Search breadcrumb connector symbol -->
    <string name="search_breadcrumb_connector" translatable="false">
        <xliff:g name="first_item">%1$s</xliff:g> > <xliff:g name="second_item">%2$s</xliff:g>
    </string>

    <string name="search_no_results">No results</string>
</resources>