<?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ÁX."</string>
    <string name="fan_speed_off" msgid="3860115181014880798">"DESATIVADA"</string>
    <string name="hvac_temperature_off" msgid="8370977023494579242">"DESATIVADO"</string>
    <string name="voice_recognition_toast" msgid="7579725862117020349">"Reconhecimento de voz agora através do disp. Bluetooth lig."</string>
    <string name="car_guest" msgid="768913000117469596">"Convidado"</string>
    <string name="start_guest_session" msgid="2759367183497948650">"Convidado"</string>
    <string name="car_add_user" msgid="6182764665687382136">"Adicionar perfil"</string>
    <string name="car_new_user" msgid="6766334721724989964">"Novo perfil"</string>
    <string name="user_add_profile_title" msgid="828371911076521952">"Quer adicionar o novo perfil?"</string>
    <string name="user_add_user_message_setup" msgid="6136074867764164790">"Depois de criar um novo perfil, deve ser a pessoa em questão a personalizá-lo."</string>
    <string name="user_add_user_message_update" msgid="3310089453006545712">"As apps podem ser atualizadas a partir de qualquer perfil para utilização por todos os perfis."</string>
    <string name="profile_limit_reached_title" msgid="7891779218496729653">"Limite de perfis atingido"</string>
    <plurals name="profile_limit_reached_message" formatted="false" msgid="910608128912533066">
      <item quantity="other">Pode adicionar até <xliff:g id="COUNT">%d</xliff:g> perfis.</item>
      <item quantity="one">Apenas pode criar um perfil.</item>
    </plurals>
    <string name="car_loading_profile" msgid="458961191993686065">"A carregar…"</string>
    <string name="car_loading_profile_developer_message" msgid="737810794567935702">"A carregar o utilizador (de <xliff:g id="FROM_USER">%1$d</xliff:g> para <xliff:g id="TO_USER">%2$d</xliff:g>)…"</string>
    <string name="mic_privacy_chip_off_content" msgid="4989623700063721557">"O microfone está desativado."</string>
    <string name="mic_privacy_chip_use_microphone" msgid="6766440136862693589">"Utilizar microfone"</string>
    <string name="mic_privacy_chip_use_microphone_subtext" msgid="3953394014360603987">"Para as apps que têm autorização"</string>
    <string name="mic_privacy_chip_microphone_settings" msgid="4520886720588226450">"Definições do microfone"</string>
    <string name="mic_privacy_chip_app_using_mic_suffix" msgid="8355462601492180023">"<xliff:g id="APP">%s</xliff:g> está a utilizar o microfone"</string>
    <string name="mic_privacy_chip_apps_using_mic_suffix" msgid="6656026041668305817">"<xliff:g id="APP_LIST">%s</xliff:g> estão a utilizar o microfone"</string>
    <string name="mic_privacy_chip_app_recently_used_mic_suffix" msgid="1819299821245419382">"<xliff:g id="APP">%s</xliff:g> utilizou o microfone recentemente"</string>
    <string name="mic_privacy_chip_apps_recently_used_mic_suffix" msgid="3451383324549295901">"A app <xliff:g id="APP_0">%1$s</xliff:g> e mais <xliff:g id="ADDITIONAL_APP_COUNT">%2$d</xliff:g> utilizaram o microfone recentemente"</string>
    <string name="mic_privacy_chip_on_toast" msgid="7003896860896586181">"Microfone ativado"</string>
    <string name="mic_privacy_chip_off_toast" msgid="8718743873640788032">"Microfone desativado"</string>
    <string name="mic_privacy_chip_dialog_ok" msgid="2298690833121720237">"OK"</string>
    <string name="sensor_privacy_start_use_mic_dialog_title" msgid="8774244900043105266">"Ativar o microfone do veículo?"</string>
    <string name="sensor_privacy_start_use_mic_dialog_content" msgid="8382980879434990801">"Para continuar, ative o microfone do sistema de infoentretenimento. Esta ação irá ativar o microfone para todas as apps que têm autorização."</string>
    <string name="qc_footer_settings" msgid="5471523941092316743">"Definições"</string>
    <string name="qc_footer_bluetooth_settings" msgid="2870204430643762847">"Definições de Bluetooth"</string>
    <string name="qc_footer_network_internet_settings" msgid="2480582764252681575">"Definições de rede e Internet"</string>
    <string name="qc_footer_display_settings" msgid="2950539240110437704">"Definições do ecrã"</string>
    <string name="qc_footer_network_sound_settings" msgid="5117011034908775097">"Definições de som"</string>
    <string name="qc_footer_profiles_accounts_settings" msgid="4456419248123950232">"Definições de perfis e contas"</string>
    <string name="lockpattern_does_not_support_rotary" msgid="4605787900312103476">"O padrão não sup. control. rotativo; use o toque"</string>
</resources>
