<?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>
    <!-- This is the user visible name of the app and title. -->
    <string name="angle_preferences">ANGLE Preferences</string>

    <!-- This string is a description of what "ANGLE Preferences" is.
    It is used as a subtitle or summary text to describe this ANGLE app. -->
    <string name="angle_preferences_summary">Modify ANGLE settings</string>

    <!-- Category title listing ANGLE flags [CHAR_LIMIT=50]-->
    <string name="angle_general_title">General</string>

    <!-- This is the label for a toggle button.
    When the toggle is enabled, we will use ANGLE for all PKGs, regardless of any other settings.
    This is also used as a Quick Settings tile label. -->
    <string name="use_angle_for_all_apps">Use ANGLE for all apps</string>

    <!-- This is the label for a toggle button.
    When the toggle is enabled, we will show a dialog box indicating that ANGLE is in use.
    This is also used as a Quick Settings tile label. -->
    <string name="show_angle_in_use_dialog_box">Show dialog box when ANGLE is loaded</string>

    <!-- ListPreference title listing installed packages [CHAR_LIMIT=50]-->
    <string name="select_opengl_driver_title">Select OpenGL Driver</string>

    <!-- These are keywords that the user can use to search for this app.
    'angle' should not be translated, as it is an app name. -->
    <string name="keywords">angle, opengl, graphics</string>

    <!-- This is the message displayed in the Toast to the user when ANGLE is being used for the app.
    'ANGLE' should not be translated, as it is an app name. -->
    <string name="angle_in_use_toast_message">Using ANGLE</string>

    <!-- This is the title displayed when no apps are installed that ANGLE can be used for. -->
    <string name="no_apps_installed_title">No available apps</string>

    <!-- This is the summary displayed when no apps are installed that ANGLE can be used for. -->
    <string name="no_apps_installed_summary">No apps installed that can use ANGLE</string>

</resources>
