mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-14 01:19:09 +02:00
1815 lines
84 KiB
JSON
1815 lines
84 KiB
JSON
{
|
||
"tray.tooltip": {
|
||
"message": "NetBird",
|
||
"description": "Hover tooltip on the system-tray / menu-bar icon. Brand name — do not translate."
|
||
},
|
||
"tray.status.disconnected": {
|
||
"message": "Desconectado",
|
||
"description": "Connection status surfaced through the tray icon: the client is not connected to the network."
|
||
},
|
||
"tray.status.daemonUnavailable": {
|
||
"message": "Não está em execução",
|
||
"description": "Tray status: the background NetBird service (daemon) is not running."
|
||
},
|
||
"tray.status.error": {
|
||
"message": "Erro",
|
||
"description": "Tray status: the client is in an error state."
|
||
},
|
||
"tray.status.connected": {
|
||
"message": "Conectado",
|
||
"description": "Tray status: connected to the NetBird network."
|
||
},
|
||
"tray.status.connecting": {
|
||
"message": "Conectando",
|
||
"description": "Tray status: a connection is being established."
|
||
},
|
||
"tray.status.needsLogin": {
|
||
"message": "Login necessário",
|
||
"description": "Tray status: the user must sign in before connecting."
|
||
},
|
||
"tray.status.loginFailed": {
|
||
"message": "Falha no login",
|
||
"description": "Tray status: the last sign-in attempt failed."
|
||
},
|
||
"tray.status.sessionExpired": {
|
||
"message": "Sessão expirada",
|
||
"description": "Tray status: the authenticated session expired; the user must sign in again."
|
||
},
|
||
"tray.session.expiresIn": {
|
||
"message": "A sessão expira em {remaining}",
|
||
"description": "Tray row showing time left before the session expires. {remaining} is a human-readable duration such as '5 minutes', built from the tray.session.unit.* strings. Keep {remaining} unchanged."
|
||
},
|
||
"tray.session.unit.lessThanMinute": {
|
||
"message": "menos de um minuto",
|
||
"description": "Duration fragment substituted into {remaining} (see tray.session.expiresIn). Used when under one minute remains."
|
||
},
|
||
"tray.session.unit.minute": {
|
||
"message": "1 minuto",
|
||
"description": "Duration fragment for exactly one minute, substituted into {remaining}."
|
||
},
|
||
"tray.session.unit.minutes": {
|
||
"message": "{count} minutos",
|
||
"description": "Duration fragment for several minutes, substituted into {remaining}. {count} is the number of minutes; keep {count}."
|
||
},
|
||
"tray.session.unit.hour": {
|
||
"message": "1 hora",
|
||
"description": "Duration fragment for exactly one hour, substituted into {remaining}."
|
||
},
|
||
"tray.session.unit.hours": {
|
||
"message": "{count} horas",
|
||
"description": "Duration fragment for several hours. {count} is the number of hours; keep {count}."
|
||
},
|
||
"tray.session.unit.day": {
|
||
"message": "1 dia",
|
||
"description": "Duration fragment for exactly one day, substituted into {remaining}."
|
||
},
|
||
"tray.session.unit.days": {
|
||
"message": "{count} dias",
|
||
"description": "Duration fragment for several days. {count} is the number of days; keep {count}."
|
||
},
|
||
"tray.menu.open": {
|
||
"message": "Abrir o NetBird",
|
||
"description": "Tray menu item that opens the main NetBird window. Keep short."
|
||
},
|
||
"tray.menu.connect": {
|
||
"message": "Conectar",
|
||
"description": "Tray menu item that connects to the network. Keep short."
|
||
},
|
||
"tray.menu.disconnect": {
|
||
"message": "Desconectar",
|
||
"description": "Tray menu item that disconnects from the network. Keep short."
|
||
},
|
||
"tray.menu.exitNode": {
|
||
"message": "Nó de saída",
|
||
"description": "Tray submenu title for choosing an exit node (route all traffic through another peer)."
|
||
},
|
||
"tray.menu.networks": {
|
||
"message": "Recursos",
|
||
"description": "Tray submenu title listing network resources the user can reach. Labelled 'Resources' in the UI even though the key says networks."
|
||
},
|
||
"tray.menu.profiles": {
|
||
"message": "Perfis",
|
||
"description": "Tray submenu title listing connection profiles."
|
||
},
|
||
"tray.menu.manageProfiles": {
|
||
"message": "Gerenciar perfis",
|
||
"description": "Tray menu item that opens Settings → Profiles."
|
||
},
|
||
"tray.menu.settings": {
|
||
"message": "Configurações...",
|
||
"description": "Tray menu item that opens the Settings window. The trailing '...' signals that a window opens; keep it."
|
||
},
|
||
"tray.menu.debugBundle": {
|
||
"message": "Criar pacote de depuração",
|
||
"description": "Tray menu item that generates a diagnostic log bundle for support."
|
||
},
|
||
"tray.menu.about": {
|
||
"message": "Ajuda e suporte",
|
||
"description": "Tray submenu title for help and support links."
|
||
},
|
||
"tray.menu.github": {
|
||
"message": "GitHub",
|
||
"description": "Tray menu link to the GitHub repository. Brand name — do not translate."
|
||
},
|
||
"tray.menu.documentation": {
|
||
"message": "Documentação",
|
||
"description": "Tray menu link to the online documentation."
|
||
},
|
||
"tray.menu.troubleshoot": {
|
||
"message": "Solução de problemas",
|
||
"description": "Tray menu link to troubleshooting help."
|
||
},
|
||
"tray.menu.downloadLatest": {
|
||
"message": "Baixar a versão mais recente",
|
||
"description": "Tray menu item to download the latest available version."
|
||
},
|
||
"tray.menu.installVersion": {
|
||
"message": "Instalar a versão {version}",
|
||
"description": "Tray menu item to install a specific update. {version} is a version number like 0.30.1; keep {version}."
|
||
},
|
||
"tray.menu.guiVersion": {
|
||
"message": "GUI: {version}",
|
||
"description": "Tray menu row showing the installed UI version. 'GUI' = the graphical app. {version} is a version number; keep it."
|
||
},
|
||
"tray.menu.daemonVersion": {
|
||
"message": "Daemon: {version}",
|
||
"description": "Tray menu row showing the background-service version. 'Daemon' = the background NetBird service. {version} is a version number; keep it."
|
||
},
|
||
"tray.menu.versionUnknown": {
|
||
"message": "—",
|
||
"description": "Placeholder shown in version rows when the version can't be determined. It is an em dash — leave as-is."
|
||
},
|
||
"tray.menu.quit": {
|
||
"message": "Sair do NetBird",
|
||
"description": "Tray menu item that fully exits the app and removes the tray icon. Keep short."
|
||
},
|
||
"notify.daemonOutdated.title": {
|
||
"message": "O serviço NetBird está desatualizado",
|
||
"description": "Title of the OS desktop notification shown when the running daemon is too old for this UI."
|
||
},
|
||
"notify.daemonOutdated.body": {
|
||
"message": "Atualize o serviço NetBird para usar este aplicativo.",
|
||
"description": "Body of the desktop notification telling the user to upgrade the daemon."
|
||
},
|
||
"notify.update.title": {
|
||
"message": "Atualização do NetBird disponível",
|
||
"description": "Title of the OS desktop notification shown when an app update is available."
|
||
},
|
||
"notify.update.body": {
|
||
"message": "O NetBird {version} está disponível.",
|
||
"description": "Body of the update-available desktop notification. {version} is the new version number; keep it."
|
||
},
|
||
"notify.update.enforcedSuffix": {
|
||
"message": " O seu administrador exige esta atualização.",
|
||
"description": "Sentence appended to the update notification body when the admin has made the update mandatory. Note the leading space — keep it."
|
||
},
|
||
"notify.error.title": {
|
||
"message": "Erro",
|
||
"description": "Title of a generic error desktop notification."
|
||
},
|
||
"notify.error.connect": {
|
||
"message": "Falha ao conectar",
|
||
"description": "Error notification body shown when connecting failed."
|
||
},
|
||
"notify.error.disconnect": {
|
||
"message": "Falha ao desconectar",
|
||
"description": "Error notification body shown when disconnecting failed."
|
||
},
|
||
"notify.error.switchProfile": {
|
||
"message": "Falha ao alternar para {profile}",
|
||
"description": "Error notification shown when switching profiles failed. {profile} is the target profile name; keep it."
|
||
},
|
||
"notify.error.exitNode": {
|
||
"message": "Falha ao atualizar o nó de saída {name}",
|
||
"description": "Error notification shown when updating the exit node failed. {name} is the exit node name; keep it."
|
||
},
|
||
"notify.sessionExpired.title": {
|
||
"message": "Sessão do NetBird expirada",
|
||
"description": "Title of the desktop notification shown when the session has expired."
|
||
},
|
||
"notify.sessionExpired.body": {
|
||
"message": "A sua sessão do NetBird expirou. Faça login novamente.",
|
||
"description": "Body of the session-expired desktop notification."
|
||
},
|
||
"notify.sessionWarning.title": {
|
||
"message": "A sessão expira em breve",
|
||
"description": "Title of the desktop notification warning that the session will expire soon."
|
||
},
|
||
"notify.sessionWarning.body": {
|
||
"message": "A sua sessão do NetBird expira em {remaining}. Clique em Renovar agora para renová-la.",
|
||
"description": "Body of the session-expiry warning notification. {remaining} is a human-readable duration (see tray.session.unit.*); keep it. 'Extend now' refers to the action button notify.sessionWarning.extend."
|
||
},
|
||
"notify.sessionWarning.bodyGeneric": {
|
||
"message": "A sua sessão do NetBird está prestes a expirar. Clique em Renovar agora para renová-la.",
|
||
"description": "Generic session-expiry warning body used when the exact remaining time isn't known."
|
||
},
|
||
"notify.sessionWarning.extend": {
|
||
"message": "Renovar agora",
|
||
"description": "Action button on the session-expiry notification that renews the session. Keep short."
|
||
},
|
||
"notify.sessionWarning.dismiss": {
|
||
"message": "Dispensar",
|
||
"description": "Action button on the session-expiry notification that dismisses it. Keep short."
|
||
},
|
||
"notify.sessionWarning.failed": {
|
||
"message": "Falha ao renovar a sessão do NetBird",
|
||
"description": "Notification shown when renewing the session failed."
|
||
},
|
||
"notify.sessionWarning.successTitle": {
|
||
"message": "Sessão do NetBird renovada",
|
||
"description": "Title of the notification confirming the session was renewed."
|
||
},
|
||
"notify.sessionWarning.successBody": {
|
||
"message": "A sua sessão foi renovada.",
|
||
"description": "Body of the notification confirming the session was renewed."
|
||
},
|
||
"notify.sessionDeadlineRejected.title": {
|
||
"message": "Prazo da sessão rejeitado",
|
||
"description": "Title of the notification shown when the server sent an invalid session deadline."
|
||
},
|
||
"notify.sessionDeadlineRejected.body": {
|
||
"message": "O servidor enviou um prazo de sessão inválido. Faça login novamente.",
|
||
"description": "Body explaining the server sent an invalid session deadline and the user must sign in again."
|
||
},
|
||
"notify.mdm.policyApplied.title": {
|
||
"message": "Definições do NetBird atualizadas",
|
||
"description": "Title of the desktop notification shown when an MDM (IT-managed) policy changed the daemon configuration at runtime."
|
||
},
|
||
"notify.mdm.policyApplied.body": {
|
||
"message": "A sua configuração do NetBird foi atualizada pela política de TI.",
|
||
"description": "Body of the MDM policy-applied notification, telling the user their settings were changed by their organization's device-management policy."
|
||
},
|
||
"common.cancel": {
|
||
"message": "Cancelar",
|
||
"description": "Generic Cancel button label, reused across dialogs. Keep short."
|
||
},
|
||
"common.save": {
|
||
"message": "Salvar",
|
||
"description": "Generic Save button label. Keep short."
|
||
},
|
||
"common.saveChanges": {
|
||
"message": "Salvar alterações",
|
||
"description": "Button label to save edited settings. Keep short."
|
||
},
|
||
"common.saving": {
|
||
"message": "Salvando…",
|
||
"description": "Button label / status shown while a save is in progress. Ends with an ellipsis."
|
||
},
|
||
"common.close": {
|
||
"message": "Fechar",
|
||
"description": "Generic Close button label. Keep short."
|
||
},
|
||
"common.copy": {
|
||
"message": "Copiar",
|
||
"description": "Generic Copy button label (copy to clipboard). Keep short."
|
||
},
|
||
"common.togglePasswordVisibility": {
|
||
"message": "Alternar visibilidade da senha",
|
||
"description": "Accessibility label for the show/hide button inside a password field."
|
||
},
|
||
"common.increase": {
|
||
"message": "Aumentar",
|
||
"description": "Accessibility label for the increment (+) button on a numeric stepper input."
|
||
},
|
||
"common.decrease": {
|
||
"message": "Diminuir",
|
||
"description": "Accessibility label for the decrement (−) button on a numeric stepper input."
|
||
},
|
||
"common.delete": {
|
||
"message": "Excluir",
|
||
"description": "Generic Delete button label. Keep short."
|
||
},
|
||
"common.create": {
|
||
"message": "Criar",
|
||
"description": "Generic Create button label. Keep short."
|
||
},
|
||
"common.add": {
|
||
"message": "Adicionar",
|
||
"description": "Generic Add button label. Keep short."
|
||
},
|
||
"common.remove": {
|
||
"message": "Remover",
|
||
"description": "Generic Remove button label. Keep short."
|
||
},
|
||
"common.refresh": {
|
||
"message": "Atualizar",
|
||
"description": "Generic Refresh button label. Keep short."
|
||
},
|
||
"common.loading": {
|
||
"message": "Carregando…",
|
||
"description": "Generic loading indicator text. Ends with an ellipsis."
|
||
},
|
||
"common.netbird": {
|
||
"message": "NetBird",
|
||
"description": "The product name. Brand — do not translate."
|
||
},
|
||
"common.noResults.title": {
|
||
"message": "Nenhum resultado encontrado",
|
||
"description": "Title of the empty state shown when a search or filter returns nothing."
|
||
},
|
||
"common.noResults.description": {
|
||
"message": "Não encontramos nenhum resultado. Tente um termo de busca diferente ou altere os filtros.",
|
||
"description": "Body of the no-results empty state, suggesting a different search term or filters."
|
||
},
|
||
"notConnected.title": {
|
||
"message": "Desconectado",
|
||
"description": "Title of the placeholder shown on data screens while disconnected."
|
||
},
|
||
"notConnected.description": {
|
||
"message": "Conecte-se ao NetBird primeiro para ver informações detalhadas sobre seus peers, recursos de rede e nós de saída.",
|
||
"description": "Body explaining the user must connect to NetBird first to see peer, resource, and exit-node details."
|
||
},
|
||
"connect.status.disconnected": {
|
||
"message": "Desconectado",
|
||
"description": "Label on the main-window connection toggle: not connected."
|
||
},
|
||
"connect.status.connecting": {
|
||
"message": "Conectando...",
|
||
"description": "Connection toggle label while connecting. Ends with an ellipsis."
|
||
},
|
||
"connect.status.connected": {
|
||
"message": "Conectado",
|
||
"description": "Connection toggle label when connected."
|
||
},
|
||
"connect.status.disconnecting": {
|
||
"message": "Desconectando...",
|
||
"description": "Connection toggle label while disconnecting. Ends with an ellipsis."
|
||
},
|
||
"connect.status.daemonUnavailable": {
|
||
"message": "Daemon indisponível",
|
||
"description": "Connection toggle label when the background service is unavailable. 'Daemon' = background service."
|
||
},
|
||
"connect.status.loginRequired": {
|
||
"message": "Login necessário",
|
||
"description": "Connection toggle label when sign-in is required before connecting."
|
||
},
|
||
"connect.error.loginTitle": {
|
||
"message": "Falha no login",
|
||
"description": "Error-dialog title shown when sign-in fails. The action-named '… Failed' style is intentional — keep it."
|
||
},
|
||
"connect.error.connectTitle": {
|
||
"message": "Falha ao conectar",
|
||
"description": "Error-dialog title shown when connecting fails."
|
||
},
|
||
"connect.error.disconnectTitle": {
|
||
"message": "Falha ao desconectar",
|
||
"description": "Error-dialog title shown when disconnecting fails."
|
||
},
|
||
"nav.peers.title": {
|
||
"message": "Peers",
|
||
"description": "Navigation label for the Peers section (other devices in the network)."
|
||
},
|
||
"nav.peers.description": {
|
||
"message": "{connected} de {total} conectados",
|
||
"description": "Sub-label under Peers showing how many are connected. {connected} and {total} are numbers; keep both."
|
||
},
|
||
"nav.resources.title": {
|
||
"message": "Recursos",
|
||
"description": "Navigation label for the Resources section (routed networks)."
|
||
},
|
||
"nav.resources.description": {
|
||
"message": "{active} de {total} ativos",
|
||
"description": "Sub-label under Resources showing how many are active. {active} and {total} are numbers; keep both."
|
||
},
|
||
"nav.exitNode.title": {
|
||
"message": "Nós de saída",
|
||
"description": "Navigation label for the Exit Nodes section."
|
||
},
|
||
"nav.exitNode.none": {
|
||
"message": "Inativo",
|
||
"description": "Sub-label under Exit Nodes when no exit node is in use."
|
||
},
|
||
"nav.exitNode.using": {
|
||
"message": "Via {name}",
|
||
"description": "Sub-label under Exit Nodes when one is active. {name} is the exit node's name; keep it."
|
||
},
|
||
"header.openSettings": {
|
||
"message": "Abrir configurações",
|
||
"description": "Accessibility label / tooltip for the gear icon that opens Settings."
|
||
},
|
||
"header.togglePanel": {
|
||
"message": "Alternar painel lateral",
|
||
"description": "Accessibility label / tooltip for the button that shows or hides the side panel."
|
||
},
|
||
"profile.selector.loading": {
|
||
"message": "Carregando...",
|
||
"description": "Shown in the profile picker while profiles load. Ends with an ellipsis."
|
||
},
|
||
"profile.selector.noProfile": {
|
||
"message": "Nenhum perfil",
|
||
"description": "Shown in the profile picker when no profile is selected."
|
||
},
|
||
"profile.selector.searchPlaceholder": {
|
||
"message": "Buscar perfil por nome...",
|
||
"description": "Placeholder text in the profile picker's search field."
|
||
},
|
||
"profile.selector.emptyTitle": {
|
||
"message": "Nenhum perfil encontrado",
|
||
"description": "Title shown in the profile picker when a search matches no profiles."
|
||
},
|
||
"profile.selector.emptyDescription": {
|
||
"message": "Tente um termo de busca diferente ou crie um novo perfil.",
|
||
"description": "Body shown when no profiles match the search, suggesting a different term or creating one."
|
||
},
|
||
"profile.selector.newProfile": {
|
||
"message": "Novo perfil",
|
||
"description": "Button in the profile picker to create a new profile. Keep short."
|
||
},
|
||
"profile.selector.moreOptions": {
|
||
"message": "Mais opções",
|
||
"description": "Accessibility label for the per-profile kebab (⋯) menu."
|
||
},
|
||
"profile.selector.deregister": {
|
||
"message": "Cancelar registro",
|
||
"description": "Per-profile menu action: deregister (sign out of the profile but keep it)."
|
||
},
|
||
"profile.selector.delete": {
|
||
"message": "Excluir",
|
||
"description": "Per-profile menu action: delete the profile."
|
||
},
|
||
"profile.selector.switchTo": {
|
||
"message": "Alternar para este perfil",
|
||
"description": "Tooltip / label for the action that switches to a profile."
|
||
},
|
||
"profile.selector.edit": {
|
||
"message": "Editar",
|
||
"description": "Per-profile menu action: open the edit dialog to rename or change the management server."
|
||
},
|
||
"profile.edit.title": {
|
||
"message": "Editar perfil",
|
||
"description": "Title of the dialog for editing an existing profile."
|
||
},
|
||
"profile.edit.submit": {
|
||
"message": "Salvar alterações",
|
||
"description": "Submit button on the edit-profile dialog. Keep short."
|
||
},
|
||
"profile.dialog.title": {
|
||
"message": "Insira o nome do perfil",
|
||
"description": "Title of the dialog for naming a new profile."
|
||
},
|
||
"profile.dialog.nameLabel": {
|
||
"message": "Nome do perfil",
|
||
"description": "Field label for the profile name."
|
||
},
|
||
"profile.dialog.description": {
|
||
"message": "Defina um nome fácil de identificar para o seu perfil.",
|
||
"description": "Helper text under the profile-name field."
|
||
},
|
||
"profile.dialog.placeholder": {
|
||
"message": "ex.: trabalho",
|
||
"description": "Example placeholder shown in the profile-name field. 'Work' is a sample value; translate it to a natural example."
|
||
},
|
||
"profile.dialog.submit": {
|
||
"message": "Adicionar perfil",
|
||
"description": "Submit button on the add-profile dialog. Keep short."
|
||
},
|
||
"profile.dialog.required": {
|
||
"message": "Insira um nome de perfil, ex.: trabalho, casa",
|
||
"description": "Validation message shown when the profile name is empty. The examples (work, home) may be localized."
|
||
},
|
||
"profile.dialog.managementHelp": {
|
||
"message": "Use o NetBird Cloud ou seu próprio servidor.",
|
||
"description": "Helper text noting the profile can use NetBird Cloud or a self-hosted server."
|
||
},
|
||
"profile.dialog.urlUnreachable": {
|
||
"message": "Não foi possível acessar este servidor. Verifique a URL ou adicione o perfil mesmo assim se tiver certeza de que está correta.",
|
||
"description": "Soft warning when the entered server URL couldn't be reached; the user may add the profile anyway."
|
||
},
|
||
"header.menu.settings": {
|
||
"message": "Configurações...",
|
||
"description": "'More' menu item in the header that opens Settings. The trailing '...' signals a window opens."
|
||
},
|
||
"header.menu.defaultView": {
|
||
"message": "Visualização padrão",
|
||
"description": "'More' menu item that switches the main window to the compact default view."
|
||
},
|
||
"header.menu.advancedView": {
|
||
"message": "Visualização avançada",
|
||
"description": "'More' menu item that switches the main window to the wider advanced view."
|
||
},
|
||
"header.menu.updateAvailable": {
|
||
"message": "Atualização disponível",
|
||
"description": "'More' menu item / badge shown when an update is available."
|
||
},
|
||
"header.menu.open": {
|
||
"message": "Abrir menu",
|
||
"description": "Accessibility label for the header's more (⋮) button that opens the menu."
|
||
},
|
||
"header.profile.switch": {
|
||
"message": "Trocar perfil",
|
||
"description": "Accessibility label for the header's profile selector button."
|
||
},
|
||
"connect.toggle.label": {
|
||
"message": "Alternar conexão NetBird",
|
||
"description": "Accessibility label for the large connect/disconnect toggle on the main page."
|
||
},
|
||
"connect.localIp.label": {
|
||
"message": "Endereços IP locais",
|
||
"description": "Accessibility label for the local IP selector that toggles between IPv4 and IPv6 on the main page."
|
||
},
|
||
"common.search": {
|
||
"message": "Pesquisar",
|
||
"description": "Accessibility label for a generic search input."
|
||
},
|
||
"common.filter": {
|
||
"message": "Filtrar",
|
||
"description": "Accessibility label for a generic filter control."
|
||
},
|
||
"exitNodes.dropdown.trigger": {
|
||
"message": "Selecionar nó de saída",
|
||
"description": "Accessibility label for the exit-node picker button at the bottom of the main page."
|
||
},
|
||
"peers.row.label": {
|
||
"message": "Abrir detalhes de {name}, {status}",
|
||
"description": "Accessibility label for a peer row in the list. {name} is the peer name and {status} is the connection status; keep both placeholders."
|
||
},
|
||
"peers.dialog.title": {
|
||
"message": "Detalhes do par",
|
||
"description": "Accessibility title (announced to screen readers) for the peer details dialog/panel."
|
||
},
|
||
"networks.row.toggle": {
|
||
"message": "Alternar {name}",
|
||
"description": "Accessibility label for the row-wide toggle on a network/resource. {name} is the resource id; keep the placeholder."
|
||
},
|
||
"networks.bulk.label": {
|
||
"message": "Alternar todos os recursos visíveis",
|
||
"description": "Accessibility label for the bulk enable/disable button at the bottom of the resources list."
|
||
},
|
||
"profile.switch.title": {
|
||
"message": "Alternar perfil para \"{name}\"?",
|
||
"description": "Confirmation-dialog title for switching profiles. {name} is the target profile name, shown in quotes; keep {name} and the surrounding quotes."
|
||
},
|
||
"profile.switch.message": {
|
||
"message": "Tem certeza de que deseja alternar de perfil?\nO seu perfil atual será desconectado.",
|
||
"description": "Confirmation body for switching profiles. Contains a line break (\\n) — keep it."
|
||
},
|
||
"profile.switch.confirm": {
|
||
"message": "Confirmar",
|
||
"description": "Confirm button on the switch-profile dialog. Keep short."
|
||
},
|
||
"profile.deregister.title": {
|
||
"message": "Cancelar registro do perfil \"{name}\"?",
|
||
"description": "Confirmation-dialog title for deregistering a profile. {name} is the profile name; keep it and the quotes."
|
||
},
|
||
"profile.deregister.message": {
|
||
"message": "Tem certeza de que deseja cancelar o registro deste perfil?\nVocê precisará fazer login novamente para usá-lo.",
|
||
"description": "Confirmation body for deregistering; warns the user must sign in again. Contains a line break (\\n) — keep it."
|
||
},
|
||
"profile.deregister.confirm": {
|
||
"message": "Cancelar registro",
|
||
"description": "Confirm button on the deregister dialog. Keep short."
|
||
},
|
||
"profile.delete.title": {
|
||
"message": "Excluir o perfil \"{name}\"?",
|
||
"description": "Confirmation-dialog title for deleting a profile. {name} is the profile name; keep it and the quotes."
|
||
},
|
||
"profile.delete.message": {
|
||
"message": "Tem certeza de que deseja excluir este perfil?\nEsta ação não pode ser desfeita.",
|
||
"description": "Confirmation body for deleting; warns the action can't be undone. Contains a line break (\\n) — keep it."
|
||
},
|
||
"profile.delete.disabledActive": {
|
||
"message": "Perfis ativos não podem ser excluídos. Alterne para outro antes de excluir este perfil.",
|
||
"description": "Tooltip explaining the active profile can't be deleted until the user switches away."
|
||
},
|
||
"profile.delete.disabledDefault": {
|
||
"message": "O perfil padrão não pode ser excluído.",
|
||
"description": "Tooltip explaining the default profile can't be deleted."
|
||
},
|
||
"profile.error.switchTitle": {
|
||
"message": "Falha ao alternar de perfil",
|
||
"description": "Error-dialog title when switching profiles fails."
|
||
},
|
||
"profile.error.deregisterTitle": {
|
||
"message": "Falha ao cancelar registro do perfil",
|
||
"description": "Error-dialog title when deregistering a profile fails."
|
||
},
|
||
"profile.error.deleteTitle": {
|
||
"message": "Falha ao excluir o perfil",
|
||
"description": "Error-dialog title when deleting a profile fails."
|
||
},
|
||
"profile.error.createTitle": {
|
||
"message": "Falha ao criar o perfil",
|
||
"description": "Error-dialog title when creating a profile fails."
|
||
},
|
||
"profile.error.editTitle": {
|
||
"message": "Falha ao editar o perfil",
|
||
"description": "Error-dialog title when editing a profile (rename or management URL change) fails."
|
||
},
|
||
"profile.error.loadTitle": {
|
||
"message": "Falha ao carregar os perfis",
|
||
"description": "Error-dialog title when loading profiles fails."
|
||
},
|
||
"profile.dropdown.activeProfile": {
|
||
"message": "Perfil ativo",
|
||
"description": "Section heading in the header profile dropdown for the current profile."
|
||
},
|
||
"profile.dropdown.switchProfile": {
|
||
"message": "Alternar perfil",
|
||
"description": "Section heading / action in the profile dropdown to switch profiles."
|
||
},
|
||
"profile.dropdown.noEmail": {
|
||
"message": "Outro",
|
||
"description": "Label shown for a profile that has no associated email address."
|
||
},
|
||
"profile.dropdown.addProfile": {
|
||
"message": "Adicionar perfil",
|
||
"description": "Profile dropdown action to add a profile."
|
||
},
|
||
"profile.dropdown.manageProfiles": {
|
||
"message": "Gerenciar perfis",
|
||
"description": "Profile dropdown action that opens Settings → Profiles."
|
||
},
|
||
"profile.dropdown.settings": {
|
||
"message": "Configurações",
|
||
"description": "Profile dropdown action that opens Settings."
|
||
},
|
||
"settings.profiles.section.profiles": {
|
||
"message": "Perfis",
|
||
"description": "Section heading on the Profiles settings tab."
|
||
},
|
||
"settings.profiles.intro": {
|
||
"message": "Mantenha identidades separadas do NetBird lado a lado, por exemplo contas de trabalho e pessoais, ou diferentes servidores de gerenciamento. Adicione, cancele o registro ou exclua perfis abaixo.",
|
||
"description": "Intro paragraph on the Profiles settings tab explaining what profiles are for."
|
||
},
|
||
"settings.profiles.addProfile": {
|
||
"message": "Adicionar perfil",
|
||
"description": "Button on the Profiles settings tab to add a profile."
|
||
},
|
||
"settings.profiles.active": {
|
||
"message": "Ativo",
|
||
"description": "Badge marking the currently active profile in the profiles table."
|
||
},
|
||
"settings.profiles.emptyTitle": {
|
||
"message": "Nenhum perfil",
|
||
"description": "Title of the empty state when there are no profiles."
|
||
},
|
||
"settings.profiles.emptyDescription": {
|
||
"message": "Crie um perfil para conectar a um servidor de gerenciamento do NetBird.",
|
||
"description": "Body of the no-profiles empty state."
|
||
},
|
||
"settings.error.loadTitle": {
|
||
"message": "Falha ao carregar as configurações",
|
||
"description": "Error-dialog title when loading settings fails."
|
||
},
|
||
"settings.error.saveTitle": {
|
||
"message": "Falha ao salvar as configurações",
|
||
"description": "Error-dialog title when saving settings fails."
|
||
},
|
||
"settings.error.debugBundleTitle": {
|
||
"message": "Falha no pacote de depuração",
|
||
"description": "Error-dialog title when creating the debug bundle fails."
|
||
},
|
||
"settings.nav.label": {
|
||
"message": "Seções das configurações",
|
||
"description": "Accessibility label for the Settings page's side navigation (list of section tabs)."
|
||
},
|
||
"settings.tabs.general": {
|
||
"message": "Geral",
|
||
"description": "Settings tab label: General. Keep short."
|
||
},
|
||
"settings.tabs.network": {
|
||
"message": "Rede",
|
||
"description": "Settings tab label: Network. Keep short."
|
||
},
|
||
"settings.tabs.security": {
|
||
"message": "Segurança",
|
||
"description": "Settings tab label: Security. Keep short."
|
||
},
|
||
"settings.tabs.profiles": {
|
||
"message": "Perfis",
|
||
"description": "Settings tab label: Profiles. Keep short."
|
||
},
|
||
"settings.tabs.ssh": {
|
||
"message": "SSH",
|
||
"description": "Settings tab label: SSH. Acronym — keep as-is."
|
||
},
|
||
"settings.tabs.advanced": {
|
||
"message": "Avançado",
|
||
"description": "Settings tab label: Advanced. Keep short."
|
||
},
|
||
"settings.tabs.troubleshooting": {
|
||
"message": "Solução de problemas",
|
||
"description": "Settings tab label: Troubleshoot. Keep short."
|
||
},
|
||
"settings.tabs.about": {
|
||
"message": "Sobre",
|
||
"description": "Settings tab label: About. Keep short."
|
||
},
|
||
"settings.tabs.updateAvailable": {
|
||
"message": "Atualização disponível",
|
||
"description": "Settings tab label / badge shown when an update is available."
|
||
},
|
||
"settings.general.section.general": {
|
||
"message": "Geral",
|
||
"description": "Section heading on the General settings tab."
|
||
},
|
||
"settings.general.section.connection": {
|
||
"message": "Conexão",
|
||
"description": "Section heading for connection-related options on the General tab."
|
||
},
|
||
"settings.general.connectOnStartup.label": {
|
||
"message": "Conectar ao iniciar",
|
||
"description": "Toggle label: connect automatically when the service starts."
|
||
},
|
||
"settings.general.connectOnStartup.help": {
|
||
"message": "Estabelecer uma conexão automaticamente quando o serviço iniciar.",
|
||
"description": "Helper text for the connect-on-startup toggle."
|
||
},
|
||
"settings.general.notifications.label": {
|
||
"message": "Notificações na área de trabalho",
|
||
"description": "Toggle label: enable desktop notifications."
|
||
},
|
||
"settings.general.notifications.help": {
|
||
"message": "Mostrar notificações na área de trabalho para novas atualizações e eventos de conexão.",
|
||
"description": "Helper text for the desktop-notifications toggle."
|
||
},
|
||
"settings.general.autostart.label": {
|
||
"message": "Iniciar a interface do NetBird ao fazer login",
|
||
"description": "Toggle label: launch the NetBird UI at login."
|
||
},
|
||
"settings.general.autostart.help": {
|
||
"message": "Iniciar a interface do NetBird automaticamente quando você fizer login. Isto afeta apenas a interface gráfica, não o serviço em segundo plano.",
|
||
"description": "Helper text clarifying autostart affects only the UI, not the background service."
|
||
},
|
||
"settings.general.autostart.errorTitle": {
|
||
"message": "Falha ao alterar o início automático",
|
||
"description": "Error-dialog title when changing the autostart setting fails."
|
||
},
|
||
"settings.general.keepConnectedOnQuit.label": {
|
||
"message": "Permanecer conectado ao sair",
|
||
"description": "Toggle label: keep the VPN connection up after quitting the UI."
|
||
},
|
||
"settings.general.keepConnectedOnQuit.help": {
|
||
"message": "A conexão continua ativa em segundo plano depois de fechar o NetBird. Ela só para quando você mesmo a desconecta.",
|
||
"description": "Helper text for the stay-connected-after-quitting toggle."
|
||
},
|
||
"settings.general.language.label": {
|
||
"message": "Idioma de exibição",
|
||
"description": "Label for the display-language picker."
|
||
},
|
||
"settings.general.language.help": {
|
||
"message": "Escolha o idioma da interface do NetBird.",
|
||
"description": "Helper text for the language picker."
|
||
},
|
||
"settings.general.language.search": {
|
||
"message": "Buscar idioma…",
|
||
"description": "Placeholder in the language picker's search field."
|
||
},
|
||
"settings.general.language.empty": {
|
||
"message": "Nenhum idioma corresponde.",
|
||
"description": "Shown when no languages match the search."
|
||
},
|
||
"settings.general.management.label": {
|
||
"message": "Servidor de gerenciamento",
|
||
"description": "Label for the management-server selector."
|
||
},
|
||
"settings.general.management.help": {
|
||
"message": "Conecte ao NetBird Cloud ou ao seu próprio servidor de gerenciamento auto-hospedado. As alterações reconectarão o cliente.",
|
||
"description": "Helper text explaining Cloud vs self-hosted management server; warns that changes reconnect the client."
|
||
},
|
||
"settings.general.management.cloud": {
|
||
"message": "Cloud",
|
||
"description": "Option label for using NetBird Cloud as the management server."
|
||
},
|
||
"settings.general.management.selfHosted": {
|
||
"message": "Auto-hospedado",
|
||
"description": "Option label for using a self-hosted management server. 'Self-hosted' is a common technical term."
|
||
},
|
||
"settings.general.management.urlPlaceholder": {
|
||
"message": "https://netbird.selfhosted.com:443",
|
||
"description": "Example URL placeholder for the self-hosted server field. It is a sample URL — do not translate the URL itself."
|
||
},
|
||
"settings.general.management.urlError": {
|
||
"message": "Insira uma URL válida, ex.: https://netbird.selfhosted.com:443",
|
||
"description": "Validation message for an invalid management-server URL. The example URL stays as-is."
|
||
},
|
||
"settings.general.management.urlUnreachable": {
|
||
"message": "Não foi possível acessar este servidor. Verifique a URL ou salve mesmo assim se tiver certeza de que está correta.",
|
||
"description": "Soft warning when the management URL couldn't be reached; the user may save anyway."
|
||
},
|
||
"settings.general.management.switchCloudTitle": {
|
||
"message": "Alternar para o NetBird Cloud?",
|
||
"description": "Confirmation-dialog title for switching to NetBird Cloud."
|
||
},
|
||
"settings.general.management.switchCloudMessage": {
|
||
"message": "Isto desconecta o seu servidor auto-hospedado.\nVocê pode precisar fazer login novamente.",
|
||
"description": "Confirmation body warning the self-hosted server will be disconnected. Contains a line break (\\n) — keep it."
|
||
},
|
||
"settings.general.management.switchCloudConfirm": {
|
||
"message": "Alternar para o Cloud",
|
||
"description": "Confirm button for switching to Cloud. Keep short."
|
||
},
|
||
"settings.network.section.connectivity": {
|
||
"message": "Conectividade",
|
||
"description": "Section heading for connectivity options on the Network tab."
|
||
},
|
||
"settings.network.section.routingDns": {
|
||
"message": "Roteamento e DNS",
|
||
"description": "Section heading for routing and DNS options. 'DNS' is an acronym — keep it."
|
||
},
|
||
"settings.network.monitor.label": {
|
||
"message": "Reconectar ao mudar de rede",
|
||
"description": "Toggle label: reconnect automatically on network change."
|
||
},
|
||
"settings.network.monitor.help": {
|
||
"message": "Monitora a rede e reconecta automaticamente diante de mudanças como troca de Wi-Fi, alterações na Ethernet ou retorno do modo de suspensão.",
|
||
"description": "Helper text for the network-change reconnect toggle."
|
||
},
|
||
"settings.network.dns.label": {
|
||
"message": "Ativar DNS",
|
||
"description": "Toggle label: enable DNS. 'DNS' — keep acronym."
|
||
},
|
||
"settings.network.dns.help": {
|
||
"message": "Aplicar as configurações de DNS gerenciadas pelo NetBird ao resolvedor do host.",
|
||
"description": "Helper text for the enable-DNS toggle."
|
||
},
|
||
"settings.network.clientRoutes.label": {
|
||
"message": "Ativar rotas de cliente",
|
||
"description": "Toggle label: enable client routes."
|
||
},
|
||
"settings.network.clientRoutes.help": {
|
||
"message": "Aceitar rotas de outros peers para alcançar as redes deles.",
|
||
"description": "Helper text for client routes (accept routes from other peers)."
|
||
},
|
||
"settings.network.serverRoutes.label": {
|
||
"message": "Ativar rotas de servidor",
|
||
"description": "Toggle label: enable server routes."
|
||
},
|
||
"settings.network.serverRoutes.help": {
|
||
"message": "Anunciar as rotas locais deste host para outros peers.",
|
||
"description": "Helper text for server routes (advertise this host's local routes to other peers)."
|
||
},
|
||
"settings.network.ipv6.label": {
|
||
"message": "Ativar IPv6",
|
||
"description": "Toggle label: enable IPv6. 'IPv6' — keep as-is."
|
||
},
|
||
"settings.network.ipv6.help": {
|
||
"message": "Usar endereçamento IPv6 para a rede de sobreposição do NetBird.",
|
||
"description": "Helper text for the IPv6 toggle."
|
||
},
|
||
"settings.security.section.firewall": {
|
||
"message": "Firewall",
|
||
"description": "Section heading: Firewall."
|
||
},
|
||
"settings.security.section.encryption": {
|
||
"message": "Criptografia",
|
||
"description": "Section heading: Encryption."
|
||
},
|
||
"settings.security.blockInbound.label": {
|
||
"message": "Bloquear tráfego de entrada",
|
||
"description": "Toggle label: block inbound traffic."
|
||
},
|
||
"settings.security.blockInbound.help": {
|
||
"message": "Rejeitar conexões não solicitadas de peers para este dispositivo e quaisquer redes que ele roteie. O tráfego de saída não é afetado.",
|
||
"description": "Helper text for blocking inbound traffic."
|
||
},
|
||
"settings.security.blockLan.label": {
|
||
"message": "Bloquear acesso à LAN",
|
||
"description": "Toggle label: block LAN access. 'LAN' — keep acronym."
|
||
},
|
||
"settings.security.blockLan.help": {
|
||
"message": "Impedir que peers alcancem a sua rede local ou os dispositivos dela quando este dispositivo roteia o tráfego deles.",
|
||
"description": "Helper text for blocking LAN access."
|
||
},
|
||
"settings.security.rosenpass.label": {
|
||
"message": "Ativar resistência quântica",
|
||
"description": "Toggle label: enable quantum-resistance."
|
||
},
|
||
"settings.security.rosenpass.help": {
|
||
"message": "Adicionar uma troca de chaves pós-quântica via Rosenpass sobre o WireGuard®.",
|
||
"description": "Helper text: adds a post-quantum key exchange via Rosenpass on top of WireGuard®. 'Rosenpass' and 'WireGuard®' are product names — do not translate; keep the ® symbol."
|
||
},
|
||
"settings.security.rosenpassPermissive.label": {
|
||
"message": "Ativar modo permissivo",
|
||
"description": "Toggle label: enable permissive mode (for quantum-resistance)."
|
||
},
|
||
"settings.security.rosenpassPermissive.help": {
|
||
"message": "Permitir conexões com peers sem suporte a resistência quântica.",
|
||
"description": "Helper text for permissive mode (allow peers without quantum-resistance support)."
|
||
},
|
||
"settings.ssh.section.server": {
|
||
"message": "Servidor",
|
||
"description": "Section heading: Server (SSH settings)."
|
||
},
|
||
"settings.ssh.section.capabilities": {
|
||
"message": "Recursos",
|
||
"description": "Section heading: Capabilities (SSH features)."
|
||
},
|
||
"settings.ssh.section.authentication": {
|
||
"message": "Autenticação",
|
||
"description": "Section heading: Authentication (SSH)."
|
||
},
|
||
"settings.ssh.server.label": {
|
||
"message": "Ativar servidor SSH",
|
||
"description": "Toggle label: enable the SSH server."
|
||
},
|
||
"settings.ssh.server.help": {
|
||
"message": "Executar o servidor SSH do NetBird neste host para que outros peers possam conectar a ele.",
|
||
"description": "Helper text for the SSH server toggle."
|
||
},
|
||
"settings.ssh.root.label": {
|
||
"message": "Permitir login como root",
|
||
"description": "Toggle label: allow root login over SSH. 'root' is the Unix superuser account — keep as-is."
|
||
},
|
||
"settings.ssh.root.help": {
|
||
"message": "Permitir que peers façam login como usuário root. Desative para exigir uma conta sem privilégios.",
|
||
"description": "Helper text for allowing root login."
|
||
},
|
||
"settings.ssh.sftp.label": {
|
||
"message": "Permitir SFTP",
|
||
"description": "Toggle label: allow SFTP. 'SFTP' — keep acronym."
|
||
},
|
||
"settings.ssh.sftp.help": {
|
||
"message": "Transferir arquivos com segurança usando clientes SFTP ou SCP nativos.",
|
||
"description": "Helper text about SFTP/SCP file transfer. Keep the acronyms."
|
||
},
|
||
"settings.ssh.localForward.label": {
|
||
"message": "Encaminhamento de porta local",
|
||
"description": "Toggle label: local port forwarding."
|
||
},
|
||
"settings.ssh.localForward.help": {
|
||
"message": "Permitir que peers conectados encaminhem portas locais para serviços acessíveis a partir deste host.",
|
||
"description": "Helper text for local port forwarding."
|
||
},
|
||
"settings.ssh.remoteForward.label": {
|
||
"message": "Encaminhamento de porta remota",
|
||
"description": "Toggle label: remote port forwarding."
|
||
},
|
||
"settings.ssh.remoteForward.help": {
|
||
"message": "Permitir que peers conectados exponham portas deste host de volta para a própria máquina deles.",
|
||
"description": "Helper text for remote port forwarding."
|
||
},
|
||
"settings.ssh.jwt.label": {
|
||
"message": "Ativar autenticação JWT",
|
||
"description": "Toggle label: enable JWT authentication. 'JWT' — keep acronym."
|
||
},
|
||
"settings.ssh.jwt.help": {
|
||
"message": "Verificar cada sessão SSH no seu IdP para identidade do usuário e auditoria. Desative para depender apenas das políticas de ACL da rede, útil quando nenhum IdP está disponível.",
|
||
"description": "Helper text for JWT auth. 'IdP' (identity provider) and 'ACL' are acronyms — keep them."
|
||
},
|
||
"settings.ssh.jwtTtl.label": {
|
||
"message": "TTL do cache de JWT",
|
||
"description": "Label for the JWT cache time-to-live field. 'JWT' and 'TTL' — keep acronyms."
|
||
},
|
||
"settings.ssh.jwtTtl.help": {
|
||
"message": "Por quanto tempo este cliente mantém um JWT em cache antes de solicitar novamente em conexões SSH de saída. Defina como 0 para desativar o cache e autenticar em cada conexão.",
|
||
"description": "Helper text for the JWT cache TTL; mentions setting 0 to disable caching."
|
||
},
|
||
"settings.ssh.jwtTtl.suffix": {
|
||
"message": "s",
|
||
"description": "Unit suffix shown after the JWT TTL number field. The '(s)' marks an optional plural."
|
||
},
|
||
"settings.advanced.section.interface": {
|
||
"message": "Interface",
|
||
"description": "Section heading: Interface (network-interface settings)."
|
||
},
|
||
"settings.advanced.section.security": {
|
||
"message": "Segurança",
|
||
"description": "Section heading: Security (advanced)."
|
||
},
|
||
"settings.advanced.interfaceName.label": {
|
||
"message": "Nome",
|
||
"description": "Field label for the WireGuard interface name."
|
||
},
|
||
"settings.advanced.interfaceName.error": {
|
||
"message": "Use de 1 a 15 letras, dígitos, pontos, hifens ou sublinhados.",
|
||
"description": "Validation message for the interface name (allowed characters)."
|
||
},
|
||
"settings.advanced.interfaceName.errorMac": {
|
||
"message": "Deve começar com \"utun\" seguido de um número (ex.: utun100).",
|
||
"description": "Validation message specific to macOS, where the name must start with 'utun' followed by a number. Keep 'utun' and the example."
|
||
},
|
||
"settings.advanced.port.label": {
|
||
"message": "Porta",
|
||
"description": "Field label: Port."
|
||
},
|
||
"settings.advanced.port.error": {
|
||
"message": "Insira uma porta entre {min} e {max}.",
|
||
"description": "Validation message for the port range. {min} and {max} are numbers; keep them."
|
||
},
|
||
"settings.advanced.port.help": {
|
||
"message": "Se definida como 0, uma porta livre aleatória será usada.",
|
||
"description": "Helper text: 0 means a random free port is used."
|
||
},
|
||
"settings.advanced.mtu.label": {
|
||
"message": "MTU",
|
||
"description": "Field label: MTU. 'MTU' — keep acronym."
|
||
},
|
||
"settings.advanced.mtu.error": {
|
||
"message": "Insira um valor de MTU entre {min} e {max}.",
|
||
"description": "Validation message for the MTU range. {min} and {max} are numbers; keep them."
|
||
},
|
||
"settings.advanced.psk.label": {
|
||
"message": "Chave pré-compartilhada",
|
||
"description": "Field label: Pre-shared Key."
|
||
},
|
||
"settings.advanced.psk.help": {
|
||
"message": "PSK opcional do WireGuard para criptografia simétrica adicional. Não é o mesmo que uma chave de configuração do NetBird. Você só se comunicará com peers que usem a mesma chave pré-compartilhada.",
|
||
"description": "Helper text for the WireGuard PSK. 'WireGuard', 'PSK', and 'NetBird Setup Key' are product/technical terms — keep them."
|
||
},
|
||
"settings.troubleshooting.section.title": {
|
||
"message": "Pacote de depuração",
|
||
"description": "Section heading: Debug bundle."
|
||
},
|
||
"settings.troubleshooting.anonymize.label": {
|
||
"message": "Anonimizar informações sensíveis",
|
||
"description": "Label for the anonymization level dropdown (None, Default, Strict)."
|
||
},
|
||
"settings.troubleshooting.anonymize.help": {
|
||
"message": "Oculta endereços IP públicos e domínios que não são do NetBird nos logs.",
|
||
"description": "Helper text under the anonymization dropdown. The level details live in the info tooltip."
|
||
},
|
||
"settings.troubleshooting.anonymize.info": {
|
||
"message": "Default keeps internal IPv4 addresses and peer names readable for support. Strict additionally anonymizes private (RFC 1918), CGNAT, and link-local IP addresses, peer names, and WireGuard public keys. Recurring values map to the same placeholder, so peers stay distinguishable. Use Strict when sharing the bundle outside your organization.",
|
||
"description": "Info tooltip explaining the anonymization levels. 'RFC 1918', 'CGNAT', 'link-local', and 'WireGuard' are technical terms — keep them."
|
||
},
|
||
"settings.troubleshooting.anonymize.none": {
|
||
"message": "None",
|
||
"description": "Dropdown option: no anonymization."
|
||
},
|
||
"settings.troubleshooting.anonymize.default": {
|
||
"message": "Default",
|
||
"description": "Dropdown option: default anonymization level."
|
||
},
|
||
"settings.troubleshooting.anonymize.strict": {
|
||
"message": "Strict",
|
||
"description": "Dropdown option: strict anonymization level."
|
||
},
|
||
"settings.troubleshooting.systemInfo.label": {
|
||
"message": "Incluir informações do sistema",
|
||
"description": "Toggle label: include system information in the bundle."
|
||
},
|
||
"settings.troubleshooting.systemInfo.help": {
|
||
"message": "Incluir o OS, o kernel, as interfaces de rede e as tabelas de roteamento.",
|
||
"description": "Helper text listing the system info included (OS, kernel, interfaces, routing tables)."
|
||
},
|
||
"settings.troubleshooting.upload.label": {
|
||
"message": "Enviar pacote aos servidores do NetBird",
|
||
"description": "Toggle label: upload the bundle to NetBird servers."
|
||
},
|
||
"settings.troubleshooting.upload.help": {
|
||
"message": "Retorna uma chave de upload para compartilhar com o suporte do NetBird.",
|
||
"description": "Helper text for uploading the bundle."
|
||
},
|
||
"settings.troubleshooting.trace.label": {
|
||
"message": "Habilitar logs de trace",
|
||
"description": "Toggle label: raise daemon log level to TRACE while the bundle is built. 'TRACE' is a log level."
|
||
},
|
||
"settings.troubleshooting.trace.help": {
|
||
"message": "Eleva o nível de log para TRACE e o restaura em seguida.",
|
||
"description": "Helper text for the trace toggle. 'TRACE' is a log level — keep as-is."
|
||
},
|
||
"settings.troubleshooting.capture.label": {
|
||
"message": "Sessão de captura",
|
||
"description": "Toggle label: open a capture session — reconnect NetBird, wait a duration, optionally record packets."
|
||
},
|
||
"settings.troubleshooting.capture.help": {
|
||
"message": "Reconecta e aguarda para que você possa reproduzir o problema.",
|
||
"description": "Helper text for the master Capture Session toggle."
|
||
},
|
||
"settings.troubleshooting.packets.label": {
|
||
"message": "Capturar pacotes de rede",
|
||
"description": "Toggle label: capture packets to a .pcap during the capture session."
|
||
},
|
||
"settings.troubleshooting.packets.help": {
|
||
"message": "Salva um .pcap do tráfego de rede durante a sessão de captura.",
|
||
"description": "Helper text for the packet recording toggle. '.pcap' is a file extension — keep it."
|
||
},
|
||
"settings.troubleshooting.duration.label": {
|
||
"message": "Duração da captura",
|
||
"description": "Label for the trace-capture duration field."
|
||
},
|
||
"settings.troubleshooting.duration.help": {
|
||
"message": "Por quanto tempo a sessão de captura é executada.",
|
||
"description": "Helper text for the capture duration."
|
||
},
|
||
"settings.troubleshooting.duration.suffix": {
|
||
"message": "min",
|
||
"description": "Unit suffix after the duration field. The '(s)' marks an optional plural."
|
||
},
|
||
"settings.troubleshooting.create": {
|
||
"message": "Criar pacote",
|
||
"description": "Button to create the debug bundle. Keep short."
|
||
},
|
||
"settings.troubleshooting.progress.description": {
|
||
"message": "Coletando logs, detalhes do sistema e estado da conexão. Isto costuma levar um instante — mantenha esta janela aberta até concluir.",
|
||
"description": "Status text shown while the debug bundle is being collected; reassures the user they can keep using NetBird or close Settings meanwhile."
|
||
},
|
||
"settings.troubleshooting.cancelling": {
|
||
"message": "Cancelando…",
|
||
"description": "Status shown while cancelling bundle creation. Ends with an ellipsis."
|
||
},
|
||
"settings.troubleshooting.done.uploadedTitle": {
|
||
"message": "Pacote de depuração enviado com sucesso!",
|
||
"description": "Success title after the bundle was uploaded."
|
||
},
|
||
"settings.troubleshooting.done.savedTitle": {
|
||
"message": "Pacote salvo",
|
||
"description": "Title shown when the bundle was saved locally (not uploaded)."
|
||
},
|
||
"settings.troubleshooting.done.uploadedDescription": {
|
||
"message": "Compartilhe a chave de upload abaixo com o <docs>suporte do NetBird</docs>. Uma cópia local também foi salva no seu dispositivo.",
|
||
"description": "Body after upload, telling the user to share the upload key with support. '<docs>…</docs>' wraps the inline link to the NetBird support docs — keep the tags exactly and wrap the phrase that means 'NetBird support'."
|
||
},
|
||
"settings.troubleshooting.done.savedDescription": {
|
||
"message": "O seu pacote de depuração foi salvo localmente.",
|
||
"description": "Body shown when the bundle was only saved locally."
|
||
},
|
||
"settings.troubleshooting.done.copyKey": {
|
||
"message": "Copiar chave",
|
||
"description": "Button to copy the upload key. Keep short."
|
||
},
|
||
"settings.troubleshooting.done.openFolder": {
|
||
"message": "Abrir pasta",
|
||
"description": "Button to open the folder containing the bundle. Keep short."
|
||
},
|
||
"settings.troubleshooting.done.openFileLocation": {
|
||
"message": "Abrir local do arquivo",
|
||
"description": "Button to reveal the bundle file in the OS file manager."
|
||
},
|
||
"settings.troubleshooting.uploadFailedWithReason": {
|
||
"message": "Falha no upload: {reason} O pacote continua salvo localmente.",
|
||
"description": "Shown when upload failed but the bundle was saved locally. {reason} is the server error text; keep it."
|
||
},
|
||
"settings.troubleshooting.uploadFailed": {
|
||
"message": "Falha no upload. O pacote continua salvo localmente.",
|
||
"description": "Shown when upload failed (no specific reason) but the bundle was saved locally."
|
||
},
|
||
"settings.troubleshooting.stage.reconnecting": {
|
||
"message": "Reconectando o NetBird…",
|
||
"description": "Progress stage: reconnecting NetBird. Ends with an ellipsis."
|
||
},
|
||
"settings.troubleshooting.stage.capturing": {
|
||
"message": "Capturando logs de depuração",
|
||
"description": "Progress stage: capturing logs. {elapsed} and {total} are time values (e.g. 0:30 / 2:00); keep both."
|
||
},
|
||
"settings.troubleshooting.stage.bundling": {
|
||
"message": "Gerando o pacote de depuração…",
|
||
"description": "Progress stage: generating the debug bundle. Ends with an ellipsis."
|
||
},
|
||
"settings.troubleshooting.stage.uploading": {
|
||
"message": "Enviando para o NetBird…",
|
||
"description": "Progress stage: uploading to NetBird. Ends with an ellipsis."
|
||
},
|
||
"settings.troubleshooting.stage.cancelling": {
|
||
"message": "Cancelando…",
|
||
"description": "Progress stage: cancelling. Ends with an ellipsis."
|
||
},
|
||
"settings.about.client": {
|
||
"message": "NetBird Client v{version}",
|
||
"description": "About tab: client product name and version. {version} is a version number; keep it. 'NetBird Client' — keep brand."
|
||
},
|
||
"settings.about.clientName": {
|
||
"message": "NetBird Client",
|
||
"description": "About tab: the client product name shown when no version is available. Brand — do not translate."
|
||
},
|
||
"settings.about.development": {
|
||
"message": "[Development]",
|
||
"description": "Badge shown next to the version on development builds. Keep the square brackets."
|
||
},
|
||
"settings.about.gui": {
|
||
"message": "GUI v{version}",
|
||
"description": "About tab: UI component name and version. {version} is a version number; keep it. 'GUI' = the graphical app."
|
||
},
|
||
"settings.about.guiName": {
|
||
"message": "GUI",
|
||
"description": "About tab: the UI component name shown without a version. 'GUI' = the graphical app."
|
||
},
|
||
"settings.about.copyright": {
|
||
"message": "© {year} NetBird. Todos os direitos reservados.",
|
||
"description": "Copyright line. {year} is the current year; keep it. 'NetBird' — brand."
|
||
},
|
||
"settings.about.links.imprint": {
|
||
"message": "Identificação legal",
|
||
"description": "Footer link: Imprint (legal notice / Impressum)."
|
||
},
|
||
"settings.about.links.privacy": {
|
||
"message": "Privacidade",
|
||
"description": "Footer link: Privacy policy."
|
||
},
|
||
"settings.about.links.cla": {
|
||
"message": "CLA",
|
||
"description": "Footer link: CLA (Contributor License Agreement). Acronym — keep as-is."
|
||
},
|
||
"settings.about.links.terms": {
|
||
"message": "Termos de serviço",
|
||
"description": "Footer link: Terms of Service."
|
||
},
|
||
"settings.about.community.github": {
|
||
"message": "GitHub",
|
||
"description": "Community link: GitHub. Brand — do not translate."
|
||
},
|
||
"settings.about.community.slack": {
|
||
"message": "Slack",
|
||
"description": "Community link: Slack. Brand — do not translate."
|
||
},
|
||
"settings.about.community.forum": {
|
||
"message": "Fórum",
|
||
"description": "Community link: Forum."
|
||
},
|
||
"settings.about.community.documentation": {
|
||
"message": "Documentação",
|
||
"description": "Community link: Documentation."
|
||
},
|
||
"settings.about.community.feedback": {
|
||
"message": "Feedback",
|
||
"description": "Community link: Feedback."
|
||
},
|
||
"update.banner.message": {
|
||
"message": "O NetBird {version} está pronto para instalar.",
|
||
"description": "Update banner text when a new version is ready to install. {version} is the version number; keep it."
|
||
},
|
||
"update.banner.later": {
|
||
"message": "Mais tarde",
|
||
"description": "Banner button to postpone the update. Keep short."
|
||
},
|
||
"update.banner.installNow": {
|
||
"message": "Instalar agora",
|
||
"description": "Banner button to install the update now. Keep short."
|
||
},
|
||
"update.card.versionAvailableDownload": {
|
||
"message": "A versão {version} está disponível para download.",
|
||
"description": "Update card text when a version is available to download. {version} is the version number; keep it."
|
||
},
|
||
"update.card.versionAvailableInstall": {
|
||
"message": "A versão {version} está disponível para instalação.",
|
||
"description": "Update card text when a version is available to install. {version} is the version number; keep it."
|
||
},
|
||
"update.card.whatsNew": {
|
||
"message": "Novidades?",
|
||
"description": "Link / label that opens the release notes."
|
||
},
|
||
"update.card.installNow": {
|
||
"message": "Instalar agora",
|
||
"description": "Update card button: install now. Keep short."
|
||
},
|
||
"update.card.getInstaller": {
|
||
"message": "Baixar",
|
||
"description": "Update card button: download the installer."
|
||
},
|
||
"update.card.autoCheckInterval": {
|
||
"message": "O NetBird verifica atualizações em segundo plano.",
|
||
"description": "Note that NetBird checks for updates in the background."
|
||
},
|
||
"update.card.changelog": {
|
||
"message": "Registro de alterações",
|
||
"description": "Link / label: Changelog."
|
||
},
|
||
"update.card.onLatestVersion": {
|
||
"message": "Você está na versão mais recente",
|
||
"description": "Shown when the client is already up to date."
|
||
},
|
||
"update.header.tooltip": {
|
||
"message": "Atualização disponível",
|
||
"description": "Tooltip on the header update badge."
|
||
},
|
||
"update.overlay.updatingVersion": {
|
||
"message": "Atualizando o NetBird para a v{version}",
|
||
"description": "Heading in the install-progress window while updating to a specific version. {version} is the version number; keep it. The 'v' prefix is part of the version display."
|
||
},
|
||
"update.overlay.updating": {
|
||
"message": "Atualizando o NetBird",
|
||
"description": "Heading in the install-progress window while updating when the target version isn't known."
|
||
},
|
||
"update.overlay.description": {
|
||
"message": "Uma versão mais recente está disponível e sendo instalada. O NetBird reiniciará automaticamente quando a atualização terminar.",
|
||
"description": "Install-progress window body explaining NetBird will restart automatically after the update."
|
||
},
|
||
"update.overlay.error.timeoutTitle": {
|
||
"message": "A atualização está demorando demais",
|
||
"description": "Install-progress window error title: the update took too long."
|
||
},
|
||
"update.overlay.error.timeoutDescription": {
|
||
"message": "A instalação de {target} demorou demais e não foi concluída.",
|
||
"description": "Install-progress window error body for a timeout. {target} is the target-version label (see update.overlay.error.targetVersion / targetFallback); keep it."
|
||
},
|
||
"update.overlay.error.canceledTitle": {
|
||
"message": "A atualização foi interrompida",
|
||
"description": "Install-progress window error title: the update was stopped / canceled."
|
||
},
|
||
"update.overlay.error.canceledDescription": {
|
||
"message": "A atualização para {target} foi cancelada antes de terminar.",
|
||
"description": "Install-progress window error body for a canceled update. {target} is the target-version label; keep it."
|
||
},
|
||
"update.overlay.error.failTitle": {
|
||
"message": "Não foi possível instalar a atualização",
|
||
"description": "Install-progress window error title: the update couldn't be installed."
|
||
},
|
||
"update.overlay.error.failDescription": {
|
||
"message": "Não foi possível instalar {target}.",
|
||
"description": "Install-progress window error body for a failed install. {target} is the target-version label; keep it."
|
||
},
|
||
"update.overlay.error.unknownMessage": {
|
||
"message": "erro desconhecido",
|
||
"description": "Fallback text for an unspecified error, used inside other messages."
|
||
},
|
||
"update.overlay.error.targetVersion": {
|
||
"message": "v{version}",
|
||
"description": "The target-version label substituted into {target}. {version} is a number; keep the 'v' prefix."
|
||
},
|
||
"update.overlay.error.targetFallback": {
|
||
"message": "a nova versão",
|
||
"description": "Fallback target label used when the version isn't known, substituted into {target}."
|
||
},
|
||
"update.error.loadStateTitle": {
|
||
"message": "Falha ao carregar o estado da atualização",
|
||
"description": "Error-dialog title when loading update state fails."
|
||
},
|
||
"update.error.triggerTitle": {
|
||
"message": "Falha ao iniciar a atualização",
|
||
"description": "Error-dialog title when starting the update fails."
|
||
},
|
||
"update.page.versionLine": {
|
||
"message": "Atualizando o cliente para: {version}.",
|
||
"description": "Install-progress window text naming the target version. {version} is the version number; keep it."
|
||
},
|
||
"update.page.versionLineGeneric": {
|
||
"message": "Atualizando o cliente.",
|
||
"description": "Install-progress text used when the target version isn't known."
|
||
},
|
||
"update.page.outdated": {
|
||
"message": "A versão do seu cliente é anterior à versão de atualização automática definida no Management.",
|
||
"description": "Note that the client is older than the auto-update version set in Management. 'Management' = the NetBird management server / console."
|
||
},
|
||
"update.page.status.running": {
|
||
"message": "Atualizando",
|
||
"description": "Install status: updating."
|
||
},
|
||
"update.page.status.timeout": {
|
||
"message": "A atualização expirou. Tente novamente.",
|
||
"description": "Install status: timed out; asks the user to retry."
|
||
},
|
||
"update.page.status.canceled": {
|
||
"message": "Atualização cancelada.",
|
||
"description": "Install status: canceled."
|
||
},
|
||
"update.page.status.failed": {
|
||
"message": "Falha na atualização: {message}",
|
||
"description": "Install status: failed. {message} is the error detail; keep it."
|
||
},
|
||
"update.page.status.unknownError": {
|
||
"message": "erro de atualização desconhecido",
|
||
"description": "Fallback text for an unknown update error, used inside update.page.status.failed."
|
||
},
|
||
"update.page.failedTitle": {
|
||
"message": "Falha na atualização",
|
||
"description": "Heading shown when the install failed."
|
||
},
|
||
"update.page.timeoutMessage": {
|
||
"message": "A atualização expirou.",
|
||
"description": "Message shown when the install timed out."
|
||
},
|
||
"update.page.dontClose": {
|
||
"message": "Não feche esta janela.",
|
||
"description": "Warning asking the user not to close the install window."
|
||
},
|
||
"update.page.updating": {
|
||
"message": "Atualizando…",
|
||
"description": "Short status: updating. Ends with an ellipsis."
|
||
},
|
||
"update.page.complete": {
|
||
"message": "Atualização concluída",
|
||
"description": "Short status: update complete."
|
||
},
|
||
"update.page.failed": {
|
||
"message": "Falha na atualização",
|
||
"description": "Short status: update failed."
|
||
},
|
||
"window.title.settings": {
|
||
"message": "Configurações",
|
||
"description": "OS window-chrome title for the Settings window. The app prefixes it with 'NetBird - '."
|
||
},
|
||
"window.title.signIn": {
|
||
"message": "Login",
|
||
"description": "OS window-chrome title for the sign-in window."
|
||
},
|
||
"window.title.sessionExpiration": {
|
||
"message": "Sessão expirando",
|
||
"description": "OS window-chrome title for the session-expiration window."
|
||
},
|
||
"window.title.updating": {
|
||
"message": "Atualizando",
|
||
"description": "OS window-chrome title for the update / install window."
|
||
},
|
||
"window.title.welcome": {
|
||
"message": "Bem-vindo ao NetBird",
|
||
"description": "OS window-chrome title for the first-launch welcome window. 'NetBird' — brand."
|
||
},
|
||
"window.title.error": {
|
||
"message": "Erro",
|
||
"description": "OS window-chrome title for the error window."
|
||
},
|
||
"welcome.title": {
|
||
"message": "Procure o NetBird na sua bandeja",
|
||
"description": "Heading on the first onboarding step, pointing the user to the tray icon. Shown on Windows and Linux; macOS uses welcome.titleMac."
|
||
},
|
||
"welcome.titleMac": {
|
||
"message": "Procure o NetBird na sua barra de menus",
|
||
"description": "Heading on the first onboarding step on macOS, pointing the user to the menu bar icon. Use your language's Apple term for the macOS menu bar."
|
||
},
|
||
"welcome.description": {
|
||
"message": "O NetBird fica na sua bandeja. Clique no ícone para conectar, alternar perfis ou abrir as configurações.",
|
||
"description": "Body of the first onboarding step explaining the tray icon. Shown on Windows and Linux; macOS uses welcome.descriptionMac."
|
||
},
|
||
"welcome.descriptionMac": {
|
||
"message": "O NetBird fica na sua barra de menus. Clique no ícone para conectar, alternar perfis ou abrir as configurações.",
|
||
"description": "Body of the first onboarding step on macOS explaining the menu bar icon. Use your language's Apple term for the macOS menu bar."
|
||
},
|
||
"welcome.continue": {
|
||
"message": "Continuar",
|
||
"description": "Primary button to advance the onboarding. Keep short."
|
||
},
|
||
"welcome.back": {
|
||
"message": "Voltar",
|
||
"description": "Button to go back a step in onboarding. Keep short."
|
||
},
|
||
"welcome.management.title": {
|
||
"message": "Configurar o NetBird",
|
||
"description": "Heading on the onboarding step for choosing a management server."
|
||
},
|
||
"welcome.management.description": {
|
||
"message": "Clique em Continuar para começar ou escolha Auto-hospedado se você tiver o seu próprio servidor NetBird.",
|
||
"description": "Body of the management step; mentions choosing Self-hosted if the user runs their own server."
|
||
},
|
||
"welcome.management.cloud.title": {
|
||
"message": "NetBird Cloud",
|
||
"description": "Option title: NetBird Cloud. Brand — do not translate 'NetBird Cloud'."
|
||
},
|
||
"welcome.management.cloud.description": {
|
||
"message": "Use o nosso serviço hospedado. Sem configuração necessária.",
|
||
"description": "Option body for NetBird Cloud (hosted service, no setup required)."
|
||
},
|
||
"welcome.management.selfHosted.title": {
|
||
"message": "Auto-hospedado",
|
||
"description": "Option title: Self-hosted."
|
||
},
|
||
"welcome.management.selfHosted.description": {
|
||
"message": "Conecte ao seu próprio servidor de gerenciamento.",
|
||
"description": "Option body for connecting to your own management server."
|
||
},
|
||
"welcome.management.urlLabel": {
|
||
"message": "URL do servidor de gerenciamento",
|
||
"description": "Field label for the management-server URL."
|
||
},
|
||
"welcome.management.urlPlaceholder": {
|
||
"message": "https://netbird.selfhosted.com:443",
|
||
"description": "Example URL placeholder. Sample URL — do not translate it."
|
||
},
|
||
"welcome.management.urlInvalid": {
|
||
"message": "Insira uma URL válida, ex.: https://netbird.selfhosted.com:443",
|
||
"description": "Validation message for an invalid URL. The example URL stays as-is."
|
||
},
|
||
"welcome.management.urlUnreachable": {
|
||
"message": "Não foi possível acessar este servidor. Verifique a URL ou a sua rede e continue se tiver certeza de que está correta.",
|
||
"description": "Soft warning when the server couldn't be reached during onboarding; the user may continue anyway."
|
||
},
|
||
"welcome.management.checking": {
|
||
"message": "Verificando…",
|
||
"description": "Status shown while checking the server URL. Ends with an ellipsis."
|
||
},
|
||
"browserLogin.title": {
|
||
"message": "Continue no seu navegador para concluir o login",
|
||
"description": "Heading telling the user to finish signing in via their browser."
|
||
},
|
||
"browserLogin.notSeeing": {
|
||
"message": "Não está vendo a aba do navegador?",
|
||
"description": "Prompt asking whether the user doesn't see the opened browser tab."
|
||
},
|
||
"browserLogin.tryAgain": {
|
||
"message": "Tentar novamente",
|
||
"description": "Button to re-open the browser sign-in page. Keep short."
|
||
},
|
||
"browserLogin.openFailedTitle": {
|
||
"message": "Falha ao abrir o navegador",
|
||
"description": "Error-dialog title when the browser couldn't be opened."
|
||
},
|
||
"sessionExpiration.title": {
|
||
"message": "A sessão expira em breve",
|
||
"description": "Heading warning the session will expire soon."
|
||
},
|
||
"sessionExpiration.titleLater": {
|
||
"message": "A sua sessão vai expirar",
|
||
"description": "Alternate, less-urgent heading: the session will expire."
|
||
},
|
||
"sessionExpiration.description": {
|
||
"message": "Este dispositivo será desconectado em breve. Renove com um login pelo navegador.",
|
||
"description": "Body warning the device will disconnect soon; renew via a browser sign-in."
|
||
},
|
||
"sessionExpiration.descriptionLater": {
|
||
"message": "Um login pelo navegador mantém este dispositivo conectado à sua rede.",
|
||
"description": "Body for the less-urgent variant; a browser sign-in keeps the device connected."
|
||
},
|
||
"sessionExpiration.stay": {
|
||
"message": "Renovar sessão",
|
||
"description": "Button to renew the session (keep connected). Keep short."
|
||
},
|
||
"sessionExpiration.authenticate": {
|
||
"message": "Autenticar",
|
||
"description": "Button to authenticate / sign in. Keep short."
|
||
},
|
||
"sessionExpiration.logout": {
|
||
"message": "Sair",
|
||
"description": "Button to log out. Keep short."
|
||
},
|
||
"sessionExpiration.expired": {
|
||
"message": "Sessão expirada",
|
||
"description": "Heading shown once the session has actually expired."
|
||
},
|
||
"sessionExpiration.expiredDescription": {
|
||
"message": "Dispositivo desconectado. Autentique com um login pelo navegador para reconectar.",
|
||
"description": "Body shown after expiry; authenticate via a browser sign-in to reconnect."
|
||
},
|
||
"sessionExpiration.close": {
|
||
"message": "Fechar",
|
||
"description": "Close button on the session window. Keep short."
|
||
},
|
||
"sessionExpiration.extendFailedTitle": {
|
||
"message": "Falha ao renovar a sessão",
|
||
"description": "Error-dialog title when extending the session fails."
|
||
},
|
||
"sessionExpiration.logoutFailedTitle": {
|
||
"message": "Falha ao sair",
|
||
"description": "Error-dialog title when logging out fails."
|
||
},
|
||
"peers.search.placeholder": {
|
||
"message": "Buscar por nome ou IP",
|
||
"description": "Placeholder in the peers search field."
|
||
},
|
||
"peers.filter.all": {
|
||
"message": "Todos",
|
||
"description": "Peers filter option: All. Keep short."
|
||
},
|
||
"peers.filter.online": {
|
||
"message": "Online",
|
||
"description": "Peers filter option: Online. Keep short."
|
||
},
|
||
"peers.filter.offline": {
|
||
"message": "Offline",
|
||
"description": "Peers filter option: Offline. Keep short."
|
||
},
|
||
"peers.empty.title": {
|
||
"message": "Nenhum peer disponível",
|
||
"description": "Title of the empty state when no peers are available."
|
||
},
|
||
"peers.empty.description": {
|
||
"message": "Você não tem nenhum peer disponível ou não tem acesso a nenhum deles.",
|
||
"description": "Body of the no-peers empty state."
|
||
},
|
||
"peers.details.domain": {
|
||
"message": "Domínio",
|
||
"description": "Peer detail label: Domain."
|
||
},
|
||
"peers.details.netbirdIp": {
|
||
"message": "IP do NetBird",
|
||
"description": "Peer detail label: NetBird IP address. 'NetBird' — brand; 'IP' — keep acronym."
|
||
},
|
||
"peers.details.netbirdIpv6": {
|
||
"message": "IPv6 do NetBird",
|
||
"description": "Peer detail label: NetBird IPv6 address. Keep 'NetBird' and 'IPv6'."
|
||
},
|
||
"peers.details.publicKey": {
|
||
"message": "Chave pública",
|
||
"description": "Peer detail label: WireGuard public key."
|
||
},
|
||
"peers.details.connection": {
|
||
"message": "Conexão",
|
||
"description": "Peer detail label: Connection."
|
||
},
|
||
"peers.details.latency": {
|
||
"message": "Latência",
|
||
"description": "Peer detail label: Latency."
|
||
},
|
||
"peers.details.lastHandshake": {
|
||
"message": "Último handshake",
|
||
"description": "Peer detail label: time of the last WireGuard handshake."
|
||
},
|
||
"peers.details.statusSince": {
|
||
"message": "Última atualização da conexão",
|
||
"description": "Peer detail label: time since the last connection-status update."
|
||
},
|
||
"peers.details.bytes": {
|
||
"message": "Bytes",
|
||
"description": "Peer detail label: Bytes (data transferred)."
|
||
},
|
||
"peers.details.bytesSent": {
|
||
"message": "Enviados",
|
||
"description": "Peer detail label: bytes sent."
|
||
},
|
||
"peers.details.bytesReceived": {
|
||
"message": "Recebidos",
|
||
"description": "Peer detail label: bytes received."
|
||
},
|
||
"peers.details.localIce": {
|
||
"message": "ICE local",
|
||
"description": "Peer detail label: local ICE candidate. 'ICE' — keep acronym."
|
||
},
|
||
"peers.details.remoteIce": {
|
||
"message": "ICE remoto",
|
||
"description": "Peer detail label: remote ICE candidate. 'ICE' — keep acronym."
|
||
},
|
||
"peers.details.never": {
|
||
"message": "Nunca",
|
||
"description": "Value shown when an event has never happened (e.g. last handshake = Never)."
|
||
},
|
||
"peers.details.justNow": {
|
||
"message": "Agora mesmo",
|
||
"description": "Relative-time value meaning a moment ago."
|
||
},
|
||
"peers.details.refresh": {
|
||
"message": "Atualizar",
|
||
"description": "Button to refresh peer details. Keep short."
|
||
},
|
||
"peers.status.connected": {
|
||
"message": "Conectado",
|
||
"description": "Peer status: connected."
|
||
},
|
||
"peers.status.connecting": {
|
||
"message": "Conectando",
|
||
"description": "Peer status: connecting."
|
||
},
|
||
"peers.status.disconnected": {
|
||
"message": "Desconectado",
|
||
"description": "Peer status: disconnected."
|
||
},
|
||
"peers.details.relayAddress": {
|
||
"message": "Relay",
|
||
"description": "Peer detail label: Relay (relay-server address)."
|
||
},
|
||
"peers.details.networks": {
|
||
"message": "Recursos",
|
||
"description": "Peer detail label for the peer's network resources. Labelled 'Resources' in the UI."
|
||
},
|
||
"peers.details.relayed": {
|
||
"message": "Via relay",
|
||
"description": "Connection-type value: the connection is relayed (not direct). Technical term."
|
||
},
|
||
"peers.details.p2p": {
|
||
"message": "P2P",
|
||
"description": "Connection-type value: peer-to-peer (direct). 'P2P' — keep as-is."
|
||
},
|
||
"peers.details.rosenpass": {
|
||
"message": "Rosenpass ativado",
|
||
"description": "Peer detail indicating Rosenpass (quantum-resistance) is enabled. 'Rosenpass' — product name, do not translate."
|
||
},
|
||
"networks.search.placeholder": {
|
||
"message": "Buscar por rede ou domínio",
|
||
"description": "Placeholder in the resources search field."
|
||
},
|
||
"networks.filter.all": {
|
||
"message": "Todos",
|
||
"description": "Resources filter: All. Keep short."
|
||
},
|
||
"networks.filter.active": {
|
||
"message": "Ativos",
|
||
"description": "Resources filter: Active. Keep short."
|
||
},
|
||
"networks.filter.overlapping": {
|
||
"message": "Sobrepostos",
|
||
"description": "Resources filter: Overlapping (overlapping IP ranges). Keep short."
|
||
},
|
||
"networks.empty.title": {
|
||
"message": "Nenhum recurso disponível",
|
||
"description": "Title of the empty state when no resources are available."
|
||
},
|
||
"networks.empty.description": {
|
||
"message": "Você não tem nenhum recurso de rede disponível ou não tem acesso a nenhum deles.",
|
||
"description": "Body of the no-resources empty state."
|
||
},
|
||
"networks.selected": {
|
||
"message": "Selecionado",
|
||
"description": "Label / badge: the resource is selected (enabled)."
|
||
},
|
||
"networks.unselected": {
|
||
"message": "Não selecionado",
|
||
"description": "Label / badge: the resource is not selected."
|
||
},
|
||
"networks.ips.heading": {
|
||
"message": "IPs resolvidos",
|
||
"description": "Heading for the list of a resource's resolved IP addresses."
|
||
},
|
||
"networks.bulk.selectionCount": {
|
||
"message": "{selected} de {total} ativos",
|
||
"description": "Header showing how many resources are active. {selected} and {total} are numbers; keep both."
|
||
},
|
||
"networks.bulk.enableAll": {
|
||
"message": "Ativar todos",
|
||
"description": "Button to enable all resources. Keep short."
|
||
},
|
||
"networks.bulk.disableAll": {
|
||
"message": "Desativar todos",
|
||
"description": "Button to disable all resources. Keep short."
|
||
},
|
||
"exitNodes.search.placeholder": {
|
||
"message": "Buscar nós de saída",
|
||
"description": "Placeholder in the exit-nodes search field."
|
||
},
|
||
"exitNodes.none": {
|
||
"message": "Nenhum",
|
||
"description": "Option meaning no exit node. Keep short."
|
||
},
|
||
"exitNodes.empty.title": {
|
||
"message": "Nenhum nó de saída disponível",
|
||
"description": "Title of the empty state when no exit nodes are available."
|
||
},
|
||
"exitNodes.empty.description": {
|
||
"message": "Nenhum nó de saída foi compartilhado com este peer.",
|
||
"description": "Body of the no-exit-nodes empty state."
|
||
},
|
||
"exitNodes.card.title": {
|
||
"message": "Nó de saída",
|
||
"description": "Card heading: Exit Node."
|
||
},
|
||
"exitNodes.card.statusActive": {
|
||
"message": "Ativo",
|
||
"description": "Exit node card status: Active."
|
||
},
|
||
"exitNodes.card.statusInactive": {
|
||
"message": "Inativo",
|
||
"description": "Exit node card status: Inactive."
|
||
},
|
||
"exitNodes.dropdown.noneTitle": {
|
||
"message": "Nenhum",
|
||
"description": "Dropdown option title: None (no exit node)."
|
||
},
|
||
"exitNodes.dropdown.noneDescription": {
|
||
"message": "Conexão direta sem um nó de saída",
|
||
"description": "Dropdown option body for None: direct connection without an exit node."
|
||
},
|
||
"quickActions.connect": {
|
||
"message": "Conectar",
|
||
"description": "Quick-action button: Connect. Keep short."
|
||
},
|
||
"quickActions.disconnect": {
|
||
"message": "Desconectar",
|
||
"description": "Quick-action button: Disconnect. Keep short."
|
||
},
|
||
"daemon.unavailable.title": {
|
||
"message": "O serviço do NetBird não está em execução",
|
||
"description": "Title of the overlay shown when the NetBird background service isn't running."
|
||
},
|
||
"daemon.unavailable.description": {
|
||
"message": "O aplicativo reconectará automaticamente assim que o serviço estiver em execução.",
|
||
"description": "Body reassuring the user the app will reconnect once the service is running."
|
||
},
|
||
"daemon.unavailable.docsLink": {
|
||
"message": "Documentação",
|
||
"description": "Documentation link on the daemon-unavailable overlay."
|
||
},
|
||
"daemon.outdated.title": {
|
||
"message": "O NetBird Client está desatualizado",
|
||
"description": "Title of the overlay shown when the NetBird client (daemon) is too old to drive this UI."
|
||
},
|
||
"daemon.outdated.description": {
|
||
"message": "A nova GUI não é compatível com o seu cliente mais antigo. Atualize o seu cliente para usar o novo aplicativo.",
|
||
"description": "Body of the daemon-outdated overlay explaining that the GUI is newer than the client and the client must be updated."
|
||
},
|
||
"daemon.outdated.download": {
|
||
"message": "Baixar a versão mais recente",
|
||
"description": "Button on the daemon-outdated overlay that opens the download page for the latest release."
|
||
},
|
||
"error.jwt_clock_skew": {
|
||
"message": "Falha no login: o relógio deste dispositivo está fora de sincronia com o servidor. Sincronize o relógio do sistema e tente novamente.",
|
||
"description": "Sign-in error shown to the user: the device clock is out of sync with the server."
|
||
},
|
||
"error.jwt_expired": {
|
||
"message": "O seu token de login expirou. Faça login novamente.",
|
||
"description": "Sign-in error: the sign-in token expired; sign in again."
|
||
},
|
||
"error.jwt_signature_invalid": {
|
||
"message": "Falha no login: a assinatura do token é inválida. Entre em contato com o seu administrador.",
|
||
"description": "Sign-in error: the token signature is invalid; contact the administrator."
|
||
},
|
||
"error.session_expired": {
|
||
"message": "A sua sessão expirou. Faça login novamente.",
|
||
"description": "Error: the session expired; sign in again."
|
||
},
|
||
"error.invalid_setup_key": {
|
||
"message": "A chave de configuração está ausente ou é inválida.",
|
||
"description": "Error: the setup key is missing or invalid. 'setup key' is a NetBird term."
|
||
},
|
||
"error.permission_denied": {
|
||
"message": "O login foi rejeitado pelo servidor.",
|
||
"description": "Error: the server rejected the sign-in."
|
||
},
|
||
"error.daemon_unreachable": {
|
||
"message": "O daemon do NetBird não está respondendo. Verifique se o serviço está em execução.",
|
||
"description": "Error: the NetBird background service isn't responding. 'daemon' = the background service."
|
||
},
|
||
"error.unknown": {
|
||
"message": "A operação falhou.",
|
||
"description": "Generic fallback error message used when no specific error applies."
|
||
},
|
||
"settings.ssh.privilege.hint": {
|
||
"message": "Requires {actor}. Run this instead:",
|
||
"description": "Help text under an SSH setting the user cannot change: it needs elevated privileges. {actor} is 'root' on Linux/macOS or 'administrator privileges' on Windows. Followed by a copyable command."
|
||
},
|
||
"settings.ssh.privilege.oneWay": {
|
||
"message": "You can switch this off, but switching it back on needs {actor}:",
|
||
"description": "Warning under an SSH setting an unprivileged user may disable but not re-enable. {actor} is 'root' on Linux/macOS or 'administrator privileges' on Windows. Followed by a copyable command."
|
||
},
|
||
"settings.ssh.privilege.oneWayInverted": {
|
||
"message": "You can switch this on, but switching it back off needs {actor}:",
|
||
"description": "Warning under the SSH authentication setting, which an unprivileged user may re-enable but not disable again. {actor} is 'root' on Linux/macOS or 'administrator privileges' on Windows. Followed by a copyable command."
|
||
}
|
||
}
|