mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
3589 lines
92 KiB
Dart
3589 lines
92 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Portuguese (`pt`).
|
|
class AppLocalizationsPt extends AppLocalizations {
|
|
AppLocalizationsPt([String locale = 'pt']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'MeshCore Open';
|
|
|
|
@override
|
|
String get nav_contacts => 'Contactos';
|
|
|
|
@override
|
|
String get nav_channels => 'Canais';
|
|
|
|
@override
|
|
String get nav_map => 'Mapa';
|
|
|
|
@override
|
|
String get common_cancel => 'Cancelar';
|
|
|
|
@override
|
|
String get common_ok => 'OK';
|
|
|
|
@override
|
|
String get common_connect => 'Conectar';
|
|
|
|
@override
|
|
String get common_unknownDevice => 'Dispositivo Desconhecido';
|
|
|
|
@override
|
|
String get common_save => 'Salvar';
|
|
|
|
@override
|
|
String get common_delete => 'Excluir';
|
|
|
|
@override
|
|
String get common_deleteAll => 'Excluir Tudo';
|
|
|
|
@override
|
|
String get common_close => 'Fechar';
|
|
|
|
@override
|
|
String get common_edit => 'Editar';
|
|
|
|
@override
|
|
String get common_add => 'Adicionar';
|
|
|
|
@override
|
|
String get common_settings => 'Configurações';
|
|
|
|
@override
|
|
String get common_disconnect => 'Desconectar';
|
|
|
|
@override
|
|
String get common_connected => 'Conectado';
|
|
|
|
@override
|
|
String get common_disconnected => 'Desconectado';
|
|
|
|
@override
|
|
String get common_create => 'Criar';
|
|
|
|
@override
|
|
String get common_continue => 'Continuar';
|
|
|
|
@override
|
|
String get common_share => 'Compartilhar';
|
|
|
|
@override
|
|
String get common_copy => 'Copiar';
|
|
|
|
@override
|
|
String get common_retry => 'Tentar novamente';
|
|
|
|
@override
|
|
String get common_hide => 'Esconder';
|
|
|
|
@override
|
|
String get common_remove => 'Remover';
|
|
|
|
@override
|
|
String get common_enable => 'Ativar';
|
|
|
|
@override
|
|
String get common_disable => 'Desativar';
|
|
|
|
@override
|
|
String get common_reboot => 'Reiniciar';
|
|
|
|
@override
|
|
String get common_loading => 'Carregando...';
|
|
|
|
@override
|
|
String get common_notAvailable => '—';
|
|
|
|
@override
|
|
String common_voltageValue(String volts) {
|
|
return '$volts V';
|
|
}
|
|
|
|
@override
|
|
String common_percentValue(int percent) {
|
|
return '$percent%';
|
|
}
|
|
|
|
@override
|
|
String get scanner_title => 'MeshCore Open';
|
|
|
|
@override
|
|
String get connectionChoiceUsbLabel => 'USB';
|
|
|
|
@override
|
|
String get connectionChoiceBluetoothLabel => 'Bluetooth';
|
|
|
|
@override
|
|
String get connectionChoiceTcpLabel => 'TCP';
|
|
|
|
@override
|
|
String get tcpScreenTitle => 'Estabelecer conexão via TCP';
|
|
|
|
@override
|
|
String get tcpHostLabel => 'Endereço IP';
|
|
|
|
@override
|
|
String get tcpHostHint => '192.168.40.10';
|
|
|
|
@override
|
|
String get tcpPortLabel => 'Porta';
|
|
|
|
@override
|
|
String get tcpPortHint => '5000';
|
|
|
|
@override
|
|
String get tcpStatus_notConnected => 'Insira o endereço final e conecte-se.';
|
|
|
|
@override
|
|
String tcpStatus_connectingTo(String endpoint) {
|
|
return 'Conectando a $endpoint...';
|
|
}
|
|
|
|
@override
|
|
String get tcpErrorHostRequired => 'É necessário fornecer um endereço IP.';
|
|
|
|
@override
|
|
String get tcpErrorPortInvalid =>
|
|
'O valor do porto deve estar entre 1 e 65535.';
|
|
|
|
@override
|
|
String get tcpErrorUnsupported =>
|
|
'O protocolo TCP não é suportado nesta plataforma.';
|
|
|
|
@override
|
|
String get tcpErrorTimedOut => 'A conexão TCP expirou.';
|
|
|
|
@override
|
|
String tcpConnectionFailed(String error) {
|
|
return 'Falha na conexão TCP: $error';
|
|
}
|
|
|
|
@override
|
|
String get usbScreenTitle => 'Conecte via USB';
|
|
|
|
@override
|
|
String get usbScreenSubtitle =>
|
|
'Selecione um dispositivo serial detectado e conecte-o diretamente ao seu nó MeshCore.';
|
|
|
|
@override
|
|
String get usbScreenStatus => 'Selecione um dispositivo USB';
|
|
|
|
@override
|
|
String get usbScreenNote =>
|
|
'A comunicação serial via USB está ativa em dispositivos Android e plataformas de desktop compatíveis.';
|
|
|
|
@override
|
|
String get usbScreenEmptyState =>
|
|
'Nenhum dispositivo USB encontrado. Conecte um e atualize.';
|
|
|
|
@override
|
|
String get usbErrorPermissionDenied =>
|
|
'A permissão para acesso via USB foi negada.';
|
|
|
|
@override
|
|
String get usbErrorDeviceMissing =>
|
|
'O dispositivo USB selecionado não está mais disponível.';
|
|
|
|
@override
|
|
String get usbErrorInvalidPort => 'Selecione um dispositivo USB válido.';
|
|
|
|
@override
|
|
String get usbErrorBusy =>
|
|
'Já existe uma solicitação de conexão USB em andamento.';
|
|
|
|
@override
|
|
String get usbErrorNotConnected => 'Não há nenhum dispositivo USB conectado.';
|
|
|
|
@override
|
|
String get usbErrorOpenFailed =>
|
|
'Não foi possível abrir o dispositivo USB selecionado.';
|
|
|
|
@override
|
|
String get usbErrorConnectFailed =>
|
|
'Não foi possível conectar ao dispositivo USB selecionado.';
|
|
|
|
@override
|
|
String get usbErrorUnsupported =>
|
|
'A comunicação serial via USB não é suportada nesta plataforma.';
|
|
|
|
@override
|
|
String get usbErrorAlreadyActive => 'A conexão USB já está ativa.';
|
|
|
|
@override
|
|
String get usbErrorNoDeviceSelected =>
|
|
'Nenhum dispositivo USB foi selecionado.';
|
|
|
|
@override
|
|
String get usbErrorPortClosed => 'A conexão USB não está ativa.';
|
|
|
|
@override
|
|
String get usbErrorConnectTimedOut =>
|
|
'A conexão expirou. Verifique se o dispositivo possui o firmware USB Companion.';
|
|
|
|
@override
|
|
String get usbFallbackDeviceName => 'Dispositivo de Serial para a Web';
|
|
|
|
@override
|
|
String get usbStatus_notConnected => 'Selecione um dispositivo USB';
|
|
|
|
@override
|
|
String get usbStatus_connecting => 'Conectando ao dispositivo USB...';
|
|
|
|
@override
|
|
String get usbStatus_searching => 'Procurando por dispositivos USB...';
|
|
|
|
@override
|
|
String usbConnectionFailed(String error) {
|
|
return 'Falha na conexão USB: $error';
|
|
}
|
|
|
|
@override
|
|
String get scanner_scanning => 'Procurando por dispositivos...';
|
|
|
|
@override
|
|
String get scanner_connecting => 'Conectando...';
|
|
|
|
@override
|
|
String get scanner_disconnecting => 'Desconectando...';
|
|
|
|
@override
|
|
String get scanner_notConnected => 'Não está conectado';
|
|
|
|
@override
|
|
String scanner_connectedTo(String deviceName) {
|
|
return 'Conectado a $deviceName';
|
|
}
|
|
|
|
@override
|
|
String get scanner_searchingDevices => 'Procurando dispositivos MeshCore...';
|
|
|
|
@override
|
|
String get scanner_tapToScan =>
|
|
'Toque em \"Escanear\" para encontrar dispositivos MeshCore';
|
|
|
|
@override
|
|
String scanner_connectionFailed(String error) {
|
|
return 'Falha na conexão: $error';
|
|
}
|
|
|
|
@override
|
|
String get scanner_stop => 'Pare';
|
|
|
|
@override
|
|
String get scanner_scan => 'Digitalizar';
|
|
|
|
@override
|
|
String get scanner_bluetoothOff => 'Bluetooth está desativado';
|
|
|
|
@override
|
|
String get scanner_bluetoothOffMessage =>
|
|
'Por favor, ative o Bluetooth para escanear por dispositivos.';
|
|
|
|
@override
|
|
String get scanner_chromeRequired => 'Navegador Chrome necessário';
|
|
|
|
@override
|
|
String get scanner_chromeRequiredMessage =>
|
|
'Esta aplicação web requer o Google Chrome ou um navegador baseado no Chromium para suporte de Bluetooth.';
|
|
|
|
@override
|
|
String get scanner_enableBluetooth => 'Ative o Bluetooth';
|
|
|
|
@override
|
|
String get device_quickSwitch => 'Mudar rapidamente';
|
|
|
|
@override
|
|
String get device_meshcore => 'MeshCore';
|
|
|
|
@override
|
|
String get settings_title => 'Configurações';
|
|
|
|
@override
|
|
String get settings_deviceInfo => 'Informações do Dispositivo';
|
|
|
|
@override
|
|
String get settings_appSettings => 'Configurações do App';
|
|
|
|
@override
|
|
String get settings_appSettingsSubtitle =>
|
|
'Notificações, mensagens e preferências de mapa';
|
|
|
|
@override
|
|
String get settings_nodeSettings => 'Configurações do Nó';
|
|
|
|
@override
|
|
String get settings_nodeName => 'Nome do Nó';
|
|
|
|
@override
|
|
String get settings_nodeNameNotSet => 'Não definido';
|
|
|
|
@override
|
|
String get settings_nodeNameHint => 'Insira o nome do nó';
|
|
|
|
@override
|
|
String get settings_nodeNameUpdated => 'Nome atualizado';
|
|
|
|
@override
|
|
String get settings_radioSettings => 'Configurações de Rádio';
|
|
|
|
@override
|
|
String get settings_radioSettingsSubtitle =>
|
|
'Frequência, potência, fator de espalhamento';
|
|
|
|
@override
|
|
String get settings_radioSettingsUpdated =>
|
|
'Configurações de rádio atualizadas';
|
|
|
|
@override
|
|
String get settings_location => 'Localização';
|
|
|
|
@override
|
|
String get settings_locationSubtitle => 'Coordenadas GPS';
|
|
|
|
@override
|
|
String get settings_locationUpdated => 'Localização atualizada';
|
|
|
|
@override
|
|
String get settings_locationBothRequired =>
|
|
'Insira a latitude e a longitude.';
|
|
|
|
@override
|
|
String get settings_locationInvalid => 'Latitude ou longitude inválidos.';
|
|
|
|
@override
|
|
String get settings_locationGPSEnable => 'Ativar GPS';
|
|
|
|
@override
|
|
String get settings_locationGPSEnableSubtitle =>
|
|
'Habilita a atualização automática da localização via GPS.';
|
|
|
|
@override
|
|
String get settings_locationIntervalSec => 'Intervalo para GPS (Segundos)';
|
|
|
|
@override
|
|
String get settings_locationIntervalInvalid =>
|
|
'O intervalo deve ser de pelo menos 60 segundos e inferior a 86400 segundos.';
|
|
|
|
@override
|
|
String get settings_latitude => 'Latitude';
|
|
|
|
@override
|
|
String get settings_longitude => 'Longitude';
|
|
|
|
@override
|
|
String get settings_contactSettings => 'Configurações de Contato';
|
|
|
|
@override
|
|
String get settings_contactSettingsSubtitle =>
|
|
'Configurações para como os contatos são adicionados';
|
|
|
|
@override
|
|
String get settings_privacyMode => 'Modo de Privacidade';
|
|
|
|
@override
|
|
String get settings_privacyModeSubtitle =>
|
|
'Esconder nome/localização em anúncios';
|
|
|
|
@override
|
|
String get settings_privacyModeToggle =>
|
|
'Ative o modo de privacidade para ocultar seu nome e localização em anúncios.';
|
|
|
|
@override
|
|
String get settings_privacyModeEnabled => 'Modo de privacidade ativado';
|
|
|
|
@override
|
|
String get settings_privacyModeDisabled => 'Modo de privacidade desativado';
|
|
|
|
@override
|
|
String get settings_privacy => 'Configurações de Privacidade';
|
|
|
|
@override
|
|
String get settings_privacySubtitle => 'Controle o que é compartilhado.';
|
|
|
|
@override
|
|
String get settings_privacySettingsDescription =>
|
|
'Escolha quais informações o seu dispositivo compartilha com os outros.';
|
|
|
|
@override
|
|
String get settings_denyAll => 'Negar todos';
|
|
|
|
@override
|
|
String get settings_allowByContact => 'Permitir por bandeiras de contato';
|
|
|
|
@override
|
|
String get settings_allowAll => 'Permitir todos';
|
|
|
|
@override
|
|
String get settings_telemetryBaseMode => 'Modo Base de Telemetria';
|
|
|
|
@override
|
|
String get settings_telemetryLocationMode =>
|
|
'Modo de Localização de Telemetria';
|
|
|
|
@override
|
|
String get settings_telemetryEnvironmentMode =>
|
|
'Modo de Ambiente de Telemetria';
|
|
|
|
@override
|
|
String get settings_advertLocation => 'Localização do Anúncio';
|
|
|
|
@override
|
|
String get settings_advertLocationSubtitle =>
|
|
'Incluir localização no anúncio';
|
|
|
|
@override
|
|
String settings_multiAck(String value) {
|
|
return 'Multi-ACKs: $value';
|
|
}
|
|
|
|
@override
|
|
String get settings_telemetryModeUpdated => 'Modo de telemetria atualizado';
|
|
|
|
@override
|
|
String get settings_actions => 'Ações';
|
|
|
|
@override
|
|
String get settings_sendAdvertisement => 'Enviar Publicidade';
|
|
|
|
@override
|
|
String get settings_sendAdvertisementSubtitle =>
|
|
'Presença de transmissão agora';
|
|
|
|
@override
|
|
String get settings_advertisementSent => 'Anúncio enviado';
|
|
|
|
@override
|
|
String get settings_syncTime => 'Tempo de Sincronização';
|
|
|
|
@override
|
|
String get settings_syncTimeSubtitle =>
|
|
'Definir o relógio do dispositivo para o horário do telefone';
|
|
|
|
@override
|
|
String get settings_timeSynchronized => 'Sincronizado com o tempo';
|
|
|
|
@override
|
|
String get settings_refreshContacts => 'Atualizar Contatos';
|
|
|
|
@override
|
|
String get settings_refreshContactsSubtitle =>
|
|
'Recarregar a lista de contatos do dispositivo';
|
|
|
|
@override
|
|
String get settings_rebootDevice => 'Reiniciar Dispositivo';
|
|
|
|
@override
|
|
String get settings_rebootDeviceSubtitle =>
|
|
'Reiniciar o dispositivo MeshCore';
|
|
|
|
@override
|
|
String get settings_rebootDeviceConfirm =>
|
|
'Tem certeza de que deseja reiniciar o dispositivo? Você será desconectado.';
|
|
|
|
@override
|
|
String get settings_debug => 'Depurar';
|
|
|
|
@override
|
|
String get settings_bleDebugLog => 'Log de Depuração BLE';
|
|
|
|
@override
|
|
String get settings_bleDebugLogSubtitle =>
|
|
'Comandos, respostas e dados brutos do BLE';
|
|
|
|
@override
|
|
String get settings_appDebugLog => 'Log de Depuração do Aplicativo';
|
|
|
|
@override
|
|
String get settings_appDebugLogSubtitle =>
|
|
'Mensagens de depuração do aplicativo';
|
|
|
|
@override
|
|
String get settings_about => 'Sobre';
|
|
|
|
@override
|
|
String settings_aboutVersion(String version) {
|
|
return 'MeshCore Open v$version';
|
|
}
|
|
|
|
@override
|
|
String get settings_aboutLegalese => 'Projeto MeshCore de Código Aberto 2024';
|
|
|
|
@override
|
|
String get settings_aboutDescription =>
|
|
'Um cliente Flutter de código aberto para dispositivos de rede mesh LoRa Core da MeshCore.';
|
|
|
|
@override
|
|
String get settings_aboutOpenMeteoAttribution =>
|
|
'Dados de elevação LOS: Open-Meteo (CC BY 4.0)';
|
|
|
|
@override
|
|
String get settings_infoName => 'Nome';
|
|
|
|
@override
|
|
String get settings_infoId => 'ID';
|
|
|
|
@override
|
|
String get settings_infoStatus => 'Status';
|
|
|
|
@override
|
|
String get settings_infoBattery => 'Bateria';
|
|
|
|
@override
|
|
String get settings_infoPublicKey => 'Chave Pública';
|
|
|
|
@override
|
|
String get settings_infoContactsCount => 'Número de Contatos';
|
|
|
|
@override
|
|
String get settings_infoChannelCount => 'Número do Canal';
|
|
|
|
@override
|
|
String get settings_presets => 'Presets';
|
|
|
|
@override
|
|
String get settings_frequency => 'Frequência (MHz)';
|
|
|
|
@override
|
|
String get settings_frequencyHelper => '300,0 - 2500,0';
|
|
|
|
@override
|
|
String get settings_frequencyInvalid => 'Frequência inválida (300-2500 MHz)';
|
|
|
|
@override
|
|
String get settings_bandwidth => 'Largura de banda';
|
|
|
|
@override
|
|
String get settings_spreadingFactor => 'Fator de Dispersão';
|
|
|
|
@override
|
|
String get settings_codingRate => 'Taxa de Codificação';
|
|
|
|
@override
|
|
String get settings_txPower => 'TX Potência (dBm)';
|
|
|
|
@override
|
|
String get settings_txPowerHelper => '0 - 22';
|
|
|
|
@override
|
|
String get settings_txPowerInvalid => 'Potência de TX inválida (0-22 dBm)';
|
|
|
|
@override
|
|
String get settings_clientRepeat => 'Repetição sem rede';
|
|
|
|
@override
|
|
String get settings_clientRepeatSubtitle =>
|
|
'Permita que este dispositivo repita pacotes de rede para outros dispositivos.';
|
|
|
|
@override
|
|
String get settings_clientRepeatFreqWarning =>
|
|
'A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.';
|
|
|
|
@override
|
|
String settings_error(String message) {
|
|
return 'Erro: $message';
|
|
}
|
|
|
|
@override
|
|
String get appSettings_title => 'Configurações do App';
|
|
|
|
@override
|
|
String get appSettings_appearance => 'Aparência';
|
|
|
|
@override
|
|
String get appSettings_theme => 'Tema';
|
|
|
|
@override
|
|
String get appSettings_themeSystem => 'Padrão do sistema';
|
|
|
|
@override
|
|
String get appSettings_themeLight => 'Luz';
|
|
|
|
@override
|
|
String get appSettings_themeDark => 'Escuro';
|
|
|
|
@override
|
|
String get appSettings_language => 'Idioma';
|
|
|
|
@override
|
|
String get appSettings_languageSystem => 'Padrão do sistema';
|
|
|
|
@override
|
|
String get appSettings_languageEn => 'English';
|
|
|
|
@override
|
|
String get appSettings_languageFr => 'Français';
|
|
|
|
@override
|
|
String get appSettings_languageEs => 'Español';
|
|
|
|
@override
|
|
String get appSettings_languageDe => 'Deutsch';
|
|
|
|
@override
|
|
String get appSettings_languagePl => 'Polski';
|
|
|
|
@override
|
|
String get appSettings_languageSl => 'Slovenščina';
|
|
|
|
@override
|
|
String get appSettings_languagePt => 'Português';
|
|
|
|
@override
|
|
String get appSettings_languageIt => 'Italiano';
|
|
|
|
@override
|
|
String get appSettings_languageZh => '中文';
|
|
|
|
@override
|
|
String get appSettings_languageSv => 'Svenska';
|
|
|
|
@override
|
|
String get appSettings_languageNl => 'Nederlands';
|
|
|
|
@override
|
|
String get appSettings_languageSk => 'Slovenčina';
|
|
|
|
@override
|
|
String get appSettings_languageBg => 'Български';
|
|
|
|
@override
|
|
String get appSettings_languageRu => 'Russo';
|
|
|
|
@override
|
|
String get appSettings_languageUk => 'Ucraniano';
|
|
|
|
@override
|
|
String get appSettings_enableMessageTracing =>
|
|
'Ativar rastreamento de mensagens';
|
|
|
|
@override
|
|
String get appSettings_enableMessageTracingSubtitle =>
|
|
'Mostrar metadados detalhados de roteamento e tempo para as mensagens';
|
|
|
|
@override
|
|
String get appSettings_notifications => 'Notificações';
|
|
|
|
@override
|
|
String get appSettings_enableNotifications => 'Ativar Notificações';
|
|
|
|
@override
|
|
String get appSettings_enableNotificationsSubtitle =>
|
|
'Receber notificações para mensagens e anúncios';
|
|
|
|
@override
|
|
String get appSettings_notificationPermissionDenied =>
|
|
'Permissão de notificação negada';
|
|
|
|
@override
|
|
String get appSettings_notificationsEnabled => 'Notificações ativadas';
|
|
|
|
@override
|
|
String get appSettings_notificationsDisabled => 'Notificações desativadas';
|
|
|
|
@override
|
|
String get appSettings_messageNotifications => 'Notificações de Mensagem';
|
|
|
|
@override
|
|
String get appSettings_messageNotificationsSubtitle =>
|
|
'Mostrar notificação ao receber novas mensagens';
|
|
|
|
@override
|
|
String get appSettings_channelMessageNotifications =>
|
|
'Notificações de Mensagens do Canal';
|
|
|
|
@override
|
|
String get appSettings_channelMessageNotificationsSubtitle =>
|
|
'Mostrar notificação ao receber mensagens do canal';
|
|
|
|
@override
|
|
String get appSettings_advertisementNotifications =>
|
|
'Notificações de Anúncios';
|
|
|
|
@override
|
|
String get appSettings_advertisementNotificationsSubtitle =>
|
|
'Mostrar notificação quando novos nós forem descobertos';
|
|
|
|
@override
|
|
String get appSettings_messaging => 'Mensagens';
|
|
|
|
@override
|
|
String get appSettings_clearPathOnMaxRetry =>
|
|
'Limpar Caminho em Tentativas Máximas';
|
|
|
|
@override
|
|
String get appSettings_clearPathOnMaxRetrySubtitle =>
|
|
'Redefinir o caminho de contato após 5 tentativas de envio falhas';
|
|
|
|
@override
|
|
String get appSettings_pathsWillBeCleared =>
|
|
'Os caminhos serão limpos após 5 tentativas falhas.';
|
|
|
|
@override
|
|
String get appSettings_pathsWillNotBeCleared =>
|
|
'Os caminhos não serão limpos automaticamente.';
|
|
|
|
@override
|
|
String get appSettings_autoRouteRotation => 'Rotação de Rota Automática';
|
|
|
|
@override
|
|
String get appSettings_autoRouteRotationSubtitle =>
|
|
'Alternar entre os melhores caminhos e o modo inundação';
|
|
|
|
@override
|
|
String get appSettings_autoRouteRotationEnabled =>
|
|
'Rotação de roteamento automático habilitada';
|
|
|
|
@override
|
|
String get appSettings_autoRouteRotationDisabled =>
|
|
'Rotação de roteamento automático desativada';
|
|
|
|
@override
|
|
String get appSettings_maxRouteWeight => 'Peso Máximo da Rota';
|
|
|
|
@override
|
|
String get appSettings_maxRouteWeightSubtitle =>
|
|
'Peso máximo que um determinado percurso pode acumular com entregas bem-sucedidas.';
|
|
|
|
@override
|
|
String get appSettings_initialRouteWeight => 'Peso Inicial da Rota';
|
|
|
|
@override
|
|
String get appSettings_initialRouteWeightSubtitle =>
|
|
'Peso inicial para novos caminhos descobertos';
|
|
|
|
@override
|
|
String get appSettings_routeWeightSuccessIncrement =>
|
|
'Aumento do peso para indicar sucesso';
|
|
|
|
@override
|
|
String get appSettings_routeWeightSuccessIncrementSubtitle =>
|
|
'Peso adicionado a um caminho após a entrega bem-sucedida.';
|
|
|
|
@override
|
|
String get appSettings_routeWeightFailureDecrement =>
|
|
'Redução do peso da falha';
|
|
|
|
@override
|
|
String get appSettings_routeWeightFailureDecrementSubtitle =>
|
|
'Peso removido de um caminho após uma tentativa de entrega malsucedida.';
|
|
|
|
@override
|
|
String get appSettings_maxMessageRetries =>
|
|
'Número máximo de tentativas de envio de mensagens';
|
|
|
|
@override
|
|
String get appSettings_maxMessageRetriesSubtitle =>
|
|
'Número de tentativas de reenvio antes de classificar uma mensagem como falha.';
|
|
|
|
@override
|
|
String path_routeWeight(String weight, String max) {
|
|
return '$weight/$max';
|
|
}
|
|
|
|
@override
|
|
String get appSettings_battery => 'Bateria';
|
|
|
|
@override
|
|
String get appSettings_batteryChemistry => 'Química da Bateria';
|
|
|
|
@override
|
|
String appSettings_batteryChemistryPerDevice(String deviceName) {
|
|
return 'Definir por dispositivo ($deviceName)';
|
|
}
|
|
|
|
@override
|
|
String get appSettings_batteryChemistryConnectFirst =>
|
|
'Conecte-se a um dispositivo para escolher';
|
|
|
|
@override
|
|
String get appSettings_batteryNmc => '18650 NMC (3,0-4,2V)';
|
|
|
|
@override
|
|
String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6-3,65V)';
|
|
|
|
@override
|
|
String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)';
|
|
|
|
@override
|
|
String get appSettings_mapDisplay => 'Exibição do Mapa';
|
|
|
|
@override
|
|
String get appSettings_showRepeaters => 'Mostrar Repetidores';
|
|
|
|
@override
|
|
String get appSettings_showRepeatersSubtitle =>
|
|
'Exibir nós de repetidor no mapa';
|
|
|
|
@override
|
|
String get appSettings_showChatNodes => 'Mostrar Nós de Chat';
|
|
|
|
@override
|
|
String get appSettings_showChatNodesSubtitle => 'Exibir nós de chat no mapa';
|
|
|
|
@override
|
|
String get appSettings_showOtherNodes => 'Mostrar Outros Nós';
|
|
|
|
@override
|
|
String get appSettings_showOtherNodesSubtitle =>
|
|
'Exibir outros tipos de nó no mapa';
|
|
|
|
@override
|
|
String get appSettings_timeFilter => 'Filtro de Tempo';
|
|
|
|
@override
|
|
String get appSettings_timeFilterShowAll => 'Mostrar todos os nós';
|
|
|
|
@override
|
|
String appSettings_timeFilterShowLast(int hours) {
|
|
return 'Mostrar nós das últimas $hours horas';
|
|
}
|
|
|
|
@override
|
|
String get appSettings_mapTimeFilter => 'Filtro de Tempo do Mapa';
|
|
|
|
@override
|
|
String get appSettings_showNodesDiscoveredWithin =>
|
|
'Mostrar nós descobertos dentro de:';
|
|
|
|
@override
|
|
String get appSettings_allTime => 'Todos os tempos';
|
|
|
|
@override
|
|
String get appSettings_lastHour => 'Última hora';
|
|
|
|
@override
|
|
String get appSettings_last6Hours => 'Últimos 6 horas';
|
|
|
|
@override
|
|
String get appSettings_last24Hours => 'Últimas 24 horas';
|
|
|
|
@override
|
|
String get appSettings_lastWeek => 'Da última semana';
|
|
|
|
@override
|
|
String get appSettings_offlineMapCache => 'Cache de Mapa Offline';
|
|
|
|
@override
|
|
String get appSettings_unitsTitle => 'Unidades';
|
|
|
|
@override
|
|
String get appSettings_unitsMetric => 'Métrico (m/km)';
|
|
|
|
@override
|
|
String get appSettings_unitsImperial => 'Imperial (ft/mi)';
|
|
|
|
@override
|
|
String get appSettings_noAreaSelected => 'Nenhuma área selecionada';
|
|
|
|
@override
|
|
String appSettings_areaSelectedZoom(int minZoom, int maxZoom) {
|
|
return 'Área selecionada (zoom $minZoom-$maxZoom)';
|
|
}
|
|
|
|
@override
|
|
String get appSettings_debugCard => 'Depurar';
|
|
|
|
@override
|
|
String get appSettings_appDebugLogging =>
|
|
'Rastreamento de Depuração do Aplicativo';
|
|
|
|
@override
|
|
String get appSettings_appDebugLoggingSubtitle =>
|
|
'Registrar mensagens de depuração do aplicativo Log para solucionar problemas';
|
|
|
|
@override
|
|
String get appSettings_appDebugLoggingEnabled =>
|
|
'Log de depuração do aplicativo habilitado';
|
|
|
|
@override
|
|
String get appSettings_appDebugLoggingDisabled =>
|
|
'O registro de depuração do aplicativo está desativado.';
|
|
|
|
@override
|
|
String get contacts_title => 'Contactos';
|
|
|
|
@override
|
|
String get contacts_noContacts => 'Ainda não existem contatos.';
|
|
|
|
@override
|
|
String get contacts_contactsWillAppear =>
|
|
'Os contatos serão exibidos quando os dispositivos anunciarem.';
|
|
|
|
@override
|
|
String get contacts_unread => 'Não lido';
|
|
|
|
@override
|
|
String get contacts_searchContactsNoNumber => 'Pesquisar Contatos...';
|
|
|
|
@override
|
|
String contacts_searchContacts(int number, String str) {
|
|
return 'Pesquisar contatos...';
|
|
}
|
|
|
|
@override
|
|
String contacts_searchFavorites(int number, String str) {
|
|
return 'Pesquisar $number$str Favoritos...';
|
|
}
|
|
|
|
@override
|
|
String contacts_searchUsers(int number, String str) {
|
|
return 'Pesquisar $number$str Usuários...';
|
|
}
|
|
|
|
@override
|
|
String contacts_searchRepeaters(int number, String str) {
|
|
return 'Pesquisar $number$str Repetidores...';
|
|
}
|
|
|
|
@override
|
|
String contacts_searchRoomServers(int number, String str) {
|
|
return 'Pesquisar $number$str servidores de sala...';
|
|
}
|
|
|
|
@override
|
|
String get contacts_noUnreadContacts => 'Sem contatos não lidos.';
|
|
|
|
@override
|
|
String get contacts_noContactsFound =>
|
|
'Não foram encontrados contatos ou grupos.';
|
|
|
|
@override
|
|
String get contacts_deleteContact => 'Excluir Contato';
|
|
|
|
@override
|
|
String contacts_removeConfirm(String contactName) {
|
|
return 'Remover $contactName dos contatos?';
|
|
}
|
|
|
|
@override
|
|
String get contacts_manageRepeater => 'Gerenciar Repetidor';
|
|
|
|
@override
|
|
String get contacts_manageRoom => 'Gerenciar Servidor de Sala';
|
|
|
|
@override
|
|
String get contacts_roomLogin => 'Login no Quarto';
|
|
|
|
@override
|
|
String get contacts_openChat => 'Abrir Chat';
|
|
|
|
@override
|
|
String get contacts_editGroup => 'Editar Grupo';
|
|
|
|
@override
|
|
String get contacts_deleteGroup => 'Excluir Grupo';
|
|
|
|
@override
|
|
String contacts_deleteGroupConfirm(String groupName) {
|
|
return 'Remover $groupName?';
|
|
}
|
|
|
|
@override
|
|
String get contacts_newGroup => 'Novo Grupo';
|
|
|
|
@override
|
|
String get contacts_groupName => 'Nome do grupo';
|
|
|
|
@override
|
|
String get contacts_groupNameRequired => 'O nome do grupo é obrigatório.';
|
|
|
|
@override
|
|
String get contacts_groupNameReserved => 'Este nome de grupo está reservado';
|
|
|
|
@override
|
|
String contacts_groupAlreadyExists(String name) {
|
|
return 'O grupo \"$name\" já existe';
|
|
}
|
|
|
|
@override
|
|
String get contacts_filterContacts => 'Filtrar contatos...';
|
|
|
|
@override
|
|
String get contacts_noContactsMatchFilter =>
|
|
'Não existem contatos que correspondam ao seu filtro';
|
|
|
|
@override
|
|
String get contacts_noMembers => 'Nenhum membro';
|
|
|
|
@override
|
|
String get contacts_lastSeenNow => 'Última vez que foi visto agora';
|
|
|
|
@override
|
|
String contacts_lastSeenMinsAgo(int minutes) {
|
|
return 'Última vez que foi visto $minutes minutos atrás';
|
|
}
|
|
|
|
@override
|
|
String get contacts_lastSeenHourAgo => 'Última vez que foi visto há 1 hora.';
|
|
|
|
@override
|
|
String contacts_lastSeenHoursAgo(int hours) {
|
|
return 'Última vez visto $hours horas atrás';
|
|
}
|
|
|
|
@override
|
|
String get contacts_lastSeenDayAgo => 'Última vez que foi visto 1 dia atrás';
|
|
|
|
@override
|
|
String contacts_lastSeenDaysAgo(int days) {
|
|
return 'Última vez visto $days dias atrás';
|
|
}
|
|
|
|
@override
|
|
String get contact_info => 'Informações de Contato';
|
|
|
|
@override
|
|
String get contact_settings => 'Configurações de Contato';
|
|
|
|
@override
|
|
String get contact_telemetry => 'Telemetria';
|
|
|
|
@override
|
|
String get contact_lastSeen => 'Visto pela última vez';
|
|
|
|
@override
|
|
String get contact_clearChat => 'Limpar Chat';
|
|
|
|
@override
|
|
String get contact_teleBase => 'Base de Telemetria';
|
|
|
|
@override
|
|
String get contact_teleBaseSubtitle =>
|
|
'Permitir compartilhamento do nível da bateria e telemetria básica';
|
|
|
|
@override
|
|
String get contact_teleLoc => 'Localização de Telemetria';
|
|
|
|
@override
|
|
String get contact_teleLocSubtitle =>
|
|
'Permitir compartilhamento de dados de localização';
|
|
|
|
@override
|
|
String get contact_teleEnv => 'Ambiente de Telemetria';
|
|
|
|
@override
|
|
String get contact_teleEnvSubtitle =>
|
|
'Permitir compartilhamento de dados do sensor de ambiente';
|
|
|
|
@override
|
|
String get channels_title => 'Canais';
|
|
|
|
@override
|
|
String get channels_noChannelsConfigured => 'Nenhuma canalização configurada';
|
|
|
|
@override
|
|
String get channels_addPublicChannel => 'Adicionar Canal Público';
|
|
|
|
@override
|
|
String get channels_searchChannels => 'Pesquisar canais...';
|
|
|
|
@override
|
|
String get channels_noChannelsFound => 'Nenhum canal encontrado';
|
|
|
|
@override
|
|
String channels_channelIndex(int index) {
|
|
return 'Canal $index';
|
|
}
|
|
|
|
@override
|
|
String get channels_hashtagChannel => 'Canal com hashtag';
|
|
|
|
@override
|
|
String get channels_public => 'Público';
|
|
|
|
@override
|
|
String get channels_private => 'Privado';
|
|
|
|
@override
|
|
String get channels_publicChannel => 'Canal público';
|
|
|
|
@override
|
|
String get channels_privateChannel => 'Canal privado';
|
|
|
|
@override
|
|
String get channels_editChannel => 'Editar canal';
|
|
|
|
@override
|
|
String get channels_muteChannel => 'Silenciar canal';
|
|
|
|
@override
|
|
String get channels_unmuteChannel => 'Ativar canal';
|
|
|
|
@override
|
|
String get channels_deleteChannel => 'Excluir canal';
|
|
|
|
@override
|
|
String channels_deleteChannelConfirm(String name) {
|
|
return 'Excluir \"$name\"? Não pode ser desfeito.';
|
|
}
|
|
|
|
@override
|
|
String channels_channelDeleteFailed(String name) {
|
|
return 'Falha ao excluir o canal \"$name\"';
|
|
}
|
|
|
|
@override
|
|
String channels_channelDeleted(String name) {
|
|
return 'Canal \"$name\" excluído';
|
|
}
|
|
|
|
@override
|
|
String get channels_addChannel => 'Adicionar Canal';
|
|
|
|
@override
|
|
String get channels_channelIndexLabel => 'Índice do Canal';
|
|
|
|
@override
|
|
String get channels_channelName => 'Nome do Canal';
|
|
|
|
@override
|
|
String get channels_usePublicChannel => 'Usar Canal Público';
|
|
|
|
@override
|
|
String get channels_standardPublicPsk => 'PSK público padrão';
|
|
|
|
@override
|
|
String get channels_pskHex => 'PSK (Hex)';
|
|
|
|
@override
|
|
String get channels_generateRandomPsk => 'Gerar PSK aleatório';
|
|
|
|
@override
|
|
String get channels_enterChannelName => 'Por favor, insira um nome de canal';
|
|
|
|
@override
|
|
String get channels_pskMustBe32Hex =>
|
|
'O PSK deve ter 32 caracteres hexadecimais.';
|
|
|
|
@override
|
|
String channels_channelAdded(String name) {
|
|
return 'Canal \"$name\" adicionado';
|
|
}
|
|
|
|
@override
|
|
String channels_editChannelTitle(int index) {
|
|
return 'Editar Canal $index';
|
|
}
|
|
|
|
@override
|
|
String get channels_smazCompression => 'Compressão SMAZ';
|
|
|
|
@override
|
|
String channels_channelUpdated(String name) {
|
|
return 'Canal \"$name\" atualizado';
|
|
}
|
|
|
|
@override
|
|
String get channels_publicChannelAdded => 'Canal público adicionado';
|
|
|
|
@override
|
|
String get channels_sortBy => 'Ordenar por';
|
|
|
|
@override
|
|
String get channels_sortManual => 'Manual';
|
|
|
|
@override
|
|
String get channels_sortAZ => 'A-Z';
|
|
|
|
@override
|
|
String get channels_sortLatestMessages => 'Últimas mensagens';
|
|
|
|
@override
|
|
String get channels_sortUnread => 'Não lido';
|
|
|
|
@override
|
|
String get channels_createPrivateChannel => 'Criar um Canal Privado';
|
|
|
|
@override
|
|
String get channels_createPrivateChannelDesc =>
|
|
'Protegido com uma chave secreta.';
|
|
|
|
@override
|
|
String get channels_joinPrivateChannel => 'Junte-se a um Canal Privado';
|
|
|
|
@override
|
|
String get channels_joinPrivateChannelDesc =>
|
|
'Inserir uma chave secreta manualmente.';
|
|
|
|
@override
|
|
String get channels_joinPublicChannel => 'Junte-se ao Canal Público';
|
|
|
|
@override
|
|
String get channels_joinPublicChannelDesc =>
|
|
'Qualquer pessoa pode entrar neste canal.';
|
|
|
|
@override
|
|
String get channels_joinHashtagChannel => 'Junte-se a um Canal com Hashtag';
|
|
|
|
@override
|
|
String get channels_joinHashtagChannelDesc =>
|
|
'Qualquer pessoa pode participar de canais com hashtag.';
|
|
|
|
@override
|
|
String get channels_scanQrCode => 'Digitalizar um Código QR';
|
|
|
|
@override
|
|
String get channels_scanQrCodeComingSoon => 'Em breve';
|
|
|
|
@override
|
|
String get channels_enterHashtag => 'Insira hashtag';
|
|
|
|
@override
|
|
String get channels_hashtagHint => 'ex. #equipe';
|
|
|
|
@override
|
|
String get chat_noMessages => 'Ainda não existem mensagens.';
|
|
|
|
@override
|
|
String get chat_sendMessageToStart => 'Enviar uma mensagem para começar';
|
|
|
|
@override
|
|
String get chat_originalMessageNotFound => 'Mensagem original não encontrada';
|
|
|
|
@override
|
|
String chat_replyingTo(String name) {
|
|
return 'Responder a $name';
|
|
}
|
|
|
|
@override
|
|
String chat_replyTo(String name) {
|
|
return 'Responder a $name';
|
|
}
|
|
|
|
@override
|
|
String get chat_location => 'Localização';
|
|
|
|
@override
|
|
String chat_sendMessageTo(String contactName) {
|
|
return 'Enviar uma mensagem para $contactName';
|
|
}
|
|
|
|
@override
|
|
String get chat_typeMessage => 'Digite uma mensagem...';
|
|
|
|
@override
|
|
String chat_messageTooLong(int maxBytes) {
|
|
return 'Mensagem muito longa (máximo $maxBytes bytes).';
|
|
}
|
|
|
|
@override
|
|
String get chat_messageCopied => 'Mensagem copiada';
|
|
|
|
@override
|
|
String get chat_messageDeleted => 'Mensagem excluída';
|
|
|
|
@override
|
|
String get chat_retryingMessage => 'Tentando novamente';
|
|
|
|
@override
|
|
String chat_retryCount(int current, int max) {
|
|
return 'Tentar $current/$max';
|
|
}
|
|
|
|
@override
|
|
String get chat_sendGif => 'Enviar GIF';
|
|
|
|
@override
|
|
String get chat_reply => 'Responder';
|
|
|
|
@override
|
|
String get chat_addReaction => 'Adicionar Reação';
|
|
|
|
@override
|
|
String get chat_me => 'Eu';
|
|
|
|
@override
|
|
String get emojiCategorySmileys => 'Emojis';
|
|
|
|
@override
|
|
String get emojiCategoryGestures => 'Gestos';
|
|
|
|
@override
|
|
String get emojiCategoryHearts => 'Corações';
|
|
|
|
@override
|
|
String get emojiCategoryObjects => 'Objetos';
|
|
|
|
@override
|
|
String get gifPicker_title => 'Escolher um GIF';
|
|
|
|
@override
|
|
String get gifPicker_searchHint => 'Pesquisar GIFs...';
|
|
|
|
@override
|
|
String get gifPicker_poweredBy => 'Desenvolvido por GIPHY';
|
|
|
|
@override
|
|
String get gifPicker_noGifsFound => 'Nenhum GIF encontrado';
|
|
|
|
@override
|
|
String get gifPicker_failedLoad => 'Não foi possível carregar os GIFs';
|
|
|
|
@override
|
|
String get gifPicker_failedSearch => 'Falha na pesquisa de GIFs';
|
|
|
|
@override
|
|
String get gifPicker_noInternet => 'Sem conexão com a internet';
|
|
|
|
@override
|
|
String get debugLog_appTitle => 'Log de Depuração do Aplicativo';
|
|
|
|
@override
|
|
String get debugLog_bleTitle => 'Log de Depuração BLE';
|
|
|
|
@override
|
|
String get debugLog_copyLog => 'Copiar log';
|
|
|
|
@override
|
|
String get debugLog_clearLog => 'Limpar log';
|
|
|
|
@override
|
|
String get debugLog_copied => 'Log de depuração copiado';
|
|
|
|
@override
|
|
String get debugLog_bleCopied => 'Log BLE copiado';
|
|
|
|
@override
|
|
String get debugLog_noEntries => 'Ainda não existem logs de depuração.';
|
|
|
|
@override
|
|
String get debugLog_enableInSettings =>
|
|
'Ativar o log de depuração do aplicativo nas configurações';
|
|
|
|
@override
|
|
String get debugLog_frames => 'Estruturas';
|
|
|
|
@override
|
|
String get debugLog_rawLogRx => 'Log Raw-RX';
|
|
|
|
@override
|
|
String get debugLog_noBleActivity => 'Ainda não há atividade BLE.';
|
|
|
|
@override
|
|
String debugFrame_length(int count) {
|
|
return 'Comprimento do Quadro: $count bytes';
|
|
}
|
|
|
|
@override
|
|
String debugFrame_command(String value) {
|
|
return 'Comando: 0x$value';
|
|
}
|
|
|
|
@override
|
|
String get debugFrame_textMessageHeader => 'Mensagem de Texto:';
|
|
|
|
@override
|
|
String debugFrame_destinationPubKey(String pubKey) {
|
|
return '- Destino PubKey: $pubKey';
|
|
}
|
|
|
|
@override
|
|
String debugFrame_timestamp(int timestamp) {
|
|
return '- Timestamp: $timestamp';
|
|
}
|
|
|
|
@override
|
|
String debugFrame_flags(String value) {
|
|
return '- Bandeiras: 0x$value';
|
|
}
|
|
|
|
@override
|
|
String debugFrame_textType(int type, String label) {
|
|
return '- Tipo de Texto: $type ($label)';
|
|
}
|
|
|
|
@override
|
|
String get debugFrame_textTypeCli => 'CLI';
|
|
|
|
@override
|
|
String get debugFrame_textTypePlain => 'Simples';
|
|
|
|
@override
|
|
String debugFrame_text(String text) {
|
|
return '- Texto: \"$text\"';
|
|
}
|
|
|
|
@override
|
|
String get debugFrame_hexDump => 'Espaço Hexadecimal:';
|
|
|
|
@override
|
|
String get chat_pathManagement => 'Gerenciamento de Caminhos';
|
|
|
|
@override
|
|
String get chat_ShowAllPaths => 'Mostrar todos os caminhos';
|
|
|
|
@override
|
|
String get chat_routingMode => 'Modo de roteamento';
|
|
|
|
@override
|
|
String get chat_autoUseSavedPath => 'Auto (usar caminho salvo)';
|
|
|
|
@override
|
|
String get chat_forceFloodMode => 'Modo de Inundação Forçado';
|
|
|
|
@override
|
|
String get chat_recentAckPaths => 'Rotas de ACK Recentes (toque para usar):';
|
|
|
|
@override
|
|
String get chat_pathHistoryFull =>
|
|
'O histórico está cheio. Remova entradas para adicionar novas.';
|
|
|
|
@override
|
|
String get chat_hopSingular => 'pule';
|
|
|
|
@override
|
|
String get chat_hopPlural => 'salta';
|
|
|
|
@override
|
|
String chat_hopsCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'hops',
|
|
one: 'hop',
|
|
);
|
|
return '$count $_temp0';
|
|
}
|
|
|
|
@override
|
|
String get chat_successes => 'Sucessos';
|
|
|
|
@override
|
|
String get chat_removePath => 'Remover caminho';
|
|
|
|
@override
|
|
String get chat_noPathHistoryYet =>
|
|
'Ainda não há histórico de caminhos.\nEnvie uma mensagem para descobrir caminhos.';
|
|
|
|
@override
|
|
String get chat_pathActions => 'Ações do Caminho:';
|
|
|
|
@override
|
|
String get chat_setCustomPath => 'Definir Caminho Personalizado';
|
|
|
|
@override
|
|
String get chat_setCustomPathSubtitle =>
|
|
'Especifique manualmente o caminho de roteamento';
|
|
|
|
@override
|
|
String get chat_clearPath => 'Limpar Caminho';
|
|
|
|
@override
|
|
String get chat_clearPathSubtitle =>
|
|
'Forçar a descoberta na próxima transmissão';
|
|
|
|
@override
|
|
String get chat_pathCleared =>
|
|
'Caminho limpo. A próxima mensagem redescobrirá a rota.';
|
|
|
|
@override
|
|
String get chat_floodModeSubtitle =>
|
|
'Use a chave de roteamento na barra de ferramentas';
|
|
|
|
@override
|
|
String get chat_floodModeEnabled =>
|
|
'Modo de inundação ativado. Desative-o novamente através do ícone de roteamento na barra de ferramentas.';
|
|
|
|
@override
|
|
String get chat_fullPath => 'Caminho Completo';
|
|
|
|
@override
|
|
String get chat_pathDetailsNotAvailable =>
|
|
'Os detalhes do caminho ainda não estão disponíveis. Tente enviar uma mensagem para atualizar.';
|
|
|
|
@override
|
|
String chat_pathSetHops(int hopCount, String status) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
hopCount,
|
|
locale: localeName,
|
|
other: 'hops',
|
|
one: 'hop',
|
|
);
|
|
return 'Caminho definido: $hopCount $_temp0 - $status';
|
|
}
|
|
|
|
@override
|
|
String get chat_pathSavedLocally =>
|
|
'Salvo localmente. Conectar para sincronizar.';
|
|
|
|
@override
|
|
String get chat_pathDeviceConfirmed => 'Dispositivo confirmado.';
|
|
|
|
@override
|
|
String get chat_pathDeviceNotConfirmed => 'Dispositivo ainda não confirmado.';
|
|
|
|
@override
|
|
String get chat_type => 'Digite';
|
|
|
|
@override
|
|
String get chat_path => 'Caminho';
|
|
|
|
@override
|
|
String get chat_publicKey => 'Chave Pública';
|
|
|
|
@override
|
|
String get chat_compressOutgoingMessages => 'Comprimir mensagens enviadas';
|
|
|
|
@override
|
|
String get chat_floodForced => 'Inundação (forçada)';
|
|
|
|
@override
|
|
String get chat_directForced => 'Direto (forçado)';
|
|
|
|
@override
|
|
String chat_hopsForced(int count) {
|
|
return '$count saltos (forçado)';
|
|
}
|
|
|
|
@override
|
|
String get chat_floodAuto => 'Inundação (automática)';
|
|
|
|
@override
|
|
String get chat_direct => 'Salvar';
|
|
|
|
@override
|
|
String get chat_poiShared => 'Ponto de Interesse Compartilhado';
|
|
|
|
@override
|
|
String chat_unread(int count) {
|
|
return 'Não lido: $count';
|
|
}
|
|
|
|
@override
|
|
String get chat_openLink => 'Abrir link?';
|
|
|
|
@override
|
|
String get chat_openLinkConfirmation =>
|
|
'Deseja abrir este link no seu navegador?';
|
|
|
|
@override
|
|
String get chat_open => 'Abrir';
|
|
|
|
@override
|
|
String chat_couldNotOpenLink(String url) {
|
|
return 'Não foi possível abrir o link: $url';
|
|
}
|
|
|
|
@override
|
|
String get chat_invalidLink => 'Formato de link inválido';
|
|
|
|
@override
|
|
String get map_title => 'Mapa de Nós';
|
|
|
|
@override
|
|
String get map_lineOfSight => 'Linha de visão';
|
|
|
|
@override
|
|
String get map_losScreenTitle => 'Linha de visão';
|
|
|
|
@override
|
|
String get map_noNodesWithLocation =>
|
|
'Não existem nós com dados de localização.';
|
|
|
|
@override
|
|
String get map_nodesNeedGps =>
|
|
'Os nós precisam partilhar as suas coordenadas GPS\npara aparecerem no mapa';
|
|
|
|
@override
|
|
String map_nodesCount(int count) {
|
|
return 'Nós: $count';
|
|
}
|
|
|
|
@override
|
|
String map_pinsCount(int count) {
|
|
return 'Pinos: $count';
|
|
}
|
|
|
|
@override
|
|
String get map_chat => 'Chat';
|
|
|
|
@override
|
|
String get map_repeater => 'Repetidor';
|
|
|
|
@override
|
|
String get map_room => 'Quarto';
|
|
|
|
@override
|
|
String get map_sensor => 'Sensor';
|
|
|
|
@override
|
|
String get map_pinDm => 'Gatilho (DM)';
|
|
|
|
@override
|
|
String get map_pinPrivate => 'Bloquear (Privado)';
|
|
|
|
@override
|
|
String get map_pinPublic => 'Pin (Público)';
|
|
|
|
@override
|
|
String get map_lastSeen => 'Última Visão';
|
|
|
|
@override
|
|
String get map_disconnectConfirm =>
|
|
'Tem certeza de que deseja desconectar deste dispositivo?';
|
|
|
|
@override
|
|
String get map_from => 'De';
|
|
|
|
@override
|
|
String get map_source => 'Fonte';
|
|
|
|
@override
|
|
String get map_flags => 'Bandeiras';
|
|
|
|
@override
|
|
String get map_shareMarkerHere => 'Compartilhar marcador aqui';
|
|
|
|
@override
|
|
String get map_setAsMyLocation => 'Defina minha localização';
|
|
|
|
@override
|
|
String get map_pinLabel => 'Rótulo de marcador';
|
|
|
|
@override
|
|
String get map_label => 'Rótulo';
|
|
|
|
@override
|
|
String get map_pointOfInterest => 'Ponto de interesse';
|
|
|
|
@override
|
|
String get map_sendToContact => 'Enviar para o contato';
|
|
|
|
@override
|
|
String get map_sendToChannel => 'Enviar para o canal';
|
|
|
|
@override
|
|
String get map_noChannelsAvailable => 'Não existem canais disponíveis.';
|
|
|
|
@override
|
|
String get map_publicLocationShare => 'Compartilhar local público';
|
|
|
|
@override
|
|
String map_publicLocationShareConfirm(String channelLabel) {
|
|
return 'Você está prestes a compartilhar uma localização em $channelLabel. Este canal é público e qualquer pessoa com a PSK pode visualizá-lo.';
|
|
}
|
|
|
|
@override
|
|
String get map_connectToShareMarkers =>
|
|
'Conecte-se a um dispositivo para compartilhar marcadores';
|
|
|
|
@override
|
|
String get map_filterNodes => 'Filtrar Nós';
|
|
|
|
@override
|
|
String get map_nodeTypes => 'Tipos de Nó';
|
|
|
|
@override
|
|
String get map_chatNodes => 'Nós de Chat';
|
|
|
|
@override
|
|
String get map_repeaters => 'Repetidores';
|
|
|
|
@override
|
|
String get map_otherNodes => 'Outros Nós';
|
|
|
|
@override
|
|
String get map_showOverlaps => 'Sobreposições da Chave Repeater';
|
|
|
|
@override
|
|
String get map_keyPrefix => 'Prefixo Chave';
|
|
|
|
@override
|
|
String get map_filterByKeyPrefix => 'Filtrar por prefixo-chave';
|
|
|
|
@override
|
|
String get map_publicKeyPrefix => 'Prefixo de chave pública';
|
|
|
|
@override
|
|
String get map_markers => 'Marcadores';
|
|
|
|
@override
|
|
String get map_showSharedMarkers => 'Mostrar marcadores compartilhados';
|
|
|
|
@override
|
|
String get map_showGuessedLocations =>
|
|
'Mostrar as localizações dos nós estimados';
|
|
|
|
@override
|
|
String get map_showDiscoveryContacts => 'Mostrar Contatos de Descoberta';
|
|
|
|
@override
|
|
String get map_guessedLocation => 'Localização estimada';
|
|
|
|
@override
|
|
String get map_lastSeenTime => 'Último Tempo de Visualização';
|
|
|
|
@override
|
|
String get map_sharedPin => 'Pin compartilhado';
|
|
|
|
@override
|
|
String get map_joinRoom => 'Junte-se à Sala';
|
|
|
|
@override
|
|
String get map_manageRepeater => 'Gerenciar Repetidor';
|
|
|
|
@override
|
|
String get map_tapToAdd => 'Toque nos nós para adicioná-los ao caminho.';
|
|
|
|
@override
|
|
String get map_runTrace => 'Executar Traçado de Caminho';
|
|
|
|
@override
|
|
String get map_runTraceWithReturnPath => 'Retornar ao mesmo caminho.';
|
|
|
|
@override
|
|
String get map_removeLast => 'Remover Último';
|
|
|
|
@override
|
|
String get map_pathTraceCancelled => 'Rastreamento de caminho cancelado.';
|
|
|
|
@override
|
|
String get mapCache_title => 'Cache de Mapa Offline';
|
|
|
|
@override
|
|
String get mapCache_selectAreaFirst =>
|
|
'Selecione uma área para armazenar em cache primeiro';
|
|
|
|
@override
|
|
String get mapCache_noTilesToDownload =>
|
|
'Não há tiles para baixar para esta área.';
|
|
|
|
@override
|
|
String get mapCache_downloadTilesTitle => 'Baixar tiles';
|
|
|
|
@override
|
|
String mapCache_downloadTilesPrompt(int count) {
|
|
return 'Baixar $count tiles para uso offline?';
|
|
}
|
|
|
|
@override
|
|
String get mapCache_downloadAction => 'Baixar';
|
|
|
|
@override
|
|
String mapCache_cachedTiles(int count) {
|
|
return 'Armazenados $count azulejos';
|
|
}
|
|
|
|
@override
|
|
String mapCache_cachedTilesWithFailed(int downloaded, int failed) {
|
|
return 'Tiles em cache ($downloaded) ($failed falhou)';
|
|
}
|
|
|
|
@override
|
|
String get mapCache_clearOfflineCacheTitle => 'Limpar cache offline';
|
|
|
|
@override
|
|
String get mapCache_clearOfflineCachePrompt =>
|
|
'Remover todas as telhas de mapa em cache?';
|
|
|
|
@override
|
|
String get mapCache_offlineCacheCleared => 'Cache offline limpa';
|
|
|
|
@override
|
|
String get mapCache_noAreaSelected => 'Nenhuma área selecionada';
|
|
|
|
@override
|
|
String get mapCache_cacheArea => 'Área de Cache';
|
|
|
|
@override
|
|
String get mapCache_useCurrentView => 'Usar a Visualização Atual';
|
|
|
|
@override
|
|
String get mapCache_zoomRange => 'Intervalo de Zoom';
|
|
|
|
@override
|
|
String mapCache_estimatedTiles(int count) {
|
|
return 'Estimados azulejos: $count';
|
|
}
|
|
|
|
@override
|
|
String mapCache_downloadedTiles(int completed, int total) {
|
|
return 'Baixado $completed / $total';
|
|
}
|
|
|
|
@override
|
|
String get mapCache_downloadTilesButton => 'Baixar Tiles';
|
|
|
|
@override
|
|
String get mapCache_clearCacheButton => 'Limpar Cache';
|
|
|
|
@override
|
|
String mapCache_failedDownloads(int count) {
|
|
return 'Downloads falhas: $count';
|
|
}
|
|
|
|
@override
|
|
String mapCache_boundsLabel(
|
|
String north,
|
|
String south,
|
|
String east,
|
|
String west,
|
|
) {
|
|
return 'N $north, S $south, E $east, W $west';
|
|
}
|
|
|
|
@override
|
|
String get time_justNow => 'Agora';
|
|
|
|
@override
|
|
String time_minutesAgo(int minutes) {
|
|
return '$minutes minutos atrás';
|
|
}
|
|
|
|
@override
|
|
String time_hoursAgo(int hours) {
|
|
return '${hours}h atrás';
|
|
}
|
|
|
|
@override
|
|
String time_daysAgo(int days) {
|
|
return '$days dias atrás';
|
|
}
|
|
|
|
@override
|
|
String get time_hour => 'hora';
|
|
|
|
@override
|
|
String get time_hours => 'horas';
|
|
|
|
@override
|
|
String get time_day => 'dia';
|
|
|
|
@override
|
|
String get time_days => 'dias';
|
|
|
|
@override
|
|
String get time_week => 'semana';
|
|
|
|
@override
|
|
String get time_weeks => 'semanas';
|
|
|
|
@override
|
|
String get time_month => 'mês';
|
|
|
|
@override
|
|
String get time_months => 'meses';
|
|
|
|
@override
|
|
String get time_minutes => 'minutos';
|
|
|
|
@override
|
|
String get time_allTime => 'Todos os tempos';
|
|
|
|
@override
|
|
String get dialog_disconnect => 'Desconectar';
|
|
|
|
@override
|
|
String get dialog_disconnectConfirm =>
|
|
'Tem certeza de que deseja desconectar deste dispositivo?';
|
|
|
|
@override
|
|
String get login_repeaterLogin => 'Login ao Repetidor';
|
|
|
|
@override
|
|
String get login_roomLogin => 'Login de Sala';
|
|
|
|
@override
|
|
String get login_password => 'Senha';
|
|
|
|
@override
|
|
String get login_enterPassword => 'Insira a senha';
|
|
|
|
@override
|
|
String get login_savePassword => 'Salvar senha';
|
|
|
|
@override
|
|
String get login_savePasswordSubtitle =>
|
|
'A senha será armazenada com segurança neste dispositivo.';
|
|
|
|
@override
|
|
String get login_repeaterDescription =>
|
|
'Insira a senha do repetidor para acessar as configurações e o status.';
|
|
|
|
@override
|
|
String get login_roomDescription =>
|
|
'Insira a senha da sala para acessar as configurações e o status.';
|
|
|
|
@override
|
|
String get login_routing => 'Rotas';
|
|
|
|
@override
|
|
String get login_routingMode => 'Modo de roteamento';
|
|
|
|
@override
|
|
String get login_autoUseSavedPath => 'Auto (usar caminho salvo)';
|
|
|
|
@override
|
|
String get login_forceFloodMode => 'Modo de Inundação Forçado';
|
|
|
|
@override
|
|
String get login_managePaths => 'Gerenciar Caminhos';
|
|
|
|
@override
|
|
String get login_login => 'Login';
|
|
|
|
@override
|
|
String login_attempt(int current, int max) {
|
|
return 'Tentar $current/$max';
|
|
}
|
|
|
|
@override
|
|
String login_failed(String error) {
|
|
return 'Login falhou: $error';
|
|
}
|
|
|
|
@override
|
|
String get login_failedMessage =>
|
|
'Falha no login. A senha está incorreta ou o repetidor está inacessível.';
|
|
|
|
@override
|
|
String get common_reload => 'Recarregar';
|
|
|
|
@override
|
|
String get common_clear => 'Limpar';
|
|
|
|
@override
|
|
String path_currentPath(String path) {
|
|
return 'Caminho atual: $path';
|
|
}
|
|
|
|
@override
|
|
String path_usingHopsPath(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'hops',
|
|
one: 'hop',
|
|
);
|
|
return 'Usando $count $_temp0 caminho';
|
|
}
|
|
|
|
@override
|
|
String get path_enterCustomPath => 'Insira Caminho Personalizado';
|
|
|
|
@override
|
|
String get path_currentPathLabel => 'Caminho atual';
|
|
|
|
@override
|
|
String get path_hexPrefixInstructions =>
|
|
'Insira os prefixos hexadecimais de 2 caracteres para cada salto, separados por vírgulas.';
|
|
|
|
@override
|
|
String get path_hexPrefixExample =>
|
|
'A1,F2,3C (cada nó usa o primeiro byte de sua chave pública)';
|
|
|
|
@override
|
|
String get path_labelHexPrefixes => 'Prefixo Hexadecimal';
|
|
|
|
@override
|
|
String get path_helperMaxHops =>
|
|
'Máximo de 64 saltos. Cada prefixo tem 2 caracteres hexadecimais (1 byte)';
|
|
|
|
@override
|
|
String get path_selectFromContacts => 'Ou selecione de contatos:';
|
|
|
|
@override
|
|
String get path_noRepeatersFound =>
|
|
'Não foram encontrados repetidores ou servidores de sala.';
|
|
|
|
@override
|
|
String get path_customPathsRequire =>
|
|
'Caminhos personalizados exigem saltos intermediários que podem transmitir mensagens.';
|
|
|
|
@override
|
|
String path_invalidHexPrefixes(String prefixes) {
|
|
return 'Prefixos hexadecimais inválidos: $prefixes';
|
|
}
|
|
|
|
@override
|
|
String get path_tooLong =>
|
|
'Caminho muito longo. Máximo de 64 saltos permitidos.';
|
|
|
|
@override
|
|
String get path_setPath => 'Definir Caminho';
|
|
|
|
@override
|
|
String get repeater_management => 'Gerenciamento de Repetidor';
|
|
|
|
@override
|
|
String get room_management => 'Gerenciamento de Servidor de Sala';
|
|
|
|
@override
|
|
String get repeater_managementTools => 'Ferramentas de Gerenciamento';
|
|
|
|
@override
|
|
String get repeater_status => 'Status';
|
|
|
|
@override
|
|
String get repeater_statusSubtitle =>
|
|
'Visualizar status do repetidor, estatísticas e vizinhos.';
|
|
|
|
@override
|
|
String get repeater_telemetry => 'Telemetria';
|
|
|
|
@override
|
|
String get repeater_telemetrySubtitle =>
|
|
'Visualizar telemetria de sensores e estatísticas do sistema';
|
|
|
|
@override
|
|
String get repeater_cli => 'CLI';
|
|
|
|
@override
|
|
String get repeater_cliSubtitle => 'Enviar comandos ao repetidor';
|
|
|
|
@override
|
|
String get repeater_neighbors => 'Vizinhos';
|
|
|
|
@override
|
|
String get repeater_neighborsSubtitle => 'Visualizar vizinhos de salto zero.';
|
|
|
|
@override
|
|
String get repeater_settings => 'Configurações';
|
|
|
|
@override
|
|
String get repeater_settingsSubtitle => 'Configurar parâmetros do repetidor';
|
|
|
|
@override
|
|
String get repeater_statusTitle => 'Status do Repetidor';
|
|
|
|
@override
|
|
String get repeater_routingMode => 'Modo de roteamento';
|
|
|
|
@override
|
|
String get repeater_autoUseSavedPath => 'Auto (usar caminho salvo)';
|
|
|
|
@override
|
|
String get repeater_forceFloodMode => 'Modo de Inundação Forçado';
|
|
|
|
@override
|
|
String get repeater_pathManagement => 'Gerenciamento de caminhos';
|
|
|
|
@override
|
|
String get repeater_refresh => 'Atualizar';
|
|
|
|
@override
|
|
String get repeater_statusRequestTimeout => 'Solicitação de status expirou.';
|
|
|
|
@override
|
|
String repeater_errorLoadingStatus(String error) {
|
|
return 'Erro ao carregar o status: $error';
|
|
}
|
|
|
|
@override
|
|
String get repeater_systemInformation => 'Informações do Sistema';
|
|
|
|
@override
|
|
String get repeater_battery => 'Bateria';
|
|
|
|
@override
|
|
String get repeater_clockAtLogin => 'Relógio (no login)';
|
|
|
|
@override
|
|
String get repeater_uptime => 'Disponibilidade';
|
|
|
|
@override
|
|
String get repeater_queueLength => 'Comprimento da Fila';
|
|
|
|
@override
|
|
String get repeater_debugFlags => 'Marcar Flags de Depuração';
|
|
|
|
@override
|
|
String get repeater_radioStatistics => 'Estatísticas de Rádio';
|
|
|
|
@override
|
|
String get repeater_lastRssi => 'Último RSSI';
|
|
|
|
@override
|
|
String get repeater_lastSnr => 'Último SNR';
|
|
|
|
@override
|
|
String get repeater_noiseFloor => 'Nível de Ruído';
|
|
|
|
@override
|
|
String get repeater_txAirtime => 'TX Airtime';
|
|
|
|
@override
|
|
String get repeater_rxAirtime => 'RX Airtime';
|
|
|
|
@override
|
|
String get repeater_packetStatistics => 'Estatísticas de Pacote';
|
|
|
|
@override
|
|
String get repeater_sent => 'Enviado';
|
|
|
|
@override
|
|
String get repeater_received => 'Recebido';
|
|
|
|
@override
|
|
String get repeater_duplicates => 'Duplicatas';
|
|
|
|
@override
|
|
String repeater_daysHoursMinsSecs(
|
|
int days,
|
|
int hours,
|
|
int minutes,
|
|
int seconds,
|
|
) {
|
|
return '$days dias ${hours}h ${minutes}m ${seconds}s';
|
|
}
|
|
|
|
@override
|
|
String repeater_packetTxTotal(int total, String flood, String direct) {
|
|
return 'Total: $total, Inundação: $flood, Direto: $direct';
|
|
}
|
|
|
|
@override
|
|
String repeater_packetRxTotal(int total, String flood, String direct) {
|
|
return 'Total: $total, Inundação: $flood, Direto: $direct';
|
|
}
|
|
|
|
@override
|
|
String repeater_duplicatesFloodDirect(String flood, String direct) {
|
|
return 'Inundação: $flood, Direto: $direct';
|
|
}
|
|
|
|
@override
|
|
String repeater_duplicatesTotal(int total) {
|
|
return 'Total: $total';
|
|
}
|
|
|
|
@override
|
|
String get repeater_settingsTitle => 'Configurações do Repetidor';
|
|
|
|
@override
|
|
String get repeater_basicSettings => 'Configurações Básicas';
|
|
|
|
@override
|
|
String get repeater_repeaterName => 'Nome do Repetidor';
|
|
|
|
@override
|
|
String get repeater_repeaterNameHelper => 'Exibir nome para este repetidor';
|
|
|
|
@override
|
|
String get repeater_adminPassword => 'Senha de Administrador';
|
|
|
|
@override
|
|
String get repeater_adminPasswordHelper => 'Acesso completo de senha';
|
|
|
|
@override
|
|
String get repeater_guestPassword => 'Senha de convidado';
|
|
|
|
@override
|
|
String get repeater_guestPasswordHelper =>
|
|
'Acesso com senha de leitura somente';
|
|
|
|
@override
|
|
String get repeater_radioSettings => 'Configurações de Rádio';
|
|
|
|
@override
|
|
String get repeater_frequencyMhz => 'Frequência (MHz)';
|
|
|
|
@override
|
|
String get repeater_frequencyHelper => '300-2500 MHz';
|
|
|
|
@override
|
|
String get repeater_txPower => 'TX Power';
|
|
|
|
@override
|
|
String get repeater_txPowerHelper => '1-30 dBm';
|
|
|
|
@override
|
|
String get repeater_bandwidth => 'Largura de banda';
|
|
|
|
@override
|
|
String get repeater_spreadingFactor => 'Fator de Dispersão';
|
|
|
|
@override
|
|
String get repeater_codingRate => 'Taxa de Codificação';
|
|
|
|
@override
|
|
String get repeater_locationSettings => 'Configurações de Localização';
|
|
|
|
@override
|
|
String get repeater_latitude => 'Latitude';
|
|
|
|
@override
|
|
String get repeater_latitudeHelper => 'Graus decimais (por exemplo, 37,7749)';
|
|
|
|
@override
|
|
String get repeater_longitude => 'Longitude';
|
|
|
|
@override
|
|
String get repeater_longitudeHelper =>
|
|
'Graus decimais (por exemplo, -122,4194)';
|
|
|
|
@override
|
|
String get repeater_features => 'Recursos';
|
|
|
|
@override
|
|
String get repeater_packetForwarding => 'Encaminhamento de Pacotes';
|
|
|
|
@override
|
|
String get repeater_packetForwardingSubtitle =>
|
|
'Habilitar o repetidor para encaminhar pacotes';
|
|
|
|
@override
|
|
String get repeater_guestAccess => 'Acesso de Convidado';
|
|
|
|
@override
|
|
String get repeater_guestAccessSubtitle =>
|
|
'Permitir acesso de convidado somente leitura';
|
|
|
|
@override
|
|
String get repeater_privacyMode => 'Modo de Privacidade';
|
|
|
|
@override
|
|
String get repeater_privacyModeSubtitle =>
|
|
'Esconder nome/localização em anúncios';
|
|
|
|
@override
|
|
String get repeater_advertisementSettings => 'Configurações de Anúncios';
|
|
|
|
@override
|
|
String get repeater_localAdvertInterval => 'Intervalo de Anúncio Local';
|
|
|
|
@override
|
|
String repeater_localAdvertIntervalMinutes(int minutes) {
|
|
return '$minutes minutos';
|
|
}
|
|
|
|
@override
|
|
String get repeater_floodAdvertInterval =>
|
|
'Intervalo de Anúncio de Inundação';
|
|
|
|
@override
|
|
String repeater_floodAdvertIntervalHours(int hours) {
|
|
return '$hours horas';
|
|
}
|
|
|
|
@override
|
|
String get repeater_encryptedAdvertInterval =>
|
|
'Intervalo de Anúncio Criptografado';
|
|
|
|
@override
|
|
String get repeater_dangerZone => 'Zona de Perigo';
|
|
|
|
@override
|
|
String get repeater_rebootRepeater => 'Reiniciar Repetidor';
|
|
|
|
@override
|
|
String get repeater_rebootRepeaterSubtitle =>
|
|
'Reiniciar o dispositivo repetidor';
|
|
|
|
@override
|
|
String get repeater_rebootRepeaterConfirm =>
|
|
'Tem certeza de que deseja reiniciar este repetidor?';
|
|
|
|
@override
|
|
String get repeater_regenerateIdentityKey => 'Gerar Chave de Identidade';
|
|
|
|
@override
|
|
String get repeater_regenerateIdentityKeySubtitle =>
|
|
'Gerar nova chave pública/privada';
|
|
|
|
@override
|
|
String get repeater_regenerateIdentityKeyConfirm =>
|
|
'Isso gerará uma nova identidade para o repetidor. Continuar?';
|
|
|
|
@override
|
|
String get repeater_eraseFileSystem => 'Excluir Sistema de Arquivos';
|
|
|
|
@override
|
|
String get repeater_eraseFileSystemSubtitle =>
|
|
'Formatar o sistema de arquivos do repetidor';
|
|
|
|
@override
|
|
String get repeater_eraseFileSystemConfirm =>
|
|
'AVISO: Isso apagará todos os dados no repetidor. Isso não pode ser desfeito!';
|
|
|
|
@override
|
|
String get repeater_eraseSerialOnly =>
|
|
'Apagar está disponível apenas via console serial.';
|
|
|
|
@override
|
|
String repeater_commandSent(String command) {
|
|
return 'Comando enviado: $command';
|
|
}
|
|
|
|
@override
|
|
String repeater_errorSendingCommand(String error) {
|
|
return 'Erro ao enviar comando: $error';
|
|
}
|
|
|
|
@override
|
|
String get repeater_confirm => 'Confirmar';
|
|
|
|
@override
|
|
String get repeater_settingsSaved => 'Configurações salvas com sucesso';
|
|
|
|
@override
|
|
String repeater_errorSavingSettings(String error) {
|
|
return 'Erro ao salvar as configurações: $error';
|
|
}
|
|
|
|
@override
|
|
String get repeater_refreshBasicSettings => 'Atualizar Configurações Básicas';
|
|
|
|
@override
|
|
String get repeater_refreshRadioSettings =>
|
|
'Atualizar Configurações de Rádio';
|
|
|
|
@override
|
|
String get repeater_refreshTxPower => 'Atualizar TX de energia';
|
|
|
|
@override
|
|
String get repeater_refreshLocationSettings =>
|
|
'Atualizar Configurações de Localização';
|
|
|
|
@override
|
|
String get repeater_refreshPacketForwarding =>
|
|
'Atualizar Roteamento de Pacotes';
|
|
|
|
@override
|
|
String get repeater_refreshGuestAccess => 'Atualizar Acesso de Convidados';
|
|
|
|
@override
|
|
String get repeater_refreshPrivacyMode => 'Atualizar Modo Privacidade';
|
|
|
|
@override
|
|
String get repeater_refreshAdvertisementSettings =>
|
|
'Atualizar Configurações do Anúncio';
|
|
|
|
@override
|
|
String repeater_refreshed(String label) {
|
|
return '$label atualizado';
|
|
}
|
|
|
|
@override
|
|
String repeater_errorRefreshing(String label) {
|
|
return 'Erro ao atualizar $label';
|
|
}
|
|
|
|
@override
|
|
String get repeater_cliTitle => 'Repetidor CLI';
|
|
|
|
@override
|
|
String get repeater_debugNextCommand => 'Depurar Próximo Comando';
|
|
|
|
@override
|
|
String get repeater_commandHelp => 'Ajuda';
|
|
|
|
@override
|
|
String get repeater_clearHistory => 'Limpar Histórico';
|
|
|
|
@override
|
|
String get repeater_noCommandsSent => 'Ainda não foram enviadas comandos.';
|
|
|
|
@override
|
|
String get repeater_typeCommandOrUseQuick =>
|
|
'Digite um comando abaixo ou use comandos rápidos';
|
|
|
|
@override
|
|
String get repeater_enterCommandHint => 'Insira o comando...';
|
|
|
|
@override
|
|
String get repeater_previousCommand => 'Comando anterior';
|
|
|
|
@override
|
|
String get repeater_nextCommand => 'Próxima ação';
|
|
|
|
@override
|
|
String get repeater_enterCommandFirst => 'Insira um comando primeiro';
|
|
|
|
@override
|
|
String get repeater_cliCommandFrameTitle => 'Frame de Comando CLI';
|
|
|
|
@override
|
|
String repeater_cliCommandError(String error) {
|
|
return 'Erro: $error';
|
|
}
|
|
|
|
@override
|
|
String get repeater_cliQuickGetName => 'Obter Nome';
|
|
|
|
@override
|
|
String get repeater_cliQuickGetRadio => 'Obter Rádio';
|
|
|
|
@override
|
|
String get repeater_cliQuickGetTx => 'Obter TX';
|
|
|
|
@override
|
|
String get repeater_cliQuickNeighbors => 'Vizinhos';
|
|
|
|
@override
|
|
String get repeater_cliQuickVersion => 'Versão';
|
|
|
|
@override
|
|
String get repeater_cliQuickAdvertise => 'Anunciar';
|
|
|
|
@override
|
|
String get repeater_cliQuickClock => 'Relógio';
|
|
|
|
@override
|
|
String get repeater_cliQuickClockSync => 'Sincronização do Relógio';
|
|
|
|
@override
|
|
String get repeater_cliQuickDiscovery => 'Descobrir Vizinhos';
|
|
|
|
@override
|
|
String get repeater_cliHelpAdvert => 'Envia um pacote de anúncios';
|
|
|
|
@override
|
|
String get repeater_cliHelpReboot =>
|
|
'Reinicia o dispositivo. (note, você pode obter \'Timeout\' que é normal)';
|
|
|
|
@override
|
|
String get repeater_cliHelpClock =>
|
|
'Exibe a hora atual de cada dispositivo, de acordo com o relógio do dispositivo.';
|
|
|
|
@override
|
|
String get repeater_cliHelpPassword =>
|
|
'Define uma nova senha de administrador para o dispositivo.';
|
|
|
|
@override
|
|
String get repeater_cliHelpVersion =>
|
|
'Mostra a versão do dispositivo e a data de construção do firmware.';
|
|
|
|
@override
|
|
String get repeater_cliHelpClearStats =>
|
|
'Reseta vários contadores de estatísticas para zero.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetAf => 'Define o fator de tempo de ar.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetTx =>
|
|
'Define a potência de transmissão LoRa em dBm (redefinir para aplicar).';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetRepeat =>
|
|
'Habilita ou desabilita o papel do repetidor para este nó.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetAllowReadOnly =>
|
|
'(Servidor de sala) Se \'ligado\', então o login com senha em branco será permitido, mas não poderá Postar na sala. (apenas ler).';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetFloodMax =>
|
|
'Define o número máximo de saltos de pacotes de inundação de entrada (se for >= máximo, o pacote não é encaminhado)';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetIntThresh =>
|
|
'Define o Limite de Interferência (em dB). O valor padrão é 14. Defina como 0 para desativar a detecção de interferência de canal.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetAgcResetInterval =>
|
|
'Define o intervalo para resetar o Controlador de Ganho Automático. Defina como 0 para desativar.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetMultiAcks =>
|
|
'Habilita ou desabilita a funcionalidade de \"double ACKs\".';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetAdvertInterval =>
|
|
'Define o intervalo do timer em minutos para enviar um pacote de anúncio local (sem salto). Defina como 0 para desativar.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetFloodAdvertInterval =>
|
|
'Define o intervalo do timer em horas para enviar um pacote de anúncio em massa. Defina como 0 para desativar.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetGuestPassword =>
|
|
'Define/atualiza a senha do convidado. (para repetidores, os logins de convidados podem enviar a solicitação \"Obter Estatísticas\")';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetName => 'Define o nome do anúncio.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetLat =>
|
|
'Define a latitude do mapa de anúncios. (graus decimais)';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetLon =>
|
|
'Define a longitude do mapa de anúncios. (graus decimais)';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetRadio =>
|
|
'Define completamente novos parâmetros de rádio e salva nas preferências. Requer um comando \"reboot\" para aplicar.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetRxDelay =>
|
|
'Configurações (experimental) base (deve ser > 1 para efeito) para aplicar um pequeno atraso aos pacotes recebidos, com base na força do sinal/pontuação. Defina como 0 para desativar.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetTxDelay =>
|
|
'Define um fator multiplicado com o tempo-em-ar para um pacote de modo de inundação e com um sistema de slot aleatório, para atrasar seu encaminhamento. (para diminuir a probabilidade de colisões)';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetDirectTxDelay =>
|
|
'Igual a txdelay, mas para aplicar um atraso aleatório à encaminhamento de pacotes em modo direto.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetBridgeEnabled => 'Ativar/Desativar ponte.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetBridgeDelay =>
|
|
'Definir atraso antes de retransmitir pacotes.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetBridgeSource =>
|
|
'Escolha se a ponte retransmitirá pacotes recebidos ou pacotes transmitidos.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetBridgeBaud =>
|
|
'Definir a taxa de baud para as pontes rs232.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetBridgeSecret =>
|
|
'Definir segredo de ponte para pontes espnow.';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetAdcMultiplier =>
|
|
'Define um fator personalizado para ajustar a voltagem de bateria relatada (apenas suportado em placas selecionadas).';
|
|
|
|
@override
|
|
String get repeater_cliHelpTempRadio =>
|
|
'Define parâmetros de rádio temporários para o número especificado de minutos, revertendo para os parâmetros de rádio originais posteriormente. (não salva nas preferências).';
|
|
|
|
@override
|
|
String get repeater_cliHelpSetPerm =>
|
|
'Modifica o ACL. Remove a entrada correspondente (pelo prefixo de pubkey) se \"permissions\" for zero. Adiciona uma nova entrada se o pubkey-hex for de comprimento total e não estiver atualmente no ACL. Atualiza a entrada por correspondência de prefixo de pubkey. Os bits de permissão variam conforme o papel do firmware, mas os 2 bits inferiores são: 0 (Guest), 1 (Read only), 2 (Read write), 3 (Admin)';
|
|
|
|
@override
|
|
String get repeater_cliHelpGetBridgeType =>
|
|
'Obtém tipo de ponte nenhum, rs232, espnow';
|
|
|
|
@override
|
|
String get repeater_cliHelpLogStart =>
|
|
'Inicia o registro de pacotes no sistema de arquivos.';
|
|
|
|
@override
|
|
String get repeater_cliHelpLogStop =>
|
|
'Para interromper o registro de pacotes no sistema de arquivos.';
|
|
|
|
@override
|
|
String get repeater_cliHelpLogErase =>
|
|
'Apaga os logs do pacote do sistema de arquivos.';
|
|
|
|
@override
|
|
String get repeater_cliHelpNeighbors =>
|
|
'Mostra uma lista de outros nós de repetição ouvidos através de anúncios zero-hop. Cada linha é id-prefixo-hexadecimal:timestamp:snr-vezes-4';
|
|
|
|
@override
|
|
String get repeater_cliHelpNeighborRemove =>
|
|
'Remove a primeira entrada correspondente (por prefixo de chave pública (hexadecimal)) da lista de vizinhos.';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegion =>
|
|
'(série apenas) Lista todas as regiões definidas e as permissões de inundação atuais.';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionLoad =>
|
|
'NOTA: isto é uma invocação multi-comando especial. Cada comando subsequente é um nome de região (indentado com espaços para indicar a hierarquia pai, com um espaço mínimo). Terminado enviando uma linha em branco/comando.';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionGet =>
|
|
'Procura região com o prefixo de nome dado (ou \"\\\" para o âmbito global). Responde com \"-> nome-região (nome-pai) \'F\'\"';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionPut =>
|
|
'Adiciona ou atualiza uma definição de região com o nome fornecido.';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionRemove =>
|
|
'Remove uma definição de região com o nome fornecido. (deve corresponder exatamente e não ter regiões filhas)';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionAllowf =>
|
|
'Define a permissão de \'F\'luido para a região especificada. (\'\' para o escopo global/legado)';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionDenyf =>
|
|
'Remove a permissão de \"F\"luido para a região especificada. (NOTA: neste momento NÃO é aconselhável usar isso no escopo global/legado!!)';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionHome =>
|
|
'Responde com a região \'home\' atual. (Observação aplicada em nenhum lugar ainda, reservado para o futuro)';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionHomeSet => 'Define a região \'casa\'.';
|
|
|
|
@override
|
|
String get repeater_cliHelpRegionSave =>
|
|
'Persiste a lista/mapa de regiões para o armazenamento.';
|
|
|
|
@override
|
|
String get repeater_cliHelpGps =>
|
|
'Mostra o status do GPS. Quando o GPS estiver desligado, responde apenas com \"off\", se estiver ligado, responde com \"on\", status, fix, contagem de satélites.';
|
|
|
|
@override
|
|
String get repeater_cliHelpGpsOnOff => 'Alterna o estado de energia do GPS.';
|
|
|
|
@override
|
|
String get repeater_cliHelpGpsSync =>
|
|
'Sincroniza o tempo do nó com o relógio GPS.';
|
|
|
|
@override
|
|
String get repeater_cliHelpGpsSetLoc =>
|
|
'Define a posição do nó para coordenadas GPS e salvar preferências.';
|
|
|
|
@override
|
|
String get repeater_cliHelpGpsAdvert =>
|
|
'Define a configuração de anúncio da localização do nó:\n- nenhum: não incluir a localização nos anúncios\n- compartilhar: compartilhar a localização GPS (do SensorManager)\n- preferências: anunciar a localização armazenada nas preferências';
|
|
|
|
@override
|
|
String get repeater_cliHelpGpsAdvertSet =>
|
|
'Define a configuração do anúncio de localização.';
|
|
|
|
@override
|
|
String get repeater_commandsListTitle => 'Lista de Comandos';
|
|
|
|
@override
|
|
String get repeater_commandsListNote =>
|
|
'NOTA: para os diversos comandos \"set...\", também existe um comando \"get...\".';
|
|
|
|
@override
|
|
String get repeater_general => 'Geral';
|
|
|
|
@override
|
|
String get repeater_settingsCategory => 'Configurações';
|
|
|
|
@override
|
|
String get repeater_bridge => 'Ponte';
|
|
|
|
@override
|
|
String get repeater_logging => 'Registrar';
|
|
|
|
@override
|
|
String get repeater_neighborsRepeaterOnly => 'Vizinhos (apenas repetidor)';
|
|
|
|
@override
|
|
String get repeater_regionManagementRepeaterOnly =>
|
|
'Gerenciamento de Região (Apenas Repetidor)';
|
|
|
|
@override
|
|
String get repeater_regionNote =>
|
|
'Os comandos de região foram introduzidos para gerenciar definições e permissões de região.';
|
|
|
|
@override
|
|
String get repeater_gpsManagement => 'Gerenciamento GPS';
|
|
|
|
@override
|
|
String get repeater_gpsNote =>
|
|
'O comando GPS foi introduzido para gerenciar tópicos relacionados à localização.';
|
|
|
|
@override
|
|
String get telemetry_receivedData => 'Dados de Telemetria Recebidos';
|
|
|
|
@override
|
|
String get telemetry_requestTimeout =>
|
|
'Solicitação de telemetria expirou o tempo.';
|
|
|
|
@override
|
|
String telemetry_errorLoading(String error) {
|
|
return 'Erro ao carregar a telemetria: $error';
|
|
}
|
|
|
|
@override
|
|
String get telemetry_noData => 'Não estão disponíveis dados de telemetria.';
|
|
|
|
@override
|
|
String telemetry_channelTitle(int channel) {
|
|
return 'Canal $channel';
|
|
}
|
|
|
|
@override
|
|
String get telemetry_batteryLabel => 'Bateria';
|
|
|
|
@override
|
|
String get telemetry_voltageLabel => 'Tensão';
|
|
|
|
@override
|
|
String get telemetry_mcuTemperatureLabel => 'Temperatura do MCU';
|
|
|
|
@override
|
|
String get telemetry_temperatureLabel => 'Temperatura';
|
|
|
|
@override
|
|
String get telemetry_currentLabel => 'Atual';
|
|
|
|
@override
|
|
String telemetry_batteryValue(int percent, String volts) {
|
|
return '$percent% / ${volts}V';
|
|
}
|
|
|
|
@override
|
|
String telemetry_voltageValue(String volts) {
|
|
return '${volts}V';
|
|
}
|
|
|
|
@override
|
|
String telemetry_currentValue(String amps) {
|
|
return '${amps}A';
|
|
}
|
|
|
|
@override
|
|
String telemetry_temperatureValue(String celsius, String fahrenheit) {
|
|
return '$celsius°C / $fahrenheit°F';
|
|
}
|
|
|
|
@override
|
|
String get neighbors_receivedData => 'Dados dos Vizinhos Recebidos';
|
|
|
|
@override
|
|
String get neighbors_requestTimedOut =>
|
|
'Vizinhos solicitam tempo limite esgotado.';
|
|
|
|
@override
|
|
String neighbors_errorLoading(String error) {
|
|
return 'Erro ao carregar vizinhos: $error';
|
|
}
|
|
|
|
@override
|
|
String get neighbors_repeatersNeighbors => 'Repetidores Vizinhos';
|
|
|
|
@override
|
|
String get neighbors_noData => 'Não estão disponíveis dados de vizinhos.';
|
|
|
|
@override
|
|
String neighbors_unknownContact(String pubkey) {
|
|
return '$pubkey Desconhecido';
|
|
}
|
|
|
|
@override
|
|
String neighbors_heardAgo(String time) {
|
|
return 'Ouvido: $time atrás';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_title => 'Rótulo de Caminho de Pacote';
|
|
|
|
@override
|
|
String get channelPath_viewMap => 'Ver mapa';
|
|
|
|
@override
|
|
String get channelPath_otherObservedPaths => 'Outros Caminhos Observados';
|
|
|
|
@override
|
|
String get channelPath_repeaterHops => 'Saltos do Repetidor';
|
|
|
|
@override
|
|
String get channelPath_noHopDetails =>
|
|
'Os detalhes do pacote não estão disponíveis.';
|
|
|
|
@override
|
|
String get channelPath_messageDetails => 'Detalhes da Mensagem';
|
|
|
|
@override
|
|
String get channelPath_senderLabel => 'Remetente';
|
|
|
|
@override
|
|
String get channelPath_timeLabel => 'Tempo';
|
|
|
|
@override
|
|
String get channelPath_repeatsLabel => 'Repete';
|
|
|
|
@override
|
|
String channelPath_pathLabel(int index) {
|
|
return 'Caminho $index';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_observedLabel => 'Observado';
|
|
|
|
@override
|
|
String channelPath_observedPathTitle(int index, String hops) {
|
|
return 'Rastreamento observado $index • $hops';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_noLocationData => 'Não há dados de localização.';
|
|
|
|
@override
|
|
String channelPath_timeWithDate(int day, int month, String time) {
|
|
return '$day/$month $time';
|
|
}
|
|
|
|
@override
|
|
String channelPath_timeOnly(String time) {
|
|
return '$time';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_unknownPath => 'Desconhecido';
|
|
|
|
@override
|
|
String get channelPath_floodPath => 'Inundação';
|
|
|
|
@override
|
|
String get channelPath_directPath => 'Salvar';
|
|
|
|
@override
|
|
String channelPath_observedZeroOf(int total) {
|
|
return '0 de $total saltos';
|
|
}
|
|
|
|
@override
|
|
String channelPath_observedSomeOf(int observed, int total) {
|
|
return '$observed de $total saltos';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_mapTitle => 'Mapa de Caminhos';
|
|
|
|
@override
|
|
String get channelPath_noRepeaterLocations =>
|
|
'Não estão disponíveis localizações de repetidores para este caminho.';
|
|
|
|
@override
|
|
String channelPath_primaryPath(int index) {
|
|
return 'Caminho $index (Primário)';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_pathLabelTitle => 'Caminho';
|
|
|
|
@override
|
|
String get channelPath_observedPathHeader => 'Rastreamento Observado';
|
|
|
|
@override
|
|
String channelPath_selectedPathLabel(String label, String prefixes) {
|
|
return '$label • $prefixes';
|
|
}
|
|
|
|
@override
|
|
String get channelPath_noHopDetailsAvailable =>
|
|
'Não estão disponíveis detalhes de voo para este pacote.';
|
|
|
|
@override
|
|
String get channelPath_unknownRepeater => 'Repetidor Desconhecido';
|
|
|
|
@override
|
|
String get community_title => 'Comunidade';
|
|
|
|
@override
|
|
String get community_create => 'Criar Comunidade';
|
|
|
|
@override
|
|
String get community_createDesc =>
|
|
'Crie uma nova comunidade e compartilhe via código QR.';
|
|
|
|
@override
|
|
String get community_join => 'Junte-se';
|
|
|
|
@override
|
|
String get community_joinTitle => 'Junte-se à Comunidade';
|
|
|
|
@override
|
|
String community_joinConfirmation(String name) {
|
|
return 'Você gostaria de se juntar à comunidade \"$name\"?';
|
|
}
|
|
|
|
@override
|
|
String get community_scanQr => 'Digitalizar a QR Code da Comunidade';
|
|
|
|
@override
|
|
String get community_scanInstructions =>
|
|
'Aponte a câmera para um código QR da comunidade';
|
|
|
|
@override
|
|
String get community_showQr => 'Mostrar Código QR';
|
|
|
|
@override
|
|
String get community_publicChannel => 'Comunidade Pública';
|
|
|
|
@override
|
|
String get community_hashtagChannel => 'Hashtag da Comunidade';
|
|
|
|
@override
|
|
String get community_name => 'Nome da Comunidade';
|
|
|
|
@override
|
|
String get community_enterName => 'Insira o nome da comunidade';
|
|
|
|
@override
|
|
String community_created(String name) {
|
|
return 'Comunidade \"$name\" criada';
|
|
}
|
|
|
|
@override
|
|
String community_joined(String name) {
|
|
return 'Juntou-se à comunidade \"$name\"';
|
|
}
|
|
|
|
@override
|
|
String get community_qrTitle => 'Partilhar Comunidade';
|
|
|
|
@override
|
|
String community_qrInstructions(String name) {
|
|
return 'Escanear este código QR para juntar-se a $name';
|
|
}
|
|
|
|
@override
|
|
String get community_hashtagPrivacyHint =>
|
|
'Os canais de hashtag da comunidade só podem ser acessados por membros da comunidade';
|
|
|
|
@override
|
|
String get community_invalidQrCode => 'Código QR da comunidade inválido';
|
|
|
|
@override
|
|
String get community_alreadyMember => 'Já é Membro';
|
|
|
|
@override
|
|
String community_alreadyMemberMessage(String name) {
|
|
return 'Você já é membro de \"$name\".';
|
|
}
|
|
|
|
@override
|
|
String get community_addPublicChannel =>
|
|
'Adicionar Canal Público da Comunidade';
|
|
|
|
@override
|
|
String get community_addPublicChannelHint =>
|
|
'Adicionar automaticamente o canal público para esta comunidade';
|
|
|
|
@override
|
|
String get community_noCommunities =>
|
|
'Ainda não foram adicionadas comunidades.';
|
|
|
|
@override
|
|
String get community_scanOrCreate =>
|
|
'Escaneie um código QR ou crie uma comunidade para começar.';
|
|
|
|
@override
|
|
String get community_manageCommunities => 'Gerenciar Comunidades';
|
|
|
|
@override
|
|
String get community_delete => 'Deixar Comunidade';
|
|
|
|
@override
|
|
String community_deleteConfirm(String name) {
|
|
return 'Sair de \"$name\"?';
|
|
}
|
|
|
|
@override
|
|
String community_deleteChannelsWarning(int count) {
|
|
return 'Isso também excluirá $count canal/canais e suas mensagens.';
|
|
}
|
|
|
|
@override
|
|
String community_deleted(String name) {
|
|
return 'Saiu da comunidade \"$name\"';
|
|
}
|
|
|
|
@override
|
|
String get community_regenerateSecret => 'Regenerar Senha Segura';
|
|
|
|
@override
|
|
String community_regenerateSecretConfirm(String name) {
|
|
return 'Regenerar a chave secreta para \"$name\"? Todos os membros precisarão escanear o novo código QR para continuar a comunicação.';
|
|
}
|
|
|
|
@override
|
|
String get community_regenerate => 'Regenerar';
|
|
|
|
@override
|
|
String community_secretRegenerated(String name) {
|
|
return 'Senha secreta regenerada para \"$name\"';
|
|
}
|
|
|
|
@override
|
|
String get community_updateSecret => 'Atualizar Segredo';
|
|
|
|
@override
|
|
String community_secretUpdated(String name) {
|
|
return 'Segredo atualizado para \"$name\"';
|
|
}
|
|
|
|
@override
|
|
String community_scanToUpdateSecret(String name) {
|
|
return 'Scanar o novo código QR para atualizar o segredo para \"$name\"\n\n\n+++++';
|
|
}
|
|
|
|
@override
|
|
String get community_addHashtagChannel => 'Adicionar Hashtag da Comunidade';
|
|
|
|
@override
|
|
String get community_addHashtagChannelDesc =>
|
|
'Adicionar um canal de hashtag para esta comunidade';
|
|
|
|
@override
|
|
String get community_selectCommunity => 'Selecione Comunidade';
|
|
|
|
@override
|
|
String get community_regularHashtag => 'Hashtag Regular';
|
|
|
|
@override
|
|
String get community_regularHashtagDesc =>
|
|
'Hashtag público (qualquer pessoa pode participar)';
|
|
|
|
@override
|
|
String get community_communityHashtag => 'Hashtag da Comunidade';
|
|
|
|
@override
|
|
String get community_communityHashtagDesc =>
|
|
'Apenas para membros da comunidade';
|
|
|
|
@override
|
|
String community_forCommunity(String name) {
|
|
return 'Para $name';
|
|
}
|
|
|
|
@override
|
|
String get listFilter_tooltip => 'Filtrar e ordenar';
|
|
|
|
@override
|
|
String get listFilter_sortBy => 'Ordenar por';
|
|
|
|
@override
|
|
String get listFilter_latestMessages => 'Últimas mensagens';
|
|
|
|
@override
|
|
String get listFilter_heardRecently => 'Ouvido recentemente';
|
|
|
|
@override
|
|
String get listFilter_az => 'A-Z';
|
|
|
|
@override
|
|
String get listFilter_filters => 'Filtros';
|
|
|
|
@override
|
|
String get listFilter_all => 'Tudo';
|
|
|
|
@override
|
|
String get listFilter_favorites => 'Favoritos';
|
|
|
|
@override
|
|
String get listFilter_addToFavorites => 'Adicionar aos favoritos';
|
|
|
|
@override
|
|
String get listFilter_removeFromFavorites => 'Remover da lista de favoritos';
|
|
|
|
@override
|
|
String get listFilter_users => 'Usuários';
|
|
|
|
@override
|
|
String get listFilter_repeaters => 'Repetidores';
|
|
|
|
@override
|
|
String get listFilter_roomServers => 'Servidores de sala';
|
|
|
|
@override
|
|
String get listFilter_unreadOnly => 'Apenas não lido';
|
|
|
|
@override
|
|
String get listFilter_newGroup => 'Novo grupo';
|
|
|
|
@override
|
|
String get pathTrace_you => 'Você';
|
|
|
|
@override
|
|
String get pathTrace_failed => 'Falha no rastreamento de caminho.';
|
|
|
|
@override
|
|
String get pathTrace_notAvailable => 'Traçado de caminho não disponível.';
|
|
|
|
@override
|
|
String get pathTrace_refreshTooltip => 'Atualizar Path Trace.';
|
|
|
|
@override
|
|
String get pathTrace_someHopsNoLocation =>
|
|
'Um ou mais dos lúpulos estão sem localização!';
|
|
|
|
@override
|
|
String get pathTrace_clearTooltip => 'Limpar caminho';
|
|
|
|
@override
|
|
String get losSelectStartEnd => 'Selecione nós iniciais e finais para LOS.';
|
|
|
|
@override
|
|
String losRunFailed(String error) {
|
|
return 'Falha na verificação da linha de visão: $error';
|
|
}
|
|
|
|
@override
|
|
String get losClearAllPoints => 'Limpe todos os pontos';
|
|
|
|
@override
|
|
String get losRunToViewElevationProfile =>
|
|
'Execute o LOS para visualizar o perfil de elevação';
|
|
|
|
@override
|
|
String get losMenuTitle => 'Menu LOS';
|
|
|
|
@override
|
|
String get losMenuSubtitle =>
|
|
'Toque nos nós ou mantenha pressionado o mapa para obter pontos personalizados';
|
|
|
|
@override
|
|
String get losShowDisplayNodes => 'Mostrar nós de exibição';
|
|
|
|
@override
|
|
String get losCustomPoints => 'Pontos personalizados';
|
|
|
|
@override
|
|
String losCustomPointLabel(int index) {
|
|
return '$index personalizado';
|
|
}
|
|
|
|
@override
|
|
String get losPointA => 'Ponto A';
|
|
|
|
@override
|
|
String get losPointB => 'Ponto B';
|
|
|
|
@override
|
|
String losAntennaA(String value, String unit) {
|
|
return 'Antena A: $value $unit';
|
|
}
|
|
|
|
@override
|
|
String losAntennaB(String value, String unit) {
|
|
return 'Antena B: $value $unit';
|
|
}
|
|
|
|
@override
|
|
String get losRun => 'Executar LOS';
|
|
|
|
@override
|
|
String get losNoElevationData => 'Sem dados de elevação';
|
|
|
|
@override
|
|
String losProfileClear(
|
|
String distance,
|
|
String distanceUnit,
|
|
String clearance,
|
|
String heightUnit,
|
|
) {
|
|
return '$distance $distanceUnit, limpar LOS, liberação mínima $clearance $heightUnit';
|
|
}
|
|
|
|
@override
|
|
String losProfileBlocked(
|
|
String distance,
|
|
String distanceUnit,
|
|
String obstruction,
|
|
String heightUnit,
|
|
) {
|
|
return '$distance $distanceUnit, bloqueado por $obstruction $heightUnit';
|
|
}
|
|
|
|
@override
|
|
String get losStatusChecking => 'LOS: verificando...';
|
|
|
|
@override
|
|
String get losStatusNoData => 'LOS: sem dados';
|
|
|
|
@override
|
|
String losStatusSummary(int clear, int total, int blocked, int unknown) {
|
|
return 'LOS: $clear/$total limpo, $blocked bloqueado, $unknown desconhecido';
|
|
}
|
|
|
|
@override
|
|
String get losErrorElevationUnavailable =>
|
|
'Dados de elevação indisponíveis para uma ou mais amostras.';
|
|
|
|
@override
|
|
String get losErrorInvalidInput =>
|
|
'Dados de pontos/elevação inválidos para cálculo de LOS.';
|
|
|
|
@override
|
|
String get losRenameCustomPoint => 'Renomear ponto personalizado';
|
|
|
|
@override
|
|
String get losPointName => 'Nome do ponto';
|
|
|
|
@override
|
|
String get losShowPanelTooltip => 'Mostrar painel LOS';
|
|
|
|
@override
|
|
String get losHidePanelTooltip => 'Ocultar painel LOS';
|
|
|
|
@override
|
|
String get losElevationAttribution =>
|
|
'Dados de elevação: Open-Meteo (CC BY 4.0)';
|
|
|
|
@override
|
|
String get losLegendRadioHorizon => 'Horizonte de rádio';
|
|
|
|
@override
|
|
String get losLegendLosBeam => 'Linha de visada';
|
|
|
|
@override
|
|
String get losLegendTerrain => 'Terreno';
|
|
|
|
@override
|
|
String get losFrequencyLabel => 'Frequência';
|
|
|
|
@override
|
|
String get losFrequencyInfoTooltip => 'Ver detalhes do cálculo';
|
|
|
|
@override
|
|
String get losFrequencyDialogTitle => 'Cálculo do horizonte de rádio';
|
|
|
|
@override
|
|
String losFrequencyDialogDescription(
|
|
double baselineK,
|
|
double baselineFreq,
|
|
double frequencyMHz,
|
|
double kFactor,
|
|
) {
|
|
return 'Começando em k=$baselineK em $baselineFreq MHz, o cálculo ajusta o fator k para a banda atual de $frequencyMHz MHz, que define o limite do horizonte de rádio curvo.';
|
|
}
|
|
|
|
@override
|
|
String get contacts_pathTrace => 'Traçado de Caminho';
|
|
|
|
@override
|
|
String get contacts_ping => 'Pingar';
|
|
|
|
@override
|
|
String get contacts_repeaterPathTrace => 'Traçar caminho para repetidor';
|
|
|
|
@override
|
|
String get contacts_repeaterPing => 'Pingar repetidor';
|
|
|
|
@override
|
|
String get contacts_roomPathTrace => 'Traçar caminho para o servidor da sala';
|
|
|
|
@override
|
|
String get contacts_roomPing => 'Pingar servidor da sala';
|
|
|
|
@override
|
|
String get contacts_chatTraceRoute => 'Rastrear rota do caminho';
|
|
|
|
@override
|
|
String contacts_pathTraceTo(String name) {
|
|
return 'Rastrear rota para $name';
|
|
}
|
|
|
|
@override
|
|
String get contacts_clipboardEmpty => 'Área de Transferência Está Vazia.';
|
|
|
|
@override
|
|
String get contacts_invalidAdvertFormat => 'Dados de Contato Inválidos';
|
|
|
|
@override
|
|
String get contacts_contactImported => 'Contato foi importado.';
|
|
|
|
@override
|
|
String get contacts_contactImportFailed => 'Contato falhou ao ser importado.';
|
|
|
|
@override
|
|
String get contacts_zeroHopAdvert => 'Anúncio Zero Hop';
|
|
|
|
@override
|
|
String get contacts_floodAdvert => 'Anúncio de Inundação';
|
|
|
|
@override
|
|
String get contacts_copyAdvertToClipboard =>
|
|
'Copiar Anúncio para Área de Transferência';
|
|
|
|
@override
|
|
String get contacts_addContactFromClipboard =>
|
|
'Adicionar Contato da Área de Transferência';
|
|
|
|
@override
|
|
String get contacts_ShareContact =>
|
|
'Copiar contato para Área de Transferência';
|
|
|
|
@override
|
|
String get contacts_ShareContactZeroHop => 'Compartilhar contato por anúncio';
|
|
|
|
@override
|
|
String get contacts_zeroHopContactAdvertSent => 'Enviou contato por anúncio.';
|
|
|
|
@override
|
|
String get contacts_zeroHopContactAdvertFailed => 'Falha ao enviar contato.';
|
|
|
|
@override
|
|
String get contacts_contactAdvertCopied =>
|
|
'Anúncio copiado para a Área de Transferência.';
|
|
|
|
@override
|
|
String get contacts_contactAdvertCopyFailed =>
|
|
'Cópia do anúncio para a Área de Transferência falhou.';
|
|
|
|
@override
|
|
String get notification_activityTitle => 'Atividade MeshCore';
|
|
|
|
@override
|
|
String notification_messagesCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'mensagens',
|
|
one: 'mensagem',
|
|
);
|
|
return '$count $_temp0';
|
|
}
|
|
|
|
@override
|
|
String notification_channelMessagesCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'mensagens de canal',
|
|
one: 'mensagem de canal',
|
|
);
|
|
return '$count $_temp0';
|
|
}
|
|
|
|
@override
|
|
String notification_newNodesCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'novos nós',
|
|
one: 'novo nó',
|
|
);
|
|
return '$count $_temp0';
|
|
}
|
|
|
|
@override
|
|
String notification_newTypeDiscovered(String contactType) {
|
|
return 'Novo $contactType descoberto';
|
|
}
|
|
|
|
@override
|
|
String get notification_receivedNewMessage => 'Nova mensagem recebida';
|
|
|
|
@override
|
|
String get settings_gpxExportRepeaters =>
|
|
'Exportar repetidores / servidor de sala para GPX';
|
|
|
|
@override
|
|
String get settings_gpxExportRepeatersSubtitle =>
|
|
'Exporta repetidores / roomserver com localização para arquivo GPX.';
|
|
|
|
@override
|
|
String get settings_gpxExportContacts => 'Exportar companheiros para GPX';
|
|
|
|
@override
|
|
String get settings_gpxExportContactsSubtitle =>
|
|
'Exporta companheiros com uma localização para um arquivo GPX.';
|
|
|
|
@override
|
|
String get settings_gpxExportAll => 'Exportar todos os contatos para GPX';
|
|
|
|
@override
|
|
String get settings_gpxExportAllSubtitle =>
|
|
'Exporta todos os contatos com uma localização para um arquivo GPX.';
|
|
|
|
@override
|
|
String get settings_gpxExportSuccess => 'Arquivo GPX exportado com sucesso.';
|
|
|
|
@override
|
|
String get settings_gpxExportNoContacts => 'Nenhum contato para exportar.';
|
|
|
|
@override
|
|
String get settings_gpxExportNotAvailable =>
|
|
'Não suportado no seu dispositivo/SO';
|
|
|
|
@override
|
|
String get settings_gpxExportError => 'Ocorreu um erro ao exportar.';
|
|
|
|
@override
|
|
String get settings_gpxExportRepeatersRoom =>
|
|
'Localizações do servidor de repetidor e sala';
|
|
|
|
@override
|
|
String get settings_gpxExportChat => 'Localizações de companheiros';
|
|
|
|
@override
|
|
String get settings_gpxExportAllContacts => 'Todos os locais de contatos';
|
|
|
|
@override
|
|
String get settings_gpxExportShareText =>
|
|
'Dados do mapa exportados do meshcore-open';
|
|
|
|
@override
|
|
String get settings_gpxExportShareSubject =>
|
|
'meshcore-open exportação de dados de mapa GPX';
|
|
|
|
@override
|
|
String get snrIndicator_nearByRepeaters => 'Repetidores Próximos';
|
|
|
|
@override
|
|
String get snrIndicator_lastSeen => 'Visto pela última vez';
|
|
|
|
@override
|
|
String get contactsSettings_title => 'Configurações de contatos';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddTitle => 'Descoberta Automática';
|
|
|
|
@override
|
|
String get contactsSettings_otherTitle =>
|
|
'Outras configurações relacionadas a contatos';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddUsersTitle =>
|
|
'Adicionar usuários automaticamente';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddUsersSubtitle =>
|
|
'Permitir que o companheiro adicione automaticamente os usuários descobertos.';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddRepeatersTitle =>
|
|
'Adicionar repetidores automaticamente';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddRepeatersSubtitle =>
|
|
'Permitir que o companheiro adicione automaticamente os repetidores descobertos.';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddRoomServersTitle =>
|
|
'Adicionar automaticamente servidores de sala';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddRoomServersSubtitle =>
|
|
'Permitir que o companheiro adicione automaticamente os servidores de salas descobertos.';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddSensorsTitle =>
|
|
'Adicionar sensores automaticamente';
|
|
|
|
@override
|
|
String get contactsSettings_autoAddSensorsSubtitle =>
|
|
'Permitir que o companheiro adicione automaticamente sensores descobertos.';
|
|
|
|
@override
|
|
String get contactsSettings_overwriteOldestTitle =>
|
|
'Sobrescrever o Mais Antigo';
|
|
|
|
@override
|
|
String get contactsSettings_overwriteOldestSubtitle =>
|
|
'Quando a lista de contatos estiver cheia, o contato mais antigo não favoritado será substituído.';
|
|
|
|
@override
|
|
String get discoveredContacts_Title => 'Contatos Descobertos';
|
|
|
|
@override
|
|
String get discoveredContacts_noMatching => 'Nenhum contato correspondente';
|
|
|
|
@override
|
|
String get discoveredContacts_searchHint => 'Pesquisar contatos descobertos';
|
|
|
|
@override
|
|
String get discoveredContacts_contactAdded => 'Contato adicionado';
|
|
|
|
@override
|
|
String get discoveredContacts_addContact => 'Adicionar Contato';
|
|
|
|
@override
|
|
String get discoveredContacts_copyContact =>
|
|
'Copiar Contato para a área de transferência';
|
|
|
|
@override
|
|
String get discoveredContacts_deleteContact => 'Excluir Contato';
|
|
|
|
@override
|
|
String get discoveredContacts_deleteContactAll =>
|
|
'Excluir Todos os Contatos Descobertos';
|
|
|
|
@override
|
|
String get discoveredContacts_deleteContactAllContent =>
|
|
'Tem certeza de que deseja excluir todos os contatos descobertos?';
|
|
|
|
@override
|
|
String get chat_sendCooldown =>
|
|
'Por favor, aguarde um momento antes de reenviar.';
|
|
|
|
@override
|
|
String get appSettings_jumpToOldestUnread =>
|
|
'Vá para a mensagem mais antiga não lida';
|
|
|
|
@override
|
|
String get appSettings_jumpToOldestUnreadSubtitle =>
|
|
'Ao abrir uma conversa com mensagens não lidas, role para a primeira mensagem não lida, em vez da mais recente.';
|
|
|
|
@override
|
|
String get appSettings_languageHu => 'Húngaro';
|
|
|
|
@override
|
|
String get appSettings_languageJa => 'Japonês';
|
|
|
|
@override
|
|
String get appSettings_languageKo => 'Coreano';
|
|
|
|
@override
|
|
String get radioStats_tooltip => 'Estatísticas de rádio e malha';
|
|
|
|
@override
|
|
String get radioStats_screenTitle => 'Estatísticas de rádio';
|
|
|
|
@override
|
|
String get radioStats_notConnected =>
|
|
'Conecte-se a um dispositivo para visualizar estatísticas de rádio.';
|
|
|
|
@override
|
|
String get radioStats_firmwareTooOld =>
|
|
'As estatísticas de rádio exigem o firmware v8 ou uma versão mais recente.';
|
|
|
|
@override
|
|
String get radioStats_waiting => 'Aguardando dados…';
|
|
|
|
@override
|
|
String radioStats_noiseFloor(int noiseDbm) {
|
|
return 'Nível de ruído: $noiseDbm dBm';
|
|
}
|
|
|
|
@override
|
|
String radioStats_lastRssi(int rssiDbm) {
|
|
return 'Último RSSI: $rssiDbm dBm';
|
|
}
|
|
|
|
@override
|
|
String radioStats_lastSnr(String snr) {
|
|
return 'Último SNR: $snr dB';
|
|
}
|
|
|
|
@override
|
|
String radioStats_txAir(int seconds) {
|
|
return 'Tempo de transmissão da TX (total): $seconds s';
|
|
}
|
|
|
|
@override
|
|
String radioStats_rxAir(int seconds) {
|
|
return 'Tempo de uso do RX (total): $seconds s';
|
|
}
|
|
|
|
@override
|
|
String get radioStats_chartCaption =>
|
|
'Nível de ruído (dBm) em amostras recentes.';
|
|
|
|
@override
|
|
String radioStats_stripNoise(int noiseDbm) {
|
|
return 'Nível de ruído: $noiseDbm dBm';
|
|
}
|
|
|
|
@override
|
|
String get radioStats_stripWaiting => 'Obtendo estatísticas de rádio…';
|
|
|
|
@override
|
|
String get radioStats_settingsTile => 'Estatísticas de rádio';
|
|
|
|
@override
|
|
String get radioStats_settingsSubtitle =>
|
|
'Nível de ruído, RSSI, SNR e tempo de transmissão';
|
|
|
|
@override
|
|
String get scanner_linuxPairingShowPin => 'Mostrar PIN';
|
|
|
|
@override
|
|
String get scanner_linuxPairingHidePin => 'Ocultar PIN';
|
|
|
|
@override
|
|
String get scanner_linuxPairingPinTitle => 'PIN de emparelhamento Bluetooth';
|
|
|
|
@override
|
|
String scanner_linuxPairingPinPrompt(String deviceName) {
|
|
return 'Insira o PIN para $deviceName (deixe em branco se não houver).';
|
|
}
|
|
}
|