<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (c) 2018 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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="hvac_min_text" msgid="866677328637088715">"Min"</string>
    <string name="hvac_max_text" msgid="7627950157128770380">"Max"</string>
    <string name="fan_speed_max" msgid="956683571700419211">"MAX"</string>
    <string name="fan_speed_off" msgid="3860115181014880798">"OFF"</string>
    <string name="hvac_temperature_off" msgid="8370977023494579242">"OFF"</string>
    <string name="voice_recognition_toast" msgid="7579725862117020349">"Voice recognition now handled by connected Bluetooth device"</string>
    <string name="car_guest" msgid="768913000117469596">"Guest"</string>
    <string name="start_guest_session" msgid="2759367183497948650">"Guest"</string>
    <string name="car_add_user" msgid="6182764665687382136">"Add a profile"</string>
    <string name="car_new_user" msgid="6766334721724989964">"New profile"</string>
    <string name="user_add_profile_title" msgid="828371911076521952">"Add new profile?"</string>
    <string name="user_add_user_message_setup" msgid="6136074867764164790">"After you create a new profile, that person should customise it for themselves."</string>
    <string name="user_add_user_message_update" msgid="3310089453006545712">"Apps can be updated from any profile for use by all other profiles."</string>
    <string name="profile_limit_reached_title" msgid="7891779218496729653">"Profile limit reached"</string>
    <plurals name="profile_limit_reached_message" formatted="false" msgid="910608128912533066">
      <item quantity="other">You can add up to <xliff:g id="COUNT">%d</xliff:g> profiles.</item>
      <item quantity="one">Only one profile can be created.</item>
    </plurals>
    <string name="car_loading_profile" msgid="458961191993686065">"Loading"</string>
    <string name="car_loading_profile_developer_message" msgid="737810794567935702">"Loading user (from <xliff:g id="FROM_USER">%1$d</xliff:g> to <xliff:g id="TO_USER">%2$d</xliff:g>)"</string>
    <string name="mic_privacy_chip_off_content" msgid="4989623700063721557">"Microphone is off."</string>
    <string name="mic_privacy_chip_use_microphone" msgid="6766440136862693589">"Use microphone"</string>
    <string name="mic_privacy_chip_use_microphone_subtext" msgid="3953394014360603987">"For apps that have permission"</string>
    <string name="mic_privacy_chip_microphone_settings" msgid="4520886720588226450">"Microphone settings"</string>
    <string name="mic_privacy_chip_app_using_mic_suffix" msgid="8355462601492180023">"<xliff:g id="APP">%s</xliff:g> is using the mic"</string>
    <string name="mic_privacy_chip_apps_using_mic_suffix" msgid="6656026041668305817">"<xliff:g id="APP_LIST">%s</xliff:g> are using the mic"</string>
    <string name="mic_privacy_chip_app_recently_used_mic_suffix" msgid="1819299821245419382">"<xliff:g id="APP">%s</xliff:g> used the mic recently"</string>
    <string name="mic_privacy_chip_apps_recently_used_mic_suffix" msgid="3451383324549295901">"<xliff:g id="APP_0">%1$s</xliff:g> and <xliff:g id="ADDITIONAL_APP_COUNT">%2$d</xliff:g> more used the mic recently"</string>
    <string name="mic_privacy_chip_on_toast" msgid="7003896860896586181">"Microphone turned on"</string>
    <string name="mic_privacy_chip_off_toast" msgid="8718743873640788032">"Microphone turned off"</string>
    <string name="mic_privacy_chip_dialog_ok" msgid="2298690833121720237">"OK"</string>
    <string name="sensor_privacy_start_use_mic_dialog_title" msgid="8774244900043105266">"Turn on vehicle microphone?"</string>
    <string name="sensor_privacy_start_use_mic_dialog_content" msgid="8382980879434990801">"To continue, turn on the infotainment system microphone. This will turn on the microphone for all apps that have permission."</string>
    <string name="qc_footer_settings" msgid="5471523941092316743">"Settings"</string>
    <string name="qc_footer_bluetooth_settings" msgid="2870204430643762847">"Bluetooth settings"</string>
    <string name="qc_footer_network_internet_settings" msgid="2480582764252681575">"Network and Internet settings"</string>
    <string name="qc_footer_display_settings" msgid="2950539240110437704">"Display settings"</string>
    <string name="qc_footer_network_sound_settings" msgid="5117011034908775097">"Sound settings"</string>
    <string name="qc_footer_profiles_accounts_settings" msgid="4456419248123950232">"Profiles &amp; accounts settings"</string>
    <string name="lockpattern_does_not_support_rotary" msgid="4605787900312103476">"Pattern does not support rotary; please use touch"</string>
</resources>
