diff --git a/web/i18n/pt/a11y/dialog.json b/web/i18n/pt/a11y/dialog.json new file mode 100644 index 00000000..04008f86 --- /dev/null +++ b/web/i18n/pt/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.video": "miniatura do vídeo", + "picker.item.gif": "miniatura do gif", + "picker.item.photo": "miniatura da foto" +} diff --git a/web/i18n/pt/a11y/donate.json b/web/i18n/pt/a11y/donate.json new file mode 100644 index 00000000..047baab0 --- /dev/null +++ b/web/i18n/pt/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr code. clique para expandir.", + "share.qr.collapse": "qr code expandido. pressione para fechar." +} diff --git a/web/i18n/pt/a11y/general.json b/web/i18n/pt/a11y/general.json new file mode 100644 index 00000000..b8398e8b --- /dev/null +++ b/web/i18n/pt/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "voltar" +} diff --git a/web/i18n/pt/a11y/save.json b/web/i18n/pt/a11y/save.json new file mode 100644 index 00000000..e359d43f --- /dev/null +++ b/web/i18n/pt/a11y/save.json @@ -0,0 +1,12 @@ +{ + "clear_input": "limpar entrada", + "download.check": "verificando o download...", + "link_area.turnstile": "área de entrada de link. verificando se você não é um robô.", + "tutorial.shortcut.photos": "adicionar atalho para fotos", + "link_area": "área de entrada de link", + "download": "baixar", + "download.think": "processando o link...", + "download.done": "download pronto", + "download.error": "erro ao fazer download", + "tutorial.shortcut.files": "adicionar atalho para arquivos" +} diff --git a/web/i18n/pt/a11y/tabs.json b/web/i18n/pt/a11y/tabs.json new file mode 100644 index 00000000..2c96dfa5 --- /dev/null +++ b/web/i18n/pt/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "painel de abas" +} diff --git a/web/i18n/pt/about.json b/web/i18n/pt/about.json new file mode 100644 index 00000000..cb0caf56 --- /dev/null +++ b/web/i18n/pt/about.json @@ -0,0 +1,35 @@ +{ + "page.faq": "perguntas frequentes", + "page.privacy": "política de privacidade", + "page.credits": "agradecimento & licenças", + "community.discord": "servidor da comunidade no discord", + "community.twitter": "conta de novidades no twitter", + "community.email": "email de suporte", + "heading.general": "termos gerais", + "heading.licenses": "licenças", + "heading.summary": "o melhor jeito de salvar o que você ama", + "heading.privacy": "privacidade líder", + "heading.community": "comunidade aberta", + "heading.abuse": "denunciar abuso", + "heading.local": "processamento no dispositivo", + "heading.saving": "salvando", + "heading.encryption": "encriptação", + "heading.plausible": "análise de tráfego anônima", + "heading.cloudflare": "privacidade web & segurança", + "heading.responsibility": "responsabilidade do usuário", + "heading.motivation": "motivação", + "page.general": "o que é cobalt?", + "page.terms": "termos e ética", + "community.github": "repositório no github", + "community.telegram": "canal de novidades no telegram", + "page.community": "comunidade & suporte", + "heading.testers": "testadores beta", + "support.github": "confira o código-fonte do cobalt, contribua com alterações ou relate problemas", + "support.discord": "peça ajuda ou converse com a comunidade e os desenvolvedores sobre o cobalt", + "support.twitter": "acompanhe as atualizações e o desenvolvimento do cobalt no twitter", + "support.telegram": "mantenha-se atualizado das últimas atualizações do cobalt pelo telegram", + "support.description.issue": "se você quiser relatar um bug ou algum outro problema recorrente, por favor relate pelo github.", + "support.description.help": "Use o Discord para qualquer outra pergunta. Descreva o problema corretamente em #cobalt-support, caso contrário ninguém poderá ajudá-lo.", + "support.description.best-effort": "todo o suporte é feito com o máximo de esforço porém não é garantido; uma resposta pode levar algum tempo.", + "support.bluesky": "acompanhe as atualizações e o desenvolvimento do cobalt em seu feed do bluesky" +} diff --git a/web/i18n/pt/about/credits.md b/web/i18n/pt/about/credits.md new file mode 100644 index 00000000..593420e0 --- /dev/null +++ b/web/i18n/pt/about/credits.md @@ -0,0 +1,69 @@ + + +
+ + +O cobalt é feito com amor e cuidado pela equipe de pesquisa e desenvolvimento da +[imput](https://imput.net/). + +você pode nos apoiar na [página de doações](/donate)! +
+ +
+ + +Um grande agradecimento aos nossos “quebradores de coisas” por testarem as +atualizações com antecedência e se certificarem de que estão estáveis. Eles +também nos ajudaram a lançar o cobalt 10! + +todos os links são externos e levam a seus sites pessoais ou redes sociais. +
+ +
+ + +meowbalt é o mascote do cobalt. ele é um gato muito expressivo que adora +internet rápida. + +todos os incríveis desenhos do meowbalt foram feitos por +[GlitchyPSI](https://glitchypsi.xyz/). ele é o criador original do personagem. + +você não pode usar ou modificar a arte de GlitchyPSI sem sua permissão. + +você não pode usar comercialmente ou modificar o meowbalt de nenhuma forma que +não seja fan art. +
+ +
+ + +o servidor de processamento do cobalt é de código aberto e licenciado sobre +[AGPL-3.0]({docs.apiLicense}). + +a página do cobalt é [source first](https://sourcefirst.com/) e licenciado sobre +[CC-BY-NC-SA 4.0]({docs.webLicense}). decidimos usar essa licença para evitar +que pessoas ruins lucrem em cima de nosso trabalho e criem clones maliciosos que +enganem as pessoas e machuque nossa identidade pública. + +dependemos de muitas bibliotecas de código aberto, além de criar e distribuir as +nossas próprias. você pode ver a lista completa de dependências no +[github]({contacts.github}). +
diff --git a/web/i18n/pt/about/general.md b/web/i18n/pt/about/general.md new file mode 100644 index 00000000..194c2162 --- /dev/null +++ b/web/i18n/pt/about/general.md @@ -0,0 +1,87 @@ + + +
+ + +o cobalt te ajuda a salvar qualquer coisa dos seus sites favoritos: vídeo, +áudio, fotos ou gifs. é só colar o link e pronto! + +sem anúncios, rastreadores, assinaturas ou outras bobeiras. só um aplicativo da +web conveniente que funciona em qualquer lugar, sempre que precisar. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by its alternatives. we believe that the best software is safe, open, and +accessible. + +it's possible to keep the main instances up thanks to our long-standing +infrastructure partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +all requests to the backend are anonymous and all information about tunnels is +encrypted. we have a strict zero log policy and don't track *anything* about +individual people. + +when a request needs additional processing, cobalt processes files on-the-fly. +it's done by tunneling processed parts directly to the client, without ever +saving anything to disk. for example, this method is used when the source +service provides video and audio channels as separate files. + +additionally, you can [enable forced tunneling](/settings/privacy#tunnel) to +protect your privacy. when enabled, cobalt will tunnel all downloaded files. no +one will know where you download something from, even your network provider. all +they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
+ +
+ + +newest features, such as [remuxing](/remux), work locally on your device. +on-device processing is efficient and never sends anything over the internet. it +perfectly aligns with our future goal of moving as much processing as possible +to the client. +
diff --git a/web/i18n/pt/about/privacy.md b/web/i18n/pt/about/privacy.md new file mode 100644 index 00000000..6ddf12d3 --- /dev/null +++ b/web/i18n/pt/about/privacy.md @@ -0,0 +1,96 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, in some cases cobalt will encrypt & temporarily +store information needed for tunneling. it's stored in processing server's RAM +for 90 seconds and irreversibly purged afterwards. no one has access to it, even +instance owners, as long as they don't modify the official cobalt image. + +processed/tunneled files are never cached anywhere. everything is tunneled live. +cobalt's saving functionality is essentially a fancy proxy service. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +for sake of privacy, we use [plausible's anonymous traffic +analytics](https://plausible.io/) to get an approximate number of active cobalt +users. no identifiable information about you or your requests is ever stored. +all data is anonymized and aggregated. the plausible instance we use is hosted & +managed by us. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +[learn more about plausible's dedication to +privacy.](https://plausible.io/privacy-focused-web-analytics) + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). +
+{/if} + +
+ + +we use cloudflare services for ddos & bot protection. we also use cloudflare +pages for deploying & hosting the static web app. all of these are required to +provide the best experience for everyone. it's the most private & reliable +provider that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy.](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/) +
diff --git a/web/i18n/pt/about/terms.md b/web/i18n/pt/about/terms.md new file mode 100644 index 00000000..ccdd46e2 --- /dev/null +++ b/web/i18n/pt/about/terms.md @@ -0,0 +1,64 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and takes +zero liability for what the saved content is used for. processing servers work +like advanced proxies and don't ever write any content to disk. everything is +handled in RAM and permanently purged once the tunnel is done. we have no +downloading logs and can't identify anyone. + +[you can read more about how tunnels work in our privacy +policy.](/about/privacy) +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +100% anonymous. however, you can report such activities to us and we will do our +best to comply manually: **safety@imput.net** + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, contact us via any preferred method on [the +support page](/about/community). +
diff --git a/web/i18n/pt/button.json b/web/i18n/pt/button.json new file mode 100644 index 00000000..52a3c691 --- /dev/null +++ b/web/i18n/pt/button.json @@ -0,0 +1,20 @@ +{ + "done": "pronto", + "download": "baixar", + "gotit": "entendi", + "cancel": "cancelar", + "reset": "reiniciar", + "download.audio": "baixar aúdio", + "share": "compartilhar", + "copy": "copiar", + "copy.section": "copiar link da seção", + "copied": "copiado", + "import": "importar", + "continue": "continuar", + "star": "estrela", + "follow": "seguir", + "save": "salvar", + "export": "exportar", + "yes": "sim", + "no": "não" +} diff --git a/web/i18n/pt/dialog.json b/web/i18n/pt/dialog.json new file mode 100644 index 00000000..27d176fc --- /dev/null +++ b/web/i18n/pt/dialog.json @@ -0,0 +1,18 @@ +{ + "safety.custom_instance.body": "instâncias personalizadas podem potencialmente representar riscos de privacidade e segurança.\n\ninstâncias ruins podem:\n1. redirecionar você para longe do cobalt e tentar enganá-lo.\n2. registrar todas as informações sobre suas solicitações, armazená-las para sempre e usá-las para rastreá-lo.\n3. fornecer arquivos maliciosos (como vírus).\n4. forçá-lo a assistir anúncios ou fazer você pagar pelo download.\n\ndepois desse ponto, não podemos protegê-lo. esteja atento a quais instâncias usar e sempre confie em seu instinto. se algo parecer estranho, volte a esta página, redefina a instância personalizada e nos informe no github.", + "reset.title": "apagar todas as configurações?", + "reset.body": "você tem certeza que quer apagar todas as configurações? essa ação é imediata e irreversível.", + "picker.title": "selecione o que salvar", + "picker.description.desktop": "clique em um item para salvar. imagens também podem ser salvas usando o menu do botão direito.", + "picker.description.ios": "pressione um item para salvar com o atalho. imagens também podem ser salvas com um toque longo.", + "saving.title": "escolha como salvar", + "saving.blocked": "cobalt tentou abrir o arquivo em uma nova guia, mas seu navegador bloqueou. você pode permitir pop-ups para evitar que isso aconteça novamente.", + "saving.timeout": "cobalt tentou baixar o arquivo automaticamente, mas seu navegador não permitiu. você precisa escolher uma maneira para salvar manualmente.", + "safety.title": "notícia importante de segurança", + "import.body": "importar arquivos desconhecidos ou corrompidos pode alterar ou quebrar inesperadamente a funcionalidade do cobalt. importe apenas arquivos que você exportou pessoalmente e não modificou. se alguém lhe pediu para importar este arquivo, não continue.\n\nnão somos responsáveis por nenhum dano causado pela importação de arquivos de configuração desconhecidos.", + "api.override.title": "substituir instância de processamento", + "api.override.body": "{{ value }} é a instância de processamento agora. se você não confia nela, aperte em \"cancelar\".\n\nvocê pode alterar isso depois nas configurações de processamento.", + "processing.ongoing": "cobalt está processando mídia nesta guia. se você sair, isso será abortado. tem certeza de que deseja fazer isso?", + "processing.title.ongoing": "o processamento será cancelado", + "picker.description.phone": "pressione em um item para salvar. imagens também podem ser salvas com um toque longo." +} diff --git a/web/i18n/pt/donate.json b/web/i18n/pt/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/error.json b/web/i18n/pt/error.json new file mode 100644 index 00000000..bf550d83 --- /dev/null +++ b/web/i18n/pt/error.json @@ -0,0 +1,16 @@ +{ + "captcha_ongoing": "ainda verificando se você não é um robô. espere o spinner desaparecer e tente novamente.\n\nse demorar muito, por favor nos avise! usamos o turnstile da cloudflare para proteção de bots e às vezes ele bloqueia as pessoas sem motivo.", + "api.auth.turnstile.missing": "não foi possível confirmar se você não é um robô porque o servidor não recebeu seu token de acesso humano. tente novamente em alguns segundos ou recarregue a página!", + "api.timed_out": "o servidor demorou muito para responder. talvez ele esteja sobrecarregado no momento, tente de novo mais tarde!", + "remux.out_of_resources": "cobalt ficou sem recursos e não pode continuar com o processamento no dispositivo. isso está relacionado a limitações no seu navegador. tente atualizar ou reabrir o aplicativo e tente novamente. alguns dispositivos só conseguem processar arquivos pequenos.", + "import.no_data": "não tem nada nesse arquivo. tem certeza que este é o certo?", + "import.invalid": "seu arquivo não parece ter configurações válidas para ser importado. tem certeza que é esse mesmo?", + "import.unknown": "não consegui carregar os dados do arquivo. ele pode estar corrompido ou está num formato inválido. mensagem de erro:\n\n{{ value }}", + "remux.corrupted": "não foi possível ler os metadados do arquivo, talvez ele esteja corrompido.", + "tunnel.probe": "não consegui ver se você pode baixar esse arquivo. tente novamente em alguns segundos!", + "api.auth.jwt.missing": "não foi possível confirmar se você não é um robô porque o servidor de processamento não recebeu o token de acesso humano. tente novamente em alguns segundos ou recarregue a página!", + "api.auth.jwt.invalid": "não foi possível confirmar se você não é um robô porque seu token de acesso humano expirou e não foi renovado. tente novamente em alguns segundos ou recarregue a página!", + "api.auth.turnstile.invalid": "não foi possível confirmar se você não é um robô porque seu token de acesso humano expirou e não foi renovado. tente novamente em alguns segundos ou recarregue a página!", + "api.unreachable": "não consegui conectar ao servidor de processamento. verifique sua conexão a internet e tenta de novo.", + "api.rate_exceeded": "você fez muitas requisições. tente novamente em {{ limit }} segundos!" +} diff --git a/web/i18n/pt/general.json b/web/i18n/pt/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/notification.json b/web/i18n/pt/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/receiver.json b/web/i18n/pt/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/remux.json b/web/i18n/pt/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/save.json b/web/i18n/pt/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/settings.json b/web/i18n/pt/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/tabs.json b/web/i18n/pt/tabs.json new file mode 100644 index 00000000..90d5b1b9 --- /dev/null +++ b/web/i18n/pt/tabs.json @@ -0,0 +1,3 @@ +{ + "save": "salvar" +} diff --git a/web/i18n/pt/updates.json b/web/i18n/pt/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/updates.json @@ -0,0 +1 @@ +{}