Files
rustdesk/src/lang/ptbr.rs
T
Jonathan Gilbert 055826e26f Edge scrolling (#13247)
* Repurposed the MacOS-specific platform channel mechanism for all platforms:
- Renamed the channel from "org.rustdesk.rustdesk/macos" to "org.rustdesk.rustdesk/host".
- Renamed _osxMethodChannel in platform_channel.dart to _hostMethodChannel.
- Updated linux/my_application.cc to use the fl_* API to set up a Method Channel and to dispose it during my_application_dispose.
- Updated windows/runner/flutter_window.cpp to use the C++ API to set up a Method Channel.
- Updated the channel name in macos/Runner/MainFlutterWindow.swift.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Added a method "bumpMouse" to the Platform Channel.
Added a thunk to call the method through the channel to platform_channel.dart.
Added implementation bump_mouse() in linux/my_application.cc using Gdk API calls. Updated host_channel_call_handler to process "bumpMouse" method call messages by calling bump_mouse.
Added implementation Win32Desktop::BumpMouse in windows/runner/win32_desktop.cpp/.h.  Updated the inline method call handler in flutter_window.cpp to handle "bumpMouse" method calls by calling Win32Desktop::BumpMouse.
Updated the method call handler in macos/Runner/MainFlutterWindow.swift to handle "bumpMouse" method call messages. Updated MainFlutterWindow to use a subclass of FlutterViewController exposing access to mouseLocationOutsideOfEventStream.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Added message type kWindowBumpMouse to the multiwindow window event model:
- Added constant kWindowBumpMouse to consts.dart.
- Updated the method handler attached to rustDeskWinManager by DesktopHomePageState to recognize kWindowBumpMouse and translate it to a call to RdPlatformChannel.bumpMouse.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Centralized serialization of ScrollStyle values, moving JSON and string conversions into methods toString/fromString and toJson/fromJson within the type.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Added new scroll style for edge scrolling:
- Added ScrollStyle enum member "scrolledge". Added corresponding constant kRemoteScrollStyleEdge to consts.dart for the string serialized form.
- Updated sites checking specifically for ScrollStyle.scrollbar to instead check for NOT ScrollStyle.scrollauto.
- Added radio buttons for the new "ScrollEdge" style to desktop_setting_page.dart and remote_toolbar.dart. Added new string "ScrollEdge" to lang/template.rs.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Implemented edge scrolling:
- Added methods edgeScrollMouse and pushScrollPositionToUI to class CanvasModel in model.dart.
- Added boolean parameter edgeScroll to handleMouse, handlePointerDevicePos and processEventToPeer in input_model.dart.
- Updated handlePointerDevicePos in input_model.dart to call edgeScrollMouse on move events when the edgeScroll parameter is true.
- Added convenience accessor useEdgeScroll to the InputModel class. Updated call sites to handleMouse to use it to supply the value for the edgeScroll parameter.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Updated CanvasModel.edgeScrollMouse to be resilient to receiving events when _horizontal/_vertical aren't wired up to any UI.

* Updated CanvasModel to take notifications of resizes via method notifyResize and to suppress edge scrolling briefly after a resize.
Updated the onWindowResized handler in tabbar_widget.dart to call notifyResize on the canvasModel of any RemotePage tabs.

* Half a go at fixing MainFlutterWindow.swift.

* Copilot feedback.

* Applied fix suggested by Copilot in its explanation of the build error.

* Fixed a couple of silly errors in windows/runner/flutter_window.cpp.

* Fixed MainFlutterWindow.swift build errors.

Co-Authored-By: fufesou <linlong1266@gmail.com>
Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Moved new translation to the end of template.rs.
Reran res/lang.py.

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>

* Switched MainFlutterWindow.swift to use NSEvent.mouseLocation.

* Updated MainFlutterWindow.swift code based on build error.

* Fixed silly typo.

* Reintroduced the coordinate system translation in MainFlutterWindow.swift.

* Updated edgeScrollMouse in model.dart to add a "safe zone" around the window frame that doesn't trigger edge scrolling.

* Updated the bumpMouse handler in MainFlutterWindow.swift to call CGAssociateMouseAndMouseCursorPosition to cancel event suppression.

* Added debug annotation to the onWindowResized event in tabbar_widget.dart.

* Fix parameter type for CGAssociateMouseAndMouseCursorPosition in MainFlutterWindow.swift.

* tabbar_widget.dart: onWindowResized -> onWindowResize

* Removed temporary diagnostic debugPrint from tabbar_widget.dart.

* Updated MainFlutterWindow.swift to obtain the mouse position by creating a dummy CGEvent. The old NSEvent.mouseLocation code is left as a fallback.

* The documentation said to be sure to call CFRelease, but apparently it's a build error to do so. :-P

* Replaced CGEvent calls in MainFlutterWindow.swift with uses of the CGEvent wrapper struct.

* Added argument label to call to CGEvent.init.

* Changed mouseLoc from piecewise assignment to assignment of the whole structure, as it is not yet initialized at that point.

* Linux platform channel: Refactored bump_mouse, setting the stage for a future Wayland implementation.
- Made a new top-level bump_mouse method in bump_mouse.cc/.h.
- Moved the X11-specific implementation to bump_mouse_x11 in bump_mouse_x11.cc/h.
Reworked the bumpMouse operation to have a boolean return value:
- Updated bumpMouse in platform_channel.dart to return a Future<bool> instead of a Future<void>.
- Windows platform channel: Updated BumpMouse in win32_desktop.cpp to return a bool value. Updated the method call handler "bumpMouse" branch in flutter_window.cpp to propagate the BumpMouse return value back to the originating MethodCall.
- MacOS platform channel: Updated the "bumpMouse" branch in the method call handler in MainFlutterWindow.swift to pass true or false into the 'result()' call.
- Linux platform channel: Updated the bump_mouse top-level method and its underlying implementation bump_mouse_x11 to return bool values. Updated the "bumpMouse" branch of host_channel_call_handler in my_application.cc to propagate the result value back up the method channel.
- Updated the kWindowBumpMouse branch of the method handler registered in desktop_home_page.dart to propagate a return value from RdplatformChannel.bumpMouse.

* Reworked the edge scrolling computations in model.dart to use Vector2 from the vector_math package. Updated pubspec.yaml to declare a dependency on vector_math.

* Added an alternative edge scrolling mechanism for when "Bump Mouse" functionality is unavailable:
- Added methods setEdgeScrollTimer and cancelEdgeScrollTimer to model.dart, along with a few state fields.
- Updated edgeScrollMouse to latch the (x, y) coordinate of the last edge scroll event, in case it will be autorepeating.
- Updated edgeScrollMouse to check whether the call to the kWindowBumpMouse method of rustDeskWinManager (and thus the underlying bump_mouse method) succeeded, and to switch to timer-based autorepeat if it fails. Made edgeScrollMouse async to allow awaiting the result of the kWindowBumpMouse method call.
- Updated input_model.dart to call cancelEdgeScrollTimer when a new move event is being processed.
- Updated remote_page.dart to call cancelEdgeScrollTimer when the pointer exits the area represented by the view.

* Fixed scroll percentage math in edgeScrollMouse in model.dart.

* Fixed declared return value for Win32Desktop::BumpMouse in win32_desktop.h.

* Fixed vector_math dependency version in pubspec.yaml to be compatible with the codebase standard Flutter version.

* Added class EdgeScrollFallbackState to model.dart for tracking the state of the edge scroll fallback strategy. Factored out the actual edge scrolling action from CanvasModel.edgeScrollMouse to new method performEdgeScroll so that EdgeScrollFallbackState can call it. Updated edgeScrollMouse to not call performEdgeScroll when it's enabling the fallback strategy.
Updated CanvasModel to use EdgeScrollFallbackState instead of directly tracking the state. Removed method setEdgeScrollTimer.
Added method initializeEdgeScrollFallback to CanvasModel that takes a TickerProvider. Updated _RemotePageState to include the mixin TickerProviderStateMixin. Updated _RemotePageState.initState to call canvasModel.initializeEdgeScrollFallback.
Updated handlePointerDevicePos in input_model.dart to not call cancelEdgeScrollTimer before edgeScrollMouse.
Renamed CanvasModel.cancelEdgeScrollTimer to CanvasModel.cancelEdgeScroll.
Updated the calculations in CanvasModel.edgeScrollMouse to only factor in the safe zone if BumpMouse is working. (Otherwise the problem with resizing can't possibly occur.)

* Updated CanvasModel.edgeScrollMouse in model.dart to handle the situation where only one of the scrollbars is active. Factored extraction of scrollbar data into new function getScrollInfo.

* Updated onWindowResize in tabbar_widget.dart to be resilient to RemotePage instances that don't yet have an ffi reference. Added property hasFFI to remote_page.dart.

* Removed debug output from model.dart.

* PR feedback:
- Added filtering to diagnostic output in the method handler in desktop_home_page.dart to exclude the very chatty kWindowBumpMouse-related output.
- Removed the diagnostic output from bumpMouse in platform_channel.dart for the same reason.
- Updated setScrollPercent to coalesce NaN values for x and y to 0.
- Initialized the GError pointer variable passed into fl_method_call_respond_success in linux/my_application.cc to NULL.
- Added bounds checking of the argument values in the EncodableList branch of the "bumpMouse" method call handler in windows/runner/flutter_window.cpp.

* Added a latch mechanism that keeps edge scrolling disabled until the cursor is observed to be in the inner area bounded by the edge scroll areas:
- Added tristate enumerated type EdgeScrollState to model.dart. In addition to inactive and active states, there is state armed which behaves like inactive but can transition to active when conditions are met.
- Added a field to CanvasModel of type EdgeScrollState. Added methods disableEdgeScroll and rearmEdgeScroll.
- Updated enterView to call canvasModel.rearmEdgeScroll and leaveView to call canvasModel.disableEdgeScroll in remote_page.dart.
- Updated edgeScrollMouse to check the state, disabling edge scrolling when the state is not active and transitioning from armed to active when the mouse is in the interior space.
- Removed the notifyResize/_suppressEdgeScroll mechanism from CanvasModel in model.dart as it is no longer necessary.
- Removed the "safe zone" mechanism from CanvasModel.edgeScrollMouse in model.dart as it is no longer necessary.
- Switched the onWindowResize handler in DesktopTabState in tabbar_widget.dart back to onWindowResized, now that it is no longer delivering canvasModel.notifyResize to all RemotePage tabs.

* Fixed memory leak: Added call to free GError object returned by Flutter API in the event of an error.

* PR feedback:
- Copilot: Use type annotations.
- Copilot: Condition to stop edge scrolling when fallback strategy is in use and the mouse is moved back to the centre.
- Copilot: Check FLValue type before calling fl_value_get_int.
- Copilot: Support list-style method channel dispatch in "bumpMouse" handler for macos as the linux and windows implementations already do.
- Naming convention for constants.
- Left-over variable from previous strategy: _suppressEdgeScroll.
- Unnecessary extra parentheses in edge scroll area conditions.

* Removed property suppressEdgeScroll referencing now-removed field _suppressEdgeScroll in model.dart.
Removed accidental extra blank line in MainFlutterWindow.swift.

* Switched CanvasModel.setScrollPercent to use double.isFinite instead of double.isNaN to test for proper numerical values.

* PR feedback:
- Copilot: Use Vector2.length2 instead of Vector2.length to avoid an unnecessary sqrt in comparison with zero.
- Copilot: Baleet unnecessary semicolons from Swift code.

* PR feedback:
- Copilot: Check argList.count before indexing it

* Oops with the semicolons again.

* Edge scroll, active local cursor

Signed-off-by: fufesou <linlong1266@gmail.com>

* Remove duplicated condition checks

Signed-off-by: fufesou <linlong1266@gmail.com>

* Chore

Signed-off-by: fufesou <linlong1266@gmail.com>

* PR feedback:
- Copilot: Removed unused property hasFFI from remote_page.dart.
- Copilot: Updated updateScrollStyle in model.dart to be resilient to the possibility of bind.sessionGetScrollStyle returning null.

* Factored local cursor updates out of CanvasModel.moveDesktopMouse in model.dart, adding new methods activateLocalCursor and updateLocalCursor.
Updated handlePointerDevicePos in input_model.dart to call canvasModel.updateLocalCursor on every mouse event.
Updated initState in remote_page.dart to schedule a call to canvasModel.activateLocalCursor as a first-image callback.

* Updated the explanation for rounding away from 0 in edgeScrollMouse in model.dart.

---------

Signed-off-by: Jonathan Gilbert <logic@deltaq.org>
Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
2025-10-30 19:54:11 +08:00

727 lines
46 KiB
Rust

lazy_static::lazy_static! {
pub static ref T: std::collections::HashMap<&'static str, &'static str> =
[
("Status", "Status"),
("Your Desktop", "Seu Computador"),
("desk_tip", "Seu computador pode ser acessado com este ID e senha."),
("Password", "Senha"),
("Ready", "Pronto"),
("Established", "Estabelecido"),
("connecting_status", "Conectando à rede do RustDesk..."),
("Enable service", "Habilitar Serviço"),
("Start service", "Iniciar Serviço"),
("Service is running", "Serviço está em execução"),
("Service is not running", "Serviço não está em execução"),
("not_ready_status", "Não está pronto. Por favor verifique sua conexão"),
("Control Remote Desktop", "Controle um Computador Remoto"),
("Transfer file", "Transferir Arquivos"),
("Connect", "Conectar"),
("Recent sessions", "Sessões Recentes"),
("Address book", "Lista de Endereços"),
("Confirmation", "Confirmação"),
("TCP tunneling", "Tunelamento TCP"),
("Remove", "Remover"),
("Refresh random password", "Atualizar senha aleatória"),
("Set your own password", "Configure sua própria senha"),
("Enable keyboard/mouse", "Habilitar teclado/mouse"),
("Enable clipboard", "Habilitar Área de Transferência"),
("Enable file transfer", "Habilitar Transferência de Arquivos"),
("Enable TCP tunneling", "Habilitar Tunelamento TCP"),
("IP Whitelisting", "Lista de IPs Confiáveis"),
("ID/Relay Server", "Servidor ID/Relay"),
("Import server config", "Importar Configuração do Servidor"),
("Export Server Config", "Exportar Configuração do Servidor"),
("Import server configuration successfully", "Configuração do servidor importada com sucesso"),
("Export server configuration successfully", "Configuração do servidor exportada com sucesso"),
("Invalid server configuration", "Configuração do servidor inválida"),
("Clipboard is empty", "A área de transferência está vazia"),
("Stop service", "Parar serviço"),
("Change ID", "Alterar ID"),
("Your new ID", "Seu novo ID"),
("length %min% to %max%", "tamanho %min% para %max%"),
("starts with a letter", "começa com uma letra"),
("allowed characters", "caracteres permitidos"),
("id_change_tip", "Somente os caracteres a-z, A-Z, 0-9, - (dash) e _ (sublinhado) são permitidos. A primeira letra deve ser a-z, A-Z. Comprimento entre 6 e 16."),
("Website", "Website"),
("About", "Sobre"),
("Slogan_tip", "Feito de coração neste mundo caótico!"),
("Privacy Statement", "Declaração de Privacidade"),
("Mute", "Desativar som"),
("Build Date", "Data da Build"),
("Version", "Versão"),
("Home", "Início"),
("Audio Input", "Entrada de Áudio"),
("Enhancements", "Melhorias"),
("Hardware Codec", "Codec de hardware"),
("Adaptive bitrate", "Taxa de bits adaptável"),
("ID Server", "Servidor de ID"),
("Relay Server", "Servidor de Relay"),
("API Server", "Servidor da API"),
("invalid_http", "deve iniciar com http:// ou https://"),
("Invalid IP", "IP inválido"),
("Invalid format", "Formato inválido"),
("server_not_support", "Ainda não suportado pelo servidor"),
("Not available", "Indisponível"),
("Too frequent", "Muito frequente"),
("Cancel", "Cancelar"),
("Skip", "Pular"),
("Close", "Fechar"),
("Retry", "Tentar novamente"),
("OK", "OK"),
("Password Required", "Senha necessária"),
("Please enter your password", "Por favor informe sua senha"),
("Remember password", "Lembrar senha"),
("Wrong Password", "Senha incorreta"),
("Do you want to enter again?", "Você deseja conectar novamente?"),
("Connection Error", "Erro de conexão"),
("Error", "Erro"),
("Reset by the peer", "Reiniciado pelo parceiro"),
("Connecting...", "Conectando..."),
("Connection in progress. Please wait.", "Conexão em progresso. Aguarde por favor."),
("Please try 1 minute later", "Por favor tente após 1 minuto"),
("Login Error", "Erro de login"),
("Successful", "Sucesso"),
("Connected, waiting for image...", "Conectado. Aguardando pela imagem..."),
("Name", "Nome"),
("Type", "Tipo"),
("Modified", "Modificado"),
("Size", "Tamanho"),
("Show Hidden Files", "Mostrar Arquivos Ocultos"),
("Receive", "Receber"),
("Send", "Enviar"),
("Refresh File", "Atualizar Arquivo"),
("Local", "Local"),
("Remote", "Remoto"),
("Remote Computer", "Computador Remoto"),
("Local Computer", "Computador Local"),
("Confirm Delete", "Confirmar Apagar"),
("Delete", "Apagar"),
("Properties", "Propriedades"),
("Multi Select", "Seleção múltipla"),
("Select All", "Selecionar tudo"),
("Unselect All", "Desmarcar tudo"),
("Empty Directory", "Diretório vazio"),
("Not an empty directory", "Diretório não está vazio"),
("Are you sure you want to delete this file?", "Tem certeza que deseja apagar este arquivo?"),
("Are you sure you want to delete this empty directory?", "Tem certeza que deseja apagar este diretório vazio?"),
("Are you sure you want to delete the file of this directory?", "Tem certeza que deseja apagar este arquivo deste diretório?"),
("Do this for all conflicts", "Fazer isto para todos os conflitos"),
("This is irreversible!", "Isso é irreversível!"),
("Deleting", "Apagando"),
("files", "arquivos"),
("Waiting", "Aguardando"),
("Finished", "Completo"),
("Speed", "Velocidade"),
("Custom Image Quality", "Qualidade Visual Personalizada"),
("Privacy mode", "Modo privado"),
("Block user input", "Bloquear entrada de usuário"),
("Unblock user input", "Desbloquear entrada de usuário"),
("Adjust Window", "Ajustar Janela"),
("Original", "Original"),
("Shrink", "Reduzir"),
("Stretch", "Aumentar"),
("Scrollbar", "Barra de rolagem"),
("ScrollAuto", "Rolagem automática"),
("Good image quality", "Qualidade visual boa"),
("Balanced", "Balanceada"),
("Optimize reaction time", "Otimizar tempo de resposta"),
("Custom", "Personalizado"),
("Show remote cursor", "Mostrar cursor remoto"),
("Show quality monitor", "Exibir monitor de qualidade"),
("Disable clipboard", "Desabilitar área de transferência"),
("Lock after session end", "Bloquear após o fim da sessão"),
("Insert Ctrl + Alt + Del", "Ctrl + Alt + Del Inserir"),
("Insert Lock", "Bloquear computador"),
("Refresh", "Atualizar"),
("ID does not exist", "ID não existe"),
("Failed to connect to rendezvous server", "Falha ao conectar ao servidor de rendezvous"),
("Please try later", "Por favor tente mais tarde"),
("Remote desktop is offline", "O computador remoto está offline"),
("Key mismatch", "Chaves incompatíveis"),
("Timeout", "Tempo esgotado"),
("Failed to connect to relay server", "Falha ao conectar ao servidor de relay"),
("Failed to connect via rendezvous server", "Falha ao conectar ao servidor de rendezvous"),
("Failed to connect via relay server", "Falha ao conectar através do servidor de relay"),
("Failed to make direct connection to remote desktop", "Falha ao fazer conexão direta ao desktop remoto"),
("Set Password", "Definir Senha"),
("OS Password", "Senha do SO"),
("install_tip", "Devido ao UAC, o RustDesk não funciona corretamente como o lado remoto em alguns casos. Para evitar o UAC, por favor clique no botão abaixo para instalar o RustDesk no sistema."),
("Click to upgrade", "Clique para fazer o upgrade"),
("Configure", "Configurar"),
("config_acc", "Para controlar seu computador remotamente, você precisa conceder ao RustDesk permissões de \"Acessibilidade\"."),
("config_screen", "Para acessar seu computador remotamente, você precisa conceder ao RustDesk permissões de \"Gravar a Tela\"/"),
("Installing ...", "Instalando ..."),
("Install", "Instalar"),
("Installation", "Instalação"),
("Installation Path", "Caminho da Instalação"),
("Create start menu shortcuts", "Criar atalhos no Menu Iniciar"),
("Create desktop icon", "Criar ícone na Área de Trabalho"),
("agreement_tip", "Ao iniciar a instalação, você concorda com o acordo de licença."),
("Accept and Install", "Aceitar e Instalar"),
("End-user license agreement", "Acordo de licença do usuário final"),
("Generating ...", "Gerando ..."),
("Your installation is lower version.", "Sua instalação é de uma versão menor."),
("not_close_tcp_tip", "Não feche esta janela enquanto estiver utilizando o túnel"),
("Listening ...", "Escutando ..."),
("Remote Host", "Host Remoto"),
("Remote Port", "Porta Remota"),
("Action", "Ação"),
("Add", "Adicionar"),
("Local Port", "Porta Local"),
("Local Address", "Endereço Local"),
("Change Local Port", "Alterar Porta Local"),
("setup_server_tip", "Para uma conexão mais rápida, por favor configure seu próprio servidor"),
("Too short, at least 6 characters.", "Muito curto, pelo menos 6 caracteres."),
("The confirmation is not identical.", "A confirmação não é idêntica."),
("Permissions", "Permissões"),
("Accept", "Aceitar"),
("Dismiss", "Dispensar"),
("Disconnect", "Desconectar"),
("Enable file copy and paste", "Permitir copiar e colar arquivos"),
("Connected", "Conectado"),
("Direct and encrypted connection", "Conexão direta e criptografada"),
("Relayed and encrypted connection", "Conexão via relay e criptografada"),
("Direct and unencrypted connection", "Conexão direta e não criptografada"),
("Relayed and unencrypted connection", "Conexão via relay e não criptografada"),
("Enter Remote ID", "Informe o ID Remoto"),
("Enter your password", "Informe sua senha"),
("Logging in...", "Fazendo Login..."),
("Enable RDP session sharing", "Habilitar compartilhamento de sessão RDP"),
("Auto Login", "Login Automático (Somente válido se você habilitou \"Bloquear após o fim da sessão\")"),
("Enable direct IP access", "Habilitar Acesso IP Direto"),
("Rename", "Renomear"),
("Space", "Espaço"),
("Create desktop shortcut", "Criar Atalho na Área de Trabalho"),
("Change Path", "Alterar Caminho"),
("Create Folder", "Criar Diretório"),
("Please enter the folder name", "Por favor informe o nome do diretório"),
("Fix it", "Corrigir"),
("Warning", "Aviso"),
("Login screen using Wayland is not supported", "Tela de Login utilizando Wayland não é suportada"),
("Reboot required", "Reinicialização necessária"),
("Unsupported display server", "Servidor de display não suportado"),
("x11 expected", "x11 esperado"),
("Port", "Porta"),
("Settings", "Configurações"),
("Username", "Nome de usuário"),
("Invalid port", "Porta inválida"),
("Closed manually by the peer", "Fechada manualmente pelo parceiro"),
("Enable remote configuration modification", "Habilitar modificações de configuração remotas"),
("Run without install", "Executar sem instalar"),
("Connect via relay", "Conectar via relay"),
("Always connect via relay", "Sempre conectar via relay"),
("whitelist_tip", "Somente IPs confiáveis podem me acessar"),
("Login", "Login"),
("Verify", "Verificar"),
("Remember me", "Lembrar de mim"),
("Trust this device", "Confiar neste dispositivo"),
("Verification code", "Código de verificação"),
("verification_tip", "Um novo dispositivo foi detectado e um código de verificação foi enviado para o endereço de e-mail registrado, insira o código de verificação para continuar o login."),
("Logout", "Sair"),
("Tags", "Tags"),
("Search ID", "Pesquisar ID"),
("whitelist_sep", "Separado por vírcula, ponto-e-vírgula, espaços ou nova linha"),
("Add ID", "Adicionar ID"),
("Add Tag", "Adicionar Tag"),
("Unselect all tags", "Desmarcar todas as tags"),
("Network error", "Erro de rede"),
("Username missed", "Nome de usuário requerido"),
("Password missed", "Senha requerida"),
("Wrong credentials", "Nome de usuário ou senha incorretos"),
("The verification code is incorrect or has expired", "O código de verificação está incorreto ou expirou"),
("Edit Tag", "Editar Tag"),
("Forget Password", "Esquecer Senha"),
("Favorites", "Favoritos"),
("Add to Favorites", "Adicionar aos Favoritos"),
("Remove from Favorites", "Remover dos Favoritos"),
("Empty", "Vazio"),
("Invalid folder name", "Nome de diretório inválido"),
("Socks5 Proxy", "Proxy Socks5"),
("Socks5/Http(s) Proxy", "Proxy Socks5/Http(s)"),
("Discovered", "Descoberto"),
("install_daemon_tip", "Para inicialização junto ao sistema, você deve instalar o serviço de sistema."),
("Remote ID", "ID Remoto"),
("Paste", "Colar"),
("Paste here?", "Colar aqui?"),
("Are you sure to close the connection?", "Tem certeza que deseja fechar a conexão?"),
("Download new version", "Baixar nova versão"),
("Touch mode", "Modo toque"),
("Mouse mode", "Modo mouse"),
("One-Finger Tap", "Toque com um dedo"),
("Left Mouse", "Botão esquerdo do mouse"),
("One-Long Tap", "Um toque longo"),
("Two-Finger Tap", "Toque com dois dedos"),
("Right Mouse", "Botão direito do mouse"),
("One-Finger Move", "Mover com um dedo"),
("Double Tap & Move", "Toque duplo & mover"),
("Mouse Drag", "Arrastar com o mouse"),
("Three-Finger vertically", "Três dedos verticalmente"),
("Mouse Wheel", "Roda do Mouse"),
("Two-Finger Move", "Mover com dois dedos"),
("Canvas Move", "Mover Tela"),
("Pinch to Zoom", "Pinçar para Zoom"),
("Canvas Zoom", "Zoom na tela"),
("Reset canvas", "Reiniciar tela"),
("No permission of file transfer", "Sem permissão para transferência de arquivo"),
("Note", "Nota"),
("Connection", "Conexão"),
("Share screen", "Compartilhar Tela"),
("Chat", "Chat"),
("Total", "Total"),
("items", "itens"),
("Selected", "Selecionado"),
("Screen Capture", "Captura de Tela"),
("Input Control", "Controle de Entrada"),
("Audio Capture", "Captura de Áudio"),
("Do you accept?", "Você aceita?"),
("Open System Setting", "Abrir Configurações do Sistema"),
("How to get Android input permission?", "Como habilitar a permissão de entrada do Android?"),
("android_input_permission_tip1", "Para que um dispositivo remoto controle seu dispositivo Android via mouse ou toque, você precisa permitir que o RustDesk use o serviço \"Acessibilidade\"."),
("android_input_permission_tip2", "Por favor vá para a próxima página de configuração do sistema, encontre e entre [Serviços Instalados], HABILITE o serviço [RustDesk Input]."),
("android_new_connection_tip", "Nova requisição de controle recebida, solicita o controle de seu dispositivo atual."),
("android_service_will_start_tip", "Habilitar a Captura de Tela irá automaticamente inicalizar o serviço, permitindo que outros dispositivos solicitem uma conexão deste dispositivo."),
("android_stop_service_tip", "Fechar o serviço irá automaticamente fechar todas as conexões estabelecidas."),
("android_version_audio_tip", "A versão atual do Android não suporta captura de áudio, por favor atualize para o Android 10 ou superior."),
("android_start_service_tip", "Toque em [Iniciar serviço] ou habilite a permissão [Captura de tela] para iniciar o serviço de compartilhamento de tela."),
("android_permission_may_not_change_tip", "As permissões para conexões estabelecidas podem não ser alteradas instantaneamente até que seja reconectado."),
("Account", "Conta"),
("Overwrite", "Substituir"),
("This file exists, skip or overwrite this file?", "Este arquivo existe, pular ou substituir este arquivo?"),
("Quit", "Sair"),
("Help", "Ajuda"),
("Failed", "Falhou"),
("Succeeded", "Sucesso"),
("Someone turns on privacy mode, exit", "Alguém habilitou o modo de privacidade, sair"),
("Unsupported", "Não suportado"),
("Peer denied", "Parceiro negou"),
("Please install plugins", "Por favor instale plugins"),
("Peer exit", "Parceiro saiu"),
("Failed to turn off", "Falha ao desligar"),
("Turned off", "Desligado"),
("Language", "Idioma"),
("Keep RustDesk background service", "Manter o serviço do RustDesk executando em segundo plano"),
("Ignore Battery Optimizations", "Ignorar otimizações de bateria"),
("android_open_battery_optimizations_tip", "Abrir otimizações de bateria"),
("Start on boot", "Iniciar na Inicialização"),
("Start the screen sharing service on boot, requires special permissions", "Inicie o serviço de compartilhamento de tela na inicialização, requer permissões especiais"),
("Connection not allowed", "Conexão não permitida"),
("Legacy mode", "Modo legado"),
("Map mode", "Modo mapa"),
("Translate mode", "Modo traduzido"),
("Use permanent password", "Utilizar senha permanente"),
("Use both passwords", "Utilizar ambas as senhas"),
("Set permanent password", "Configurar senha permanente"),
("Enable remote restart", "Habilitar Reinicialização Remota"),
("Restart remote device", "Reiniciar Dispositivo Remoto"),
("Are you sure you want to restart", "Você tem certeza que deseja reiniciar?"),
("Restarting remote device", "Reiniciando dispositivo remoto"),
("remote_restarting_tip", "O dispositivo remoto está reiniciando, feche esta caixa de mensagem e reconecte com a senha permanente depois de um tempo"),
("Copied", "Copiado"),
("Exit Fullscreen", "Sair da Tela Cheia"),
("Fullscreen", "Tela Cheia"),
("Mobile Actions", "Ações móveis"),
("Select Monitor", "Selecionar monitor"),
("Control Actions", "Controlar ações"),
("Display Settings", "Configurações de exibição"),
("Ratio", "Proporção"),
("Image Quality", "Qualidade de Imagem"),
("Scroll Style", "Estilo de Rolagem"),
("Show Toolbar", "Mostrar Barra de Ferramentas"),
("Hide Toolbar", "Ocultar Barra de Ferramentas"),
("Direct Connection", "Conexão Direta"),
("Relay Connection", "Conexão via Relay"),
("Secure Connection", "Conexão Segura"),
("Insecure Connection", "Conexão Insegura"),
("Scale original", "Escala original"),
("Scale adaptive", "Escala adaptada"),
("General", "Geral"),
("Security", "Segurança"),
("Theme", "Tema"),
("Dark Theme", "Tema Escuro"),
("Light Theme", "Tema Claro"),
("Dark", "Escuro"),
("Light", "Claro"),
("Follow System", "Padrão do sistema"),
("Enable hardware codec", "Habilitar codec de hardware"),
("Unlock Security Settings", "Desbloquear configurações de segurança"),
("Enable audio", "Habilitar áudio"),
("Unlock Network Settings", "Desbloquear configurações de rede"),
("Server", "Servidor"),
("Direct IP Access", "Acesso direto por IP"),
("Proxy", "Proxy"),
("Apply", "Aplicar"),
("Disconnect all devices?", "Desconectar todos os dispositivos?"),
("Clear", "Limpar"),
("Audio Input Device", "Dispositivo de entrada de áudio"),
("Use IP Whitelisting", "Utilizar lista de IPs confiáveis"),
("Network", "Rede"),
("Pin Toolbar", "Fixar Barra de Ferramentas"),
("Unpin Toolbar", "Desafixar Barra de Ferramentas"),
("Recording", "Gravando"),
("Directory", "Diretório"),
("Automatically record incoming sessions", "Gravar automaticamente sessões de entrada"),
("Automatically record outgoing sessions", "Gravar automaticamente sessões de saída"),
("Change", "Alterar"),
("Start session recording", "Iniciar gravação da sessão"),
("Stop session recording", "Parar gravação da sessão"),
("Enable recording session", "Habilitar gravação da sessão"),
("Enable LAN discovery", "Habilitar descoberta da LAN"),
("Deny LAN discovery", "Negar descoberta da LAN"),
("Write a message", "Escrever uma mensagem"),
("Prompt", "Prompt de comando"),
("Please wait for confirmation of UAC...", "Favor aguardar a confirmação do UAC..."),
("elevated_foreground_window_tip", "A janela atual da área de trabalho remota requer privilégios mais altos para operar, portanto, não é possível usar o mouse e o teclado temporariamente. Você pode solicitar ao usuário remoto para minimizar a janela atual ou clicar no botão de elevação na janela de gerenciamento de conexão. Para evitar esse problema, é recomendável instalar o software no dispositivo remoto."),
("Disconnected", "Desconectado"),
("Other", "Outro"),
("Confirm before closing multiple tabs", "Confirmar antes de fechar múltiplas abas"),
("Keyboard Settings", "Configurações de teclado"),
("Full Access", "Acesso completo"),
("Screen Share", "Compartilhamento de tela"),
("Wayland requires Ubuntu 21.04 or higher version.", "Wayland requer Ubuntu 21.04 ou versão superior."),
("Wayland requires higher version of linux distro. Please try X11 desktop or change your OS.", "Wayland requer uma versão superior da distribuição linux. Por favor, tente o desktop X11 ou mude seu sistema operacional."),
("JumpLink", "JumpLink"),
("Please Select the screen to be shared(Operate on the peer side).", "Por favor, selecione a tela a ser compartilhada (operar no lado do parceiro)."),
("Show RustDesk", "Exibir RustDesk"),
("This PC", "Este Computador"),
("or", "ou"),
("Continue with", "Continuar com"),
("Elevate", "Elevar"),
("Zoom cursor", "Aumentar cursor"),
("Accept sessions via password", "Aceitar sessões via senha"),
("Accept sessions via click", "Aceitar sessões via clique"),
("Accept sessions via both", "Aceitar sessões de ambos os modos"),
("Please wait for the remote side to accept your session request...", "Por favor aguarde enquanto o cliente remoto aceita seu pedido de sessão..."),
("One-time Password", "Senha de uso único"),
("Use one-time password", "Usar senha de uso único"),
("One-time password length", "Comprimento da senha de uso único"),
("Request access to your device", "Solicitar acesso ao seu dispositivo"),
("Hide connection management window", "Ocultar janela de gerenciamento de conexão"),
("hide_cm_tip", "Permitir ocultação somente se aceitar sessões via senha e usar senha permanente"),
("wayland_experiment_tip", "O suporte ao Wayland está em estágio experimental, use o X11 se precisar de acesso autônomo."),
("Right click to select tabs", "Clique com o botão direito para selecionar as guias"),
("Skipped", "Ignorado"),
("Add to address book", "Adicionar ao livro de endereços"),
("Group", "Grupo"),
("Search", "Buscar"),
("Closed manually by web console", "Fechado manualmente pelo console da web"),
("Local keyboard type", "Tipo de teclado local"),
("Select local keyboard type", "Selecione o tipo de teclado local"),
("software_render_tip", "Se você tiver uma placa gráfica Nvidia e a janela remota fechar imediatamente após a conexão, instalar o driver nouveau e optar por usar a renderização de software pode ajudar. É necessário reiniciar o software."),
("Always use software rendering", "Sempre utilizar renderização de software"),
("config_input", "Para controlar a área de trabalho remota com teclado, você precisa conceder a permissão \"Monitoramento de entrada\" do RustDesk."),
("config_microphone", "Para falar remotamente, você precisa conceder a permissão \"Gravar áudio\" do RustDesk."),
("request_elevation_tip", "Você também pode solicitar elevação se houver alguém do lado remoto."),
("Wait", "Espera"),
("Elevation Error", "Erro de Elevação"),
("Ask the remote user for authentication", "Peça autenticação ao usuário remoto"),
("Choose this if the remote account is administrator", "Escolha isto se a conta remota for administrador"),
("Transmit the username and password of administrator", "Transmita o nome de usuário e a senha do administrador"),
("still_click_uac_tip", "Ainda requer que o usuário remoto clique em OK na janela UAC da execução do RustDesk."),
("Request Elevation", "Pedir Elevação"),
("wait_accept_uac_tip", "Aguarde até que o usuário remoto aceite a caixa de diálogo do UAC."),
("Elevate successfully", "Elevado com sucesso"),
("uppercase", "maiúsculo"),
("lowercase", "minúsculo"),
("digit", "dígito"),
("special character", "caractere especial"),
("length>=8", "tamanho>=8"),
("Weak", "Fraco"),
("Medium", "Médio"),
("Strong", "Forte"),
("Switch Sides", "Trocar de Lado"),
("Please confirm if you want to share your desktop?", "Por favor, confirme se você deseja compartilhar sua área de trabalho?"),
("Display", "Display"),
("Default View Style", "Estilo de Visualização Padrão"),
("Default Scroll Style", "Estilo de Rolagem Padrão"),
("Default Image Quality", "Qualidade de Imagem Padrão"),
("Default Codec", "Codec Padrão"),
("Bitrate", "Bitrate"),
("FPS", "FPS"),
("Auto", "Automático"),
("Other Default Options", "Outras Opções Padrão"),
("Voice call", "Chamada de voz"),
("Text chat", "Chat de texto"),
("Stop voice call", "Parar chamada de voz"),
("relay_hint_tip", "Pode não ser possível conectar diretamente, você pode tentar conectar via relay. \nAlém disso, se você quiser usar o relay em sua primeira tentativa, pode adicionar o sufixo \"/r\" ao ID ou selecionar a opção \"Sempre conectar via relay\" no cartão do parceiro."),
("Reconnect", "Reconectar"),
("Codec", "Codec"),
("Resolution", "Resolução"),
("No transfers in progress", "Nenhuma transferência em andamento"),
("Set one-time password length", "Definir comprimento de senha descartável"),
("RDP Settings", "Configurações RDP"),
("Sort by", "Ordenar por"),
("New Connection", "Nova Conexão"),
("Restore", "Restaurar"),
("Minimize", "Minimizar"),
("Maximize", "Maximizar"),
("Your Device", "Seu Dispositivo"),
("empty_recent_tip", "Ops, não há sessões recentes!\nHora de planejar uma nova."),
("empty_favorite_tip", "Ainda não há parceiros favoritos?\nVamos encontrar alguém para se conectar e adicioná-lo aos seus favoritos!"),
("empty_lan_tip", "Ah não, parece que ainda não descobrimos nenhum parceiro."),
("empty_address_book_tip", "Oh céus, parece que atualmente não há parceiros listados em seu catálogo de endereços."),
("Empty Username", "Nome de Usuário vazio"),
("Empty Password", "Senha Vazia"),
("Me", "Eu"),
("identical_file_tip", "Este arquivo é idêntico ao do parceiro."),
("show_monitors_tip", "Mostrar monitores na barra de ferramentas"),
("View Mode", "Modo de Visualização"),
("login_linux_tip", "Você precisa fazer login na conta Linux remota para habilitar uma sessão de desktop X"),
("verify_rustdesk_password_tip", "Verifique a senha do RustDesk"),
("remember_account_tip", "Lembrar desta conta"),
("os_account_desk_tip", "Esta conta é usada para fazer login no Sistema Operacional remoto e habilitar a sessão da área de trabalho em headless"),
("OS Account", "Conta do Sistema Operacional"),
("another_user_login_title_tip", "Outro usuário já está logado"),
("another_user_login_text_tip", "Desconectar"),
("xorg_not_found_title_tip", "Xorg não encontrado"),
("xorg_not_found_text_tip", "Por favor, instale o Xorg"),
("no_desktop_title_tip", "Nenhuma área de trabalho está disponível"),
("no_desktop_text_tip", "Por favor, instale a área de trabalho do GNOME"),
("No need to elevate", "Não há necessidade de elevar"),
("System Sound", "Som do Sistema"),
("Default", "Padrão"),
("New RDP", "Novo RDP"),
("Fingerprint", "Impressão Digital"),
("Copy Fingerprint", "Copiar Impressão Digital"),
("no fingerprints", "sem Impressões Digitais"),
("Select a peer", "Selecione um parceiro"),
("Select peers", "Selecione parceiros"),
("Plugins", "Plugins"),
("Uninstall", "Desinstalar"),
("Update", "Atualizar"),
("Enable", "Habilitar"),
("Disable", "Desabilitar"),
("Options", "Opções"),
("resolution_original_tip", "Resolução original"),
("resolution_fit_local_tip", "Adequar a resolução local"),
("resolution_custom_tip", "Customizar resolução"),
("Collapse toolbar", "Ocultar barra de ferramentas"),
("Accept and Elevate", "Aceitar e elevar"),
("accept_and_elevate_btn_tooltip", "Aceitar a conexão e elevar os privilégios do UAC."),
("clipboard_wait_response_timeout_tip", "Tempo de espera para a resposta da área de transferência expirado."),
("Incoming connection", "Conexão de entrada"),
("Outgoing connection", "Conexão de saída"),
("Exit", "Sair"),
("Open", "Abrir"),
("logout_tip", "Tem certeza que deseja sair?"),
("Service", "Serviço"),
("Start", "Iniciar"),
("Stop", "Parar"),
("exceed_max_devices", "Você atingiu o número máximo de dispositivos gerenciados."),
("Sync with recent sessions", "Sincronizar com sessões recentes"),
("Sort tags", "Classificar tags"),
("Open connection in new tab", "Abrir conexão em uma nova aba"),
("Move tab to new window", "Mover aba para uma nova janela"),
("Can not be empty", "Não pode estar vazio"),
("Already exists", "Já existe"),
("Change Password", "Alterar senha"),
("Refresh Password", "Atualizar senha"),
("ID", "ID"),
("Grid View", "Visualização em grade"),
("List View", "Visualização em lista"),
("Select", "Selecionar"),
("Toggle Tags", "Alternar etiquetas"),
("pull_ab_failed_tip", "Não foi possível atualizar o diretório"),
("push_ab_failed_tip", "Não foi possível sincronizar o diretório com o servidor"),
("synced_peer_readded_tip", "Os dispositivos presentes em sessões recentes serão sincronizados com o diretório."),
("Change Color", "Alterar cor"),
("Primary Color", "Cor principal"),
("HSV Color", "Cor HSV"),
("Installation Successful!", "Instalação bem-sucedida!"),
("Installation failed!", "A instalação falhou!"),
("Reverse mouse wheel", "Inverter rolagem do mouse"),
("{} sessions", "{} sessões"),
("scam_title", "Você pode estar sendo ENGANADO!"),
("scam_text1", "Se você estiver ao telefone com alguém que NÃO conhece e em quem NÃO confia e essa pessoa pedir para você usar o RustDesk e iniciar o serviço, NÃO faça isso !! e desligue imediatamente."),
("scam_text2", "Provavelmente são golpistas tentando roubar seu dinheiro ou informações privadas."),
("Don't show again", "Não mostrar novamente"),
("I Agree", "Eu concordo"),
("Decline", "Recusar"),
("Timeout in minutes", "Tempo limite em minutos"),
("auto_disconnect_option_tip", "Encerrar sessões entrantes automaticamente por inatividade do usuário."),
("Connection failed due to inactivity", "Conexão encerrada automaticamente por inatividade."),
("Check for software update on startup", "Verificar atualizações do software ao iniciar"),
("upgrade_rustdesk_server_pro_to_{}_tip", "Atualize o RustDesk Server Pro para a versão {} ou superior."),
("pull_group_failed_tip", "Não foi possível atualizar o grupo."),
("Filter by intersection", "Filtrar por interseção"),
("Remove wallpaper during incoming sessions", "Remover papel de parede durante sessão remota"),
("Test", "Teste"),
("display_is_plugged_out_msg", "A tela está desconectada. Mudando para a principal."),
("No displays", "Nenhum display encontrado"),
("Open in new window", "Abrir em uma nova janela"),
("Show displays as individual windows", "Mostrar as telas como janelas individuais"),
("Use all my displays for the remote session", "Usar todas as minhas telas para a sessão remota"),
("selinux_tip", "O SELinux está ativado em seu dispositivo, o que pode impedir que o RustDesk funcione corretamente como dispositivo controlado."),
("Change view", "Alterar visualização"),
("Big tiles", "Ícones grandes"),
("Small tiles", "Ícones pequenos"),
("List", "Lista"),
("Virtual display", "Display Virtual"),
("Plug out all", "Desconectar tudo"),
("True color (4:4:4)", "Cor verdadeira (4:4:4)"),
("Enable blocking user input", "Habilitar bloqueio da entrada do usuário"),
("id_input_tip", "Você pode inserir um ID, um IP direto ou um domínio com uma porta (<domínio>:<porta>).\nPara acessar um dispositivo em outro servidor, adicione o IP do servidor (<id>@<endereço_servidor>?key=<chave_valor>), por exemplo,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nPara acessar um dispositivo em um servidor público, insira \"<id>@public\", a chave não é necessária para um servidor público."),
("privacy_mode_impl_mag_tip", "Modo 1"),
("privacy_mode_impl_virtual_display_tip", "Modo 2"),
("Enter privacy mode", "Entrar no modo privado"),
("Exit privacy mode", "Sair do modo privado"),
("idd_not_support_under_win10_2004_tip", "O driver de tela indireto não é suportado. É necessário o Windows 10, versão 2004 ou superior."),
("input_source_1_tip", "Fonte de entrada 1"),
("input_source_2_tip", "Fonte de entrada 2"),
("Swap control-command key", "Trocar teclas Control e Comando"),
("swap-left-right-mouse", "Trocar botões esquerdo e direito do mouse"),
("2FA code", "Código 2FA"),
("More", "Mais"),
("enable-2fa-title", "Habilitar autenticação em duas etapas"),
("enable-2fa-desc", "Configure seu autenticador agora. Você pode usar um aplicativo de autenticação como Authy, Microsoft ou Google Authenticator em seu telefone ou computador. Escaneie o código QR com seu aplicativo e insira o código mostrado para habilitar a autenticação em duas etapas."),
("wrong-2fa-code", "Código inválido. Verifique se o código e as configurações de horário estão corretas."),
("enter-2fa-title", "Autenticação em duas etapas"),
("Email verification code must be 6 characters.", "O código de verificação por e-mail deve ter 6 caracteres."),
("2FA code must be 6 digits.", "O código 2FA deve ter 6 dígitos."),
("Multiple Windows sessions found", "Múltiplas sessões de janela encontradas"),
("Please select the session you want to connect to", "Por favor, selecione a sessão que você deseja se conectar"),
("powered_by_me", "Desenvolvido por RustDesk"),
("outgoing_only_desk_tip", "Esta é uma edição personalizada.\nVocê pode se conectar a outros dispositivos, mas eles não podem se conectar ao seu."),
("preset_password_warning", "Atenção: esta edição personalizada vem com uma senha predefinida. Qualquer pessoa que a conhecer poderá controlar totalmente seu dispositivo. Se isso não for o que você deseja, desinstale o software imediatamente."),
("Security Alert", "Alerta de Segurança"),
("My address book", "Minha lista de contatos"),
("Personal", "Pessoal"),
("Owner", "Proprietário"),
("Set shared password", "Definir senha compartilhada"),
("Exist in", "Existe em"),
("Read-only", "Apenas leitura"),
("Read/Write", "Leitura/escrita"),
("Full Control", "Controle total"),
("share_warning_tip", "Os campos mostrados acima são compartilhados e visíveis por outras pessoas."),
("Everyone", "Todos"),
("ab_web_console_tip", "Mais opções no console web"),
("allow-only-conn-window-open-tip", "Permitir conexões apenas quando a janela do RustDesk estiver aberta"),
("no_need_privacy_mode_no_physical_displays_tip", "Sem telas físicas, o modo privado não é necessário"),
("Follow remote cursor", "Seguir cursor remoto"),
("Follow remote window focus", "Seguir janela remota ativa"),
("default_proxy_tip", "O protocolo e a porta padrão são Socks5 e 1080"),
("no_audio_input_device_tip", "Nenhum dispositivo de entrada de áudio encontrado"),
("Incoming", "Entrada"),
("Outgoing", "Saída"),
("Clear Wayland screen selection", "Limpar seleção de tela do Wayland"),
("clear_Wayland_screen_selection_tip", "Depois de limpar a seleção de tela, você pode selecioná-la novamente para compartilhar."),
("confirm_clear_Wayland_screen_selection_tip", "Tem certeza que deseja limpar a seleção da tela do Wayland?"),
("android_new_voice_call_tip", "Uma nova solicitação de chamada de voz foi recebida. Se você aceitar, o áudio será alternado para comunicação por voz."),
("texture_render_tip", "Use renderização de textura para tornar as imagens mais suaves"),
("Use texture rendering", "Usar renderização de textura"),
("Floating window", "Janela flutuante"),
("floating_window_tip", "Ajuda a manter o serviço RustDesk em segundo plano"),
("Keep screen on", "Manter tela ligada"),
("Never", "Nunca"),
("During controlled", "Durante controle"),
("During service is on", "Enquanto o serviço estiver ativo"),
("Capture screen using DirectX", "Capturar tela usando DirectX"),
("Back", "Voltar"),
("Apps", "Apps"),
("Volume up", "Aumentar volume"),
("Volume down", "Diminuir volume"),
("Power", "Energia"),
("Telegram bot", "Bot Telegram"),
("enable-bot-tip", "Se você ativar este recurso, poderá receber o código 2FA do seu bot. Ele também pode funcionar como uma notificação de conexão."),
("enable-bot-desc", "1. Abra um chat com @BotFather.\n2. Envie o comando \"/newbot\". Você receberá um token após completar esta etapa.\n3. Inicie um chat com o seu bot recém-criado. Envie uma mensagem começando com uma barra invertida (\"/\"), como \"/hello\", para ativá-lo.\n"),
("cancel-2fa-confirm-tip", "Tem certeza de que deseja cancelar a 2FA?"),
("cancel-bot-confirm-tip", "Tem certeza de que deseja cancelar o bot do Telegram?"),
("About RustDesk", "Sobre RustDesk"),
("Send clipboard keystrokes", "Colar área de transferência"),
("network_error_tip", "Por favor, verifique sua conexão de rede e clique em tentar novamente."),
("Unlock with PIN", "Desbloquear com PIN"),
("Requires at least {} characters", "São necessários pelo menos {} caracteres"),
("Wrong PIN", "PIN Errado"),
("Set PIN", "Definir PIN"),
("Enable trusted devices", "Habilitar dispositivos confiáveis"),
("Manage trusted devices", "Gerenciar dispositivos confiáveis"),
("Platform", "Plataforma"),
("Days remaining", "Dias restantes"),
("enable-trusted-devices-tip", "Ignore a verificação de dois fatores em dispositivos confiáveis"),
("Parent directory", "Diretório pai"),
("Resume", "Continuar"),
("Invalid file name", "Nome de arquivo inválido"),
("one-way-file-transfer-tip", "A transferência de arquivos unidirecional está ativada no dispositivo controlado."),
("Authentication Required", "Autenticação necessária"),
("Authenticate", "Autenticar"),
("web_id_input_tip", "Você pode inserir um ID no mesmo servidor; o acesso direto por IP não é suportado no cliente web.\nSe desejar acessar um dispositivo em outro servidor, por favor, adicione o endereço do servidor (<id>@<endereço_servidor>?key=<valor_chave>), por exemplo,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nSe desejar acessar um dispositivo em um servidor público, por favor, insira \"<id>@public\", a chave não é necessária para servidores públicos."),
("Download", "Baixar"),
("Upload folder", "Carregar pasta"),
("Upload files", "Carregar arquivos"),
("Clipboard is synchronized", "A área de transferência está sincronizada"),
("Update client clipboard", "Atualizar a área de transferência do cliente"),
("Untagged", "Sem etiqueta"),
("new-version-of-{}-tip", "Uma nova versão de {} está disponível"),
("Accessible devices", "Dispositivos acessíveis"),
("upgrade_remote_rustdesk_client_to_{}_tip", "Atualize o cliente RustDesk para a versão {} ou superior no lado remoto."),
("d3d_render_tip", "Em algumas máquinas, a tela do controle remoto pode ficar preta ao usar a renderização D3D."),
("Use D3D rendering", "Usar renderização D3D"),
("Printer", "Impressora"),
("printer-os-requirement-tip", "A função de impressão de saída requer Windows 10 ou superior."),
("printer-requires-installed-{}-client-tip", "{} deve ser instalado neste dispositivo antes que você possa usar a impressão remota."),
("printer-{}-not-installed-tip", "A impressora {} não está instalada."),
("printer-{}-ready-tip", "A impressora {} está instalada e operacional."),
("Install {} Printer", "Instalar impressora {}"),
("Outgoing Print Jobs", "Trabalhos de impressão enviados"),
("Incoming Print Jobs", "Trabalhos de impressão recebidos"),
("Incoming Print Job", "Impressão recebida"),
("use-the-default-printer-tip", "Usar impressora padrão"),
("use-the-selected-printer-tip", "Usar impressora selecionada"),
("auto-print-tip", "Imprimir automaticamente usando a impressora selecionada."),
("print-incoming-job-confirm-tip", "O dispositivo remoto enviou uma impressão. Deseja imprimir?"),
("remote-printing-disallowed-tile-tip", "Impressão remota não permitida"),
("remote-printing-disallowed-text-tip", "As configurações do dispositivo controlado não permitem impressão remota."),
("save-settings-tip", "Salvar configurações"),
("dont-show-again-tip", "Não mostrar novamente"),
("Take screenshot", ""),
("Taking screenshot", ""),
("screenshot-merged-screen-not-supported-tip", ""),
("screenshot-action-tip", ""),
("Save as", ""),
("Copy to clipboard", ""),
("Enable remote printer", ""),
("Downloading {}", ""),
("{} Update", ""),
("{}-to-update-tip", ""),
("download-new-version-failed-tip", ""),
("Auto update", ""),
("update-failed-check-msi-tip", ""),
("websocket_tip", ""),
("Use WebSocket", ""),
("Trackpad speed", ""),
("Default trackpad speed", ""),
("Numeric one-time password", ""),
("Enable IPv6 P2P connection", ""),
("Enable UDP hole punching", ""),
("View camera", "Visualizar câmera"),
("Enable camera", "Ativar câmera"),
("No cameras", "Sem câmeras"),
("view_camera_unsupported_tip", "O dispositivo remoto não suporta visualização da câmera."),
("Terminal", ""),
("Enable terminal", ""),
("New tab", ""),
("Keep terminal sessions on disconnect", ""),
("Terminal (Run as administrator)", ""),
("terminal-admin-login-tip", ""),
("Failed to get user token.", ""),
("Incorrect username or password.", ""),
("The user is not an administrator.", ""),
("Failed to check if the user is an administrator.", ""),
("Supported only in the installed version.", ""),
("elevation_username_tip", ""),
("Preparing for installation ...", ""),
("Show my cursor", ""),
("Scale custom", "Escala personalizada"),
("Custom scale slider", "Controle deslizante de escala personalizada"),
("Decrease", "Diminuir"),
("Increase", "Aumentar"),
("Show virtual mouse", ""),
("Virtual mouse size", ""),
("Small", ""),
("Large", ""),
("Show virtual joystick", ""),
("Edit note", ""),
("Alias", ""),
("ScrollEdge", ""),
].iter().cloned().collect();
}