<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017-2023 The LineageOS 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">
    <string name="fast_charging_title">Carregamento rápido</string>
    <string name="fast_charging_summary">Desative para reduzir o calor produzido pelo dispositivo durante o carregamento ou para estender a vida útil da bateria</string>
    <string name="high_touch_sensitivity_title">Toque de alta sensibilidade</string>
    <string name="high_touch_sensitivity_summary">Aumenta a sensibilidade da tela para poder ser usada com luvas</string>
    <string name="berry_black_theme_title">Preto puro</string>
    <string name="berry_black_theme_summary">Preto puro como cor de fundo para tema escuro</string>
    <string name="lock_settings_picker_pattern_size_message">Escolha um tamanho para o padrão</string>
    <string name="lockpattern_settings_enable_error_path_title">Exibir erro de padrão</string>
    <string name="lockpattern_settings_enable_dots_title">Exibir pontos no padrão</string>
    <string name="max_refresh_rate_title">Taxa de atualização máxima</string>
    <string name="min_refresh_rate_title">Taxa de atualização mínima</string>
    <string name="unlock_scramble_pin_layout_title">Embaralhar layout</string>
    <string name="unlock_scramble_pin_layout_summary">Embaralhar PIN ao desbloquear o dispositivo</string>
    <string name="tethering_allow_vpn_upstreams_title">Permitir que dispositivos conectados usem VPNs</string>
    <string name="tethering_allow_vpn_upstreams_summary">Permitir que dispositivos conectados no ponto de acesso usem conexões de VPN deste dispositivo</string>
    <string name="assisted_gps">Usar GPS auxiliado</string>
    <string name="assisted_gps_summary">Baixar dados de assistência para satélite através da internet, o que pode melhorar consideravelmente o desempenho da inicialização do GPS. Nas chamadas de emergência, o GPS auxiliado é sempre permitido.</string>
    <string name="backup_transport_setting_label">Alterar provedor de backup</string>
    <string name="backup_transport_title">Selecione o provedor de backup</string>
    <string name="battery_technology">Tecnologia</string>
    <string name="battery_health">Saúde</string>
    <string name="battery_health_good">Boa</string>
    <string name="battery_health_overheat">Superaquecida</string>
    <string name="battery_health_dead">Esgotada</string>
    <string name="battery_health_over_voltage">Sobretensão</string>
    <string name="battery_health_unspecified_failure">Falha não especificada</string>
    <string name="battery_health_cold">Fria</string>
    <string name="battery_health_unknown">Desconhecida</string>
    <string name="battery_temperature">Temperatura</string>
    <string name="battery_voltage">Tensão</string>
    <string name="battery_charge_counter_summary">%1$d mAh</string>
    <string name="battery_design_capacity">Capacidade projetada</string>
    <string name="battery_design_capacity_summary">%1$d mAh</string>
    <string name="battery_maximum_capacity">Capacidade máxima</string>
    <string name="battery_maximum_capacity_summary">%1$d mAh (%2$d%%)</string>
    <string name="power_menu_advanced_restart_title">Reinicialização avançada</string>
    <string name="power_menu_advanced_restart_summary">Quando desbloqueado, incluir opções de reinicialização avançada no menu de energia</string>
    <string name="display_rotation_title">Configurações de rotação</string>
    <string name="display_rotation_enabled">A rotação automática está ativada</string>
    <string name="display_rotation_disabled">A rotação automática está desativada</string>
    <string name="display_rotation_unit">graus</string>
    <string name="display_rotation_category_title">Modos de rotação</string>
    <string name="display_rotation_0_title">0 grau</string>
    <string name="display_rotation_90_title">90 graus</string>
    <string name="display_rotation_180_title">180 graus</string>
    <string name="display_rotation_270_title">270 graus</string>
    <string name="status_bar_title">Barra de status</string>
    <string name="status_bar_system_icons_summary">Controlar quais ícones são exibidas na barra de status</string>
    <string name="charging_control_title">Controle de carregamento</string>
    <string name="charging_control_enable_title">Habilitar controle de carregamento</string>
    <string name="charging_control_mode_title">Modo de carregamento</string>
    <string name="charging_control_mode_auto_title">Agendamento automático</string>
    <string name="charging_control_mode_auto_summary">Determinar automaticamente quando iniciar o carregamento com base nos alarmes definidos</string>
    <string name="charging_control_mode_custom_title">Agendamento personalizado</string>
    <string name="charging_control_mode_custom_summary">Defina um horário para atingir a carga completa</string>
    <string name="charging_control_mode_limit_title">Limitar o carregamento</string>
    <string name="charging_control_mode_limit_summary">Interromper o carregamento ao atingir uma determinada porcentagem</string>
    <string name="charging_control_start_time_title">Horário de início</string>
    <string name="charging_control_start_time_summary">O controle de carregamento é ativado quando você começa a carregar após %s</string>
    <string name="charging_control_target_time_title">Horário alvo para carga completa</string>
    <string name="charging_control_target_time_summary">A bateria estará totalmente carregada às %s</string>
    <string name="charging_control_limit_title">Limite</string>
    <string name="reset">Redefinir</string>
</resources>
