<?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">"Mín."</string>
    <string name="hvac_max_text" msgid="7627950157128770380">"Máx."</string>
    <string name="fan_speed_max" msgid="956683571700419211">"MÁXIMA"</string>
    <string name="fan_speed_off" msgid="3860115181014880798">"APAGADO"</string>
    <string name="hvac_temperature_off" msgid="8370977023494579242">"APAGADO"</string>
    <string name="voice_recognition_toast" msgid="7579725862117020349">"El dispositivo Bluetooth gestiona el reconocimiento de voz"</string>
    <string name="car_guest" msgid="768913000117469596">"Invitado"</string>
    <string name="start_guest_session" msgid="2759367183497948650">"Invitado"</string>
    <string name="car_add_user" msgid="6182764665687382136">"Añadir un perfil"</string>
    <string name="car_new_user" msgid="6766334721724989964">"Perfil nuevo"</string>
    <string name="user_add_profile_title" msgid="828371911076521952">"¿Añadir perfil nuevo?"</string>
    <string name="user_add_user_message_setup" msgid="6136074867764164790">"Una vez que hayas creado un perfil para alguien, esa persona debería personalizarlo."</string>
    <string name="user_add_user_message_update" msgid="3310089453006545712">"Se pueden actualizar aplicaciones en cualquier perfil y estarán actualizadas en todos."</string>
    <string name="profile_limit_reached_title" msgid="7891779218496729653">"Límite de perfiles alcanzado"</string>
    <plurals name="profile_limit_reached_message" formatted="false" msgid="910608128912533066">
      <item quantity="other">Puedes añadir <xliff:g id="COUNT">%d</xliff:g> perfiles como máximo.</item>
      <item quantity="one">Solo se puede crear un perfil.</item>
    </plurals>
    <string name="car_loading_profile" msgid="458961191993686065">"Cargando"</string>
    <string name="car_loading_profile_developer_message" msgid="737810794567935702">"Cargando usuario (de <xliff:g id="FROM_USER">%1$d</xliff:g> a <xliff:g id="TO_USER">%2$d</xliff:g>)"</string>
    <string name="mic_privacy_chip_off_content" msgid="4989623700063721557">"El micrófono está desactivado."</string>
    <string name="mic_privacy_chip_use_microphone" msgid="6766440136862693589">"Usar micrófono"</string>
    <string name="mic_privacy_chip_use_microphone_subtext" msgid="3953394014360603987">"Para aplicaciones que tienen permiso"</string>
    <string name="mic_privacy_chip_microphone_settings" msgid="4520886720588226450">"Ajustes del micrófono"</string>
    <string name="mic_privacy_chip_app_using_mic_suffix" msgid="8355462601492180023">"<xliff:g id="APP">%s</xliff:g> está usando el micrófono"</string>
    <string name="mic_privacy_chip_apps_using_mic_suffix" msgid="6656026041668305817">"<xliff:g id="APP_LIST">%s</xliff:g> están usando el micrófono"</string>
    <string name="mic_privacy_chip_app_recently_used_mic_suffix" msgid="1819299821245419382">"<xliff:g id="APP">%s</xliff:g> ha usado el micrófono recientemente"</string>
    <string name="mic_privacy_chip_apps_recently_used_mic_suffix" msgid="3451383324549295901">"<xliff:g id="APP_0">%1$s</xliff:g> y <xliff:g id="ADDITIONAL_APP_COUNT">%2$d</xliff:g> aplicaciones más han usado el micrófono recientemente"</string>
    <string name="mic_privacy_chip_on_toast" msgid="7003896860896586181">"Micrófono activado"</string>
    <string name="mic_privacy_chip_off_toast" msgid="8718743873640788032">"Micrófono desactivado"</string>
    <string name="mic_privacy_chip_dialog_ok" msgid="2298690833121720237">"Aceptar"</string>
    <string name="sensor_privacy_start_use_mic_dialog_title" msgid="8774244900043105266">"¿Activar el micrófono del vehículo?"</string>
    <string name="sensor_privacy_start_use_mic_dialog_content" msgid="8382980879434990801">"Para continuar, activa el sistema de infoentretenimiento del micrófono. Este sistema activará el micrófono en todas las aplicaciones que tengan permiso."</string>
    <string name="qc_footer_settings" msgid="5471523941092316743">"Ajustes"</string>
    <string name="qc_footer_bluetooth_settings" msgid="2870204430643762847">"Ajustes de Bluetooth"</string>
    <string name="qc_footer_network_internet_settings" msgid="2480582764252681575">"Ajustes de red y de Internet"</string>
    <string name="qc_footer_display_settings" msgid="2950539240110437704">"Ajustes de pantalla"</string>
    <string name="qc_footer_network_sound_settings" msgid="5117011034908775097">"Ajustes de sonido"</string>
    <string name="qc_footer_profiles_accounts_settings" msgid="4456419248123950232">"Ajustes de perfiles y de cuentas"</string>
    <string name="lockpattern_does_not_support_rotary" msgid="4605787900312103476">"No puede usarse patrón de rotación; usa uno táctil"</string>
</resources>
