diff options
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.js | 144 |
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.", }; |