aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js144
1 files changed, 144 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index 824c69a..6c4f03b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -212,6 +212,9 @@ export default {
'group.download_offline': 'Sem conexão com o nó — o download não pode começar. Ele reconecta sozinho; tente de novo em instantes.',
'group.link_unknown': "Este link aponta para um grupo do qual você não é membro, ou que não tem mais esse nome.",
'group.link_path_unknown': "Não há nada em {path} neste grupo — o arquivo pode ter sido movido, renomeado ou excluído.",
+ 'link.copy': "Copiar link",
+ 'link.copied': "Link copiado",
+ 'link.copy_failed': "Não foi possível copiar — o link é {url}",
'group.download_write_stalled': 'O arquivo parou de ser gravado no disco ({seconds}s sem progresso). O download foi interrompido em vez de ficar travado; tente de novo.',
'device.add_title': 'This browser is not linked to this node yet',
'device.add_hint': 'Your account is known here, but this browser holds a different key. Approve it from a device already linked — no operator needed.',
@@ -280,6 +283,7 @@ export default {
'group.upload_indexing': 'indexando…',
'video.err_transport': 'Transporte não conectado',
'video.err_mse': 'Codec sem suporte para transmissão: {codec}',
+ 'video.err_no_mse': 'Este navegador não consegue transmitir vídeo (um iPhone precisa do iOS 17.1 ou mais recente)',
'video.mode_poster': 'Pôsteres',
'video.mode_flat': 'Lista simples',
'video.filter_all': 'All',
@@ -376,6 +380,11 @@ export default {
one: '{n} foto',
other: '{n} fotos',
},
+ 'photo.n_videos': {
+ one: "{n} vídeo",
+ other: "{n} vídeos",
+ },
+ 'photo.play_video': "Reproduzir o vídeo",
'photo.back': 'Voltar',
'photo.prev': 'Anterior (←)',
'photo.next': 'Próxima (→)',
@@ -432,6 +441,15 @@ export default {
'settings.email_verified': 'Endereço de e-mail alterado com sucesso.',
'settings.notif_global_disable': 'Desativar todas as notificações',
'settings.notif_global_hint': 'Quando ativado, nenhuma notificação é criada para nenhum grupo.',
+ 'settings.push_label': 'Notificações neste telefone',
+ 'settings.push_off': 'Desativadas. Ative para saber de novas mensagens e convites com o MeshBay fechado.',
+ 'settings.push_pending': 'Aguardando a resposta do distribuidor…',
+ 'settings.push_blocked': 'O Android está bloqueando as notificações do MeshBay: permita-as nas configurações do sistema.',
+ 'settings.push_ready': 'Ativadas. Novas notificações chegam a este telefone pelo distribuidor, criptografadas para que ele não possa lê-las.',
+ 'settings.push_poll': 'Ativadas. Este telefone verifica novas notificações a cada quinze minutos, aproximadamente. Para recebê-las na hora, você pode instalar um app distribuidor UnifiedPush como o ntfy (opcional).',
+ 'settings.push_global_off': 'Nada é enviado enquanto todas as notificações estiverem desativadas.',
+ 'push.channel_chat': 'Mensagens',
+ 'push.channel_other': 'Convites e conta',
'settings.defaults': 'Padrões',
'settings.default_tab': 'Default tab',
'settings.default_tab_hint': 'Which tab opens first when you enter a group.',
@@ -526,6 +544,9 @@ export default {
'settings.node_key_placeholder': 'Cole a chave pública Ed25519 do node (base64)',
'settings.node_key_submit': 'Vincular o node',
'settings.node_key_success': 'Node vinculado com sucesso',
+ 'settings.node_key_unlink': "Desvincular",
+ 'settings.node_key_unlink_confirm': "Desvincular o node da sua conta? Ele deixará de servir seus grupos até que um node seja vinculado novamente.",
+ 'settings.node_key_unlinked': "Node desvinculado",
'settings.node_key_current': 'Chave do node vinculado',
// Sidebar
@@ -767,6 +788,7 @@ export default {
'transfers.eta_minutes': 'faltam {n} min',
'transfers.eta_hours': 'faltam {n} h',
'transfers.failed': 'Falhou',
+ 'transfers.disk_full': 'O disco do node está cheio',
'group.select': 'Selecionar',
'group.select_done': 'Concluir',
'group.actions': 'Ações ({n})',
@@ -898,6 +920,8 @@ export default {
'lazy.reload': 'Recarregar a página',
// Sidebar
+ 'sidebar.phone': 'Celular',
+ 'androidsync.title': 'Android Sync',
'sidebar.node': 'Node',
// Node admin
@@ -923,6 +947,7 @@ export default {
'node.startup_mode_service': 'Como serviço em segundo plano (inicia na inicialização)',
'node.startup_mode_updating': 'Alternando modo — verifique se aparece um aviso de administrador…',
'node.startup_mode_service_unavailable_hint': 'O modo de serviço em segundo plano requer uma versão instalada. Para testes locais, execute "meshbay-node service install" em um PowerShell com privilégios de administrador.',
+ 'node.startup_mode_service_store_hint': 'Iniciar com o sistema, antes de qualquer login, exige o instalador do MeshBay (.exe) em vez da versão da Microsoft Store.',
'node.not_operator': 'Não foi possível alcançar seu node. Verifique se ele está em execução.',
'node.offline': 'Node está off-line',
'node.retry': 'Tentar novamente',
@@ -930,6 +955,13 @@ export default {
'node.pair_code_placeholder': 'Código de pareamento',
'node.pair_button': 'Parear este navegador',
'node.pair_success': 'Pareamento realizado com sucesso.',
+ 'node.pair_pending': 'Código de pareamento pronto: ele será usado na próxima vez que você abrir um dos grupos deste Node.',
+ 'node.link_other_node': "Sua conta está vinculada ao node de outra máquina, então este node não pode servir seus grupos.",
+ 'node.link_here': "Vincular este node no lugar",
+ 'node.link_here_confirm': "Vincular este node à sua conta? O node vinculado agora, em outra máquina, deixará de servir seus grupos até ser vinculado novamente.",
+ 'node.link_other_account': "Este node está configurado para {account}, não para você, então não pode servir seus grupos.",
+ 'node.link_take_over': "Usar este node na minha conta",
+ 'node.link_linking': "Vinculando…",
'node.reload': 'Recarregar configuração',
'node.reloaded': 'Configuração recarregada. Alterações de diretórios em grupos existentes estão ativas.',
'node.restart_needed': 'Após adicionar: inicialize a chave do grupo (meshbay-node gek-init --group <nome>).',
@@ -1080,6 +1112,8 @@ export default {
'settings_app.chat_encrypted_always': 'O chat deste grupo é sempre criptografado. Não é possível desativar.',
'settings_app.chat_rotate_epoch': 'Girar a chave do chat',
'settings_app.chat_rotate_epoch_hint': 'Os membros continuam lendo todo o histórico. Quem foi removido do grupo não conseguirá ler o que for escrito daqui em diante. Remover um membro ou dispositivo já faz isso sozinho.',
+ 'settings_app.chat_purge': 'Limpar o chat',
+ 'settings_app.chat_purge_hint': 'Apaga todas as mensagens do chat deste grupo neste nó, para todos os membros. Os anexos ficam na pasta deles. Não é possível desfazer.',
'settings_app.tmdb_token_prompt': 'Cadastre-se no TMDB para gerar sua própria chave de API.',
'settings_app.tmdb_token_link': 'Obter uma chave',
'settings_node.roots_offline_hint': 'Sem conexão com o nó — as alterações passam pelo nó local e entram em vigor no próximo recarregamento.',
@@ -1260,4 +1294,114 @@ export default {
'native.node_account_confirm': 'O node deste computador está configurado para {current}. Configurá-lo para {next} em vez disso? Ele deixará de servir os grupos que hospeda para {current}.',
'native.browser_access_confirm': 'Permitir o acesso por um navegador? O aplicativo deixará sua identidade em cada node que você usa, selada de forma que apenas sua frase secreta, junto com sua conta no hub, possa abri-la.',
'native.declined': 'Cancelado — nada foi alterado.',
+
+ // Photo backup, Android only (photo-sync.js, photo-sync-settings.js).
+ 'photosync.heading': "Backup de fotos",
+ 'photosync.intro': "Envie as fotos tiradas com este celular para uma pasta de um dos seus grupos, uma vez por dia, pelo Wi-Fi. Fotos apagadas do celular continuam no grupo.",
+ 'photosync.setup': "Configurar",
+ 'photosync.change': "Alterar",
+ 'photosync.turn_off': "Desativar",
+ 'photosync.now': "Fazer backup agora",
+ 'photosync.permission_needed': "O MeshBay precisa de acesso às fotos deste celular.",
+ 'photosync.permission_allow': "Permitir acesso",
+ 'photosync.permission_partial': "O acesso está limitado às fotos que você selecionou: novas fotos não serão salvas até você permitir o acesso a todas.",
+ 'photosync.group': "Grupo",
+ 'photosync.choose_group': "Escolha um grupo",
+ 'photosync.checking_group': "Lendo as pastas do grupo…",
+ 'photosync.group_offline': "Nenhum node que hospeda este grupo está on-line agora. Tente de novo quando estiver.",
+ 'photosync.folder': "Pasta",
+ 'photosync.albums': "Álbuns deste celular",
+ 'photosync.album_camera': "Câmera",
+ 'photosync.album_count': "{n} fotos · {size}",
+ 'photosync.videos_not_included': "Os vídeos não têm backup: “Alterar” para adicioná-los.",
+ 'photosync.videos_included': "Os vídeos também têm backup.",
+ 'photosync.include_videos': "Vídeos também",
+ 'photosync.include_videos_hint': "Vídeos são pesados: vão pelo Wi-Fi como as fotos, e o primeiro backup pode demorar.",
+ 'photosync.album_count_videos': "{n} fotos, {v} vídeos · {size}",
+ 'photosync.confirm_videos': "{count} fotos e vídeos ({size}), sendo {videos} vídeos ({videoSize}), serão enviados para {dir} e depois os novos uma vez por dia.",
+ 'photosync.video_permission_needed': "O MeshBay também precisa de acesso aos vídeos deste celular.",
+ 'photosync.scope_existing': "As fotos que já estão neste celular, depois as novas",
+ 'photosync.scope_new': "Somente as fotos tiradas a partir de agora",
+ 'photosync.start': "Iniciar backup",
+ 'photosync.confirm': "{count} fotos ({size}) serão enviadas para {dir} e depois as novas uma vez por dia.",
+ 'photosync.confirm_new': "As fotos novas serão enviadas para {dir} uma vez por dia.",
+ 'photosync.metered_confirm': "Você está usando dados móveis — {count} fotos, {size}. Enviar mesmo assim?",
+ 'photosync.other_account': "Configurado para @{account}. Entre como @{account} para continuar, ou configure de novo aqui.",
+ 'photosync.sent_total': "Fotos enviadas: {n}",
+ 'photosync.last_run': "Último backup: {when}",
+ 'photosync.never': "Ainda sem backup",
+ 'photosync.state_waiting_wifi': "Aguardando Wi-Fi",
+ 'photosync.state_connecting': "Conectando ao grupo…",
+ 'photosync.state_sending': "Enviando {done} / {total}",
+ 'photosync.state_offline': "Nenhum node do grupo está on-line; nova tentativa mais tarde",
+ 'photosync.state_interrupted': "Interrompido — continuará na próxima oportunidade",
+ 'photosync.state_up_to_date': "Atualizado",
+ 'photosync.notif_progress': "Backup de fotos — {done} / {total}",
+ 'photosync.fail_disk_full': "Backup de fotos parado: o disco do node está cheio.",
+ 'photosync.fail_read_only': "Backup de fotos parado: a pasta não aceita mais envios.",
+ 'photosync.fail_no_folder': "Backup de fotos parado: a pasta não existe mais no grupo.",
+ 'photosync.fail_unavailable': "Backup de fotos parado: o disco da pasta não está conectado ao node.",
+ 'photosync.fail_not_member': "Backup de fotos parado: você não é mais membro deste grupo.",
+ 'photosync.fail_permission': "Backup de fotos parado: o MeshBay não tem mais acesso às fotos.",
+ 'photosync.fail_other': "Backup de fotos parado.",
+ 'contactsync.heading': "Backup de contatos",
+ 'contactsync.intro': "Enviar uma cópia dos contatos deste celular uma vez por dia se tiverem mudado. Cada cópia é um arquivo .vcf que qualquer celular consegue importar.",
+ 'contactsync.permission_needed': "O MeshBay precisa de acesso aos contatos deste celular.",
+ 'calendarsync.heading': "Backup da agenda",
+ 'calendarsync.intro': "Enviar uma cópia das agendas deste celular uma vez por dia se tiverem mudado: as que você pode editar, não as que você só assina. Cada cópia é um arquivo .ics que qualquer agenda consegue importar.",
+ 'calendarsync.permission_needed': "O MeshBay precisa de acesso às agendas deste celular.",
+ 'messagesync.heading': "Backup de SMS",
+ 'messagesync.intro': "Enviar os SMS deste celular uma vez por dia: a primeira cópia contém todos, cada uma das seguintes só os novos. Os arquivos estão no formato XML que os apps de backup de SMS conseguem restaurar. MMS não são incluídos.",
+ 'messagesync.permission_needed': "O MeshBay precisa de acesso aos SMS deste celular.",
+ 'messagesync.restricted_hint': "Se o Android falar de uma configuração restrita: abra as configurações do app, toque em ⋮ no alto, “Permitir configurações restritas” e volte para ativar. O Android exige isso de apps instalados fora de uma loja.",
+ 'phonesync.state_sending': "Enviando…",
+ 'phonesync.summary': "{group} → {dir}",
+ 'phonesync.copies_sent': "Cópias enviadas: {n}",
+ 'phonesync.last_file': "Última cópia: {name}",
+ 'phonesync.checking_groups': "Procurando grupos dos quais você é dono e único membro…",
+ 'phonesync.no_private_group': "Você não tem nenhum grupo do qual seja dono e único membro. Crie um só para você e volte aqui.",
+ 'phonesync.no_folder': "Este grupo não tem nenhuma pasta onde você possa adicionar arquivos.",
+ 'phonesync.notice': "{what}. {reason}",
+ 'phonesync.fail_disk_full': "Parado: o disco do node está cheio.",
+ 'phonesync.fail_read_only': "Parado: a pasta não aceita mais envios.",
+ 'phonesync.fail_no_folder': "Parado: a pasta não existe mais no grupo.",
+ 'phonesync.fail_unavailable': "Parado: o disco da pasta não está conectado ao node.",
+ 'phonesync.fail_not_member': "Parado: você não é mais membro deste grupo.",
+ 'phonesync.fail_not_private': "Parado: outra pessoa entrou no grupo.",
+ 'phonesync.fail_permission': "Parado: o MeshBay não tem mais acesso.",
+ 'phonesync.fail_other': "Parado.",
+ 'phonesync.open_settings': "Abrir as configurações do app",
+ 'drivesync.heading': "Backup de arquivos",
+ 'drivesync.intro': "Enviar os arquivos das pastas que você escolher neste celular, uma vez por dia, pelo Wi-Fi. Um arquivo alterado no celular é enviado de novo ao lado da cópia anterior; nada é substituído.",
+ 'drivesync.folders': "Pastas com backup",
+ 'drivesync.no_folders': "Nenhuma pasta escolhida ainda.",
+ 'drivesync.folders_hint': "Fotos e vídeos ficam com o backup de fotos: DCIM, Pictures e Movies não podem ser escolhidas. O Android não deixa um app pegar toda a pasta Download, só pastas dentro dela.",
+ 'drivesync.add_folder': "Adicionar uma pasta",
+ 'drivesync.remove': "Remover",
+ 'drivesync.refused_media': "Esta pasta contém fotos e vídeos, que o backup de fotos envia: escolha outra.",
+ 'drivesync.refused_root': "O Android não permite escolher um armazenamento inteiro: escolha uma pasta dentro dele.",
+ 'drivesync.notif_progress': "Backup de arquivos: {done} / {total}",
+ 'drivesync.metered_confirm': "Você está usando dados móveis. Enviar os arquivos mesmo assim?",
+ 'drivesync.sent_total': "Arquivos enviados: {n}",
+ 'whatsappsync.heading': "WhatsApp",
+ 'whatsappsync.intro': "Copiar os backups de conversas que o WhatsApp faz, uma vez por dia pelo Wi-Fi, para poder restaurá-los em um celular novo. Eles continuam criptografados pelo WhatsApp: não dá para lê-los aqui, só restaurar.",
+ 'whatsappsync.folder_needed': "A pasta do WhatsApp ainda não foi escolhida.",
+ 'whatsappsync.folder_chosen': "A pasta do WhatsApp está escolhida.",
+ 'whatsappsync.folder_choose': "Escolher a pasta do WhatsApp",
+ 'whatsappsync.folder_hint': "O seletor abre nela: Android/media/com.whatsapp/WhatsApp. Toque em “Usar esta pasta”.",
+ 'whatsappsync.media': "Mídia também",
+ 'whatsappsync.media_hint': "Fotos, vídeos, mensagens de voz e documentos recebidos e enviados: muitas vezes vários gigabytes. O que o backup de fotos já envia não é enviado duas vezes.",
+ 'whatsappsync.refused': "Esta não é a pasta do WhatsApp: escolha Android/media/com.whatsapp/WhatsApp.",
+ 'whatsappsync.restore_hint': "Para restaurar em um celular novo: copie as pastas Databases e Backups da última cópia para Android/media/com.whatsapp/WhatsApp antes de instalar o WhatsApp e restaure com o mesmo número (e a senha ou a chave de 64 dígitos se o backup criptografado de ponta a ponta estiver ativado).",
+ 'whatsappsync.notif_progress': "Backup do WhatsApp: {done} / {total}",
+ 'androidsync.dest_heading': "Destino dos backups",
+ 'androidsync.dest_intro': "Os backups vão para uma pasta de um grupo do qual você é dono e único membro. Cada tipo de backup tem a sua própria pasta lá.",
+ 'androidsync.dest_summary': "{group} → {folder}",
+ 'androidsync.dest_dirs': "Pastas usadas: {dirs}",
+ 'androidsync.dest_change_confirm': "Todos os backups vão recomeçar em {folder} de {group}. O que já foi enviado fica onde está.",
+ 'androidsync.dest_not_in_photos': "A aba Fotos do grupo não mostra {dir}: as fotos serão salvas, mas não aparecerão lá até que essa pasta seja uma das pastas da aba (configurações do grupo).",
+ 'androidsync.dest_needed': "Escolha primeiro o destino dos backups, no topo desta página.",
+ 'androidsync.dest_save': "Salvar",
+ 'phonesync.turn_on': "Ativar",
+ 'photosync.fail_not_private': "Backup de fotos parado: outra pessoa entrou no grupo.",
};