diff --git a/src/localization/languages/en.json b/src/localization/languages/en.json
index 546c2841..d4b5633e 100644
--- a/src/localization/languages/en.json
+++ b/src/localization/languages/en.json
@@ -60,11 +60,11 @@
"AccessibilityModeToggle": "toggle download mode",
"DonateLinksDescription": "this is the best way to donate if you want me to receive your donation directly.",
"SettingsAudioFormatBest": "best",
- "SettingsAudioFormatDescription": "when \"best\" format is selected, you get audio the way it is on service's side. it's not re-encoded. everything else will be re-encoded.",
- "Keyphrase": "save what you love",
- "ErrorPopupCloseButton": "got it",
- "ErrorLengthAudioConvert": "i can't convert audio longer than {s} minutes. pick \"best\" format if you want to avoid limitations!",
- "SettingsAudioFullTikTok": "full audio",
+ "SettingsAudioFormatDescription": "when \"best\" format is selected, you get audio the way it is on service's side. it's not re-encoded. todo o resto será recodificado.",
+ "Keyphrase": "salve o que você ama",
+ "ErrorPopupCloseButton": "entendi",
+ "ErrorLengthAudioConvert": "eu não consigo converter audios com duração maior que {s} minutos. selecione o \"melhor\" formato se você quiser evitar limitações!",
+ "SettingsAudioFullTikTok": "audio completo",
"SettingsAudioFullTikTokDescription": "downloads original sound used in the video without any additional changes by the post's author.",
"ErrorCantGetID": "i couldn't get the full info from the shortened link. make sure it works or try a full one! if issue persists, {ContactLink}.",
"ErrorNoVideosInTweet": "i couldn't find any media content in this tweet. try another one!",
diff --git a/src/localization/languages/pt.json b/src/localization/languages/pt.json
new file mode 100644
index 00000000..40a81d6e
--- /dev/null
+++ b/src/localization/languages/pt.json
@@ -0,0 +1,163 @@
+{
+ "name": "Português",
+ "substrings": {
+ "ContactLink": "verifique a pagina de status ou crie um problema no GitHub"
+ },
+ "strings": {
+ "AppTitleCobalt": "cobalt",
+ "LinkInput": "cole o link aqui",
+ "AboutSummary": "cobalt é o seu lugar ideal para downloads de redes sociais e para plataformas de mídia. sem anuncios, rastreadores, ou outro tipo de besteiras assustadoras. simplesmente cole o link e você está pronto para arrasar!",
+ "EmbedBriefDescription": "salve o que você ama. sem anuncios, rastreadores, ou outras besteiras assustadoras",
+ "MadeWithLove": "feito com <3 por wukko",
+ "AccessibilityInputArea": "área de entrada do link",
+ "AccessibilityOpenAbout": "abrir pop-up de informações",
+ "AccessibilityDownloadButton": "botão de download",
+ "AccessibilityOpenSettings": "abrir pop-up de configurações",
+ "AccessibilityOpenDonate": "abrir pop-up de doações",
+ "TitlePopupAbout": "o que é o cobalt?",
+ "TitlePopupSettings": "configurações",
+ "TitlePopupChangelog": "o que tem de novo?",
+ "TitlePopupDonate": "apoie o cobalt",
+ "TitlePopupDownload": "como salvar?",
+ "ErrorSomethingWentWrong": "algo de errado ocorreu e eu não consegui encontrar nada para você. tente novamente, mas se o problema continuar ocorrendo, {ContactLink}.",
+ "ErrorUnsupported": "parece que o serviço ainda não é suportado ou o seu link é invalido. você colou o link correto?",
+ "ErrorBrokenLink": "{s} é suportado, mas algo está errado com o seu link, talvez você não colou o link completo?",
+ "ErrorNoLink": "nãp consigo adivinhar o que você quer baixar! por favor me de um link :(",
+ "ErrorPageRenderFail": "se você está lendo isso, então tem algo de errado com a renderização da pagina, por favor {ContactLink} tenha certeza de providenciar o dominio que esse erro está sendo apresentado e o hash do commit ({s}). obrigado desde já :D",
+ "ErrorRateLimit": "você está enviando muitos pedidos. tente novamente em alguns minutos!",
+ "ErrorCouldntFetch": "eu não consegui encontrar nada sobre esse link. verifique se ele está funcionando e tente novamente! alguns conteudos podem ter bloqueio regional, então tenha isso em mente. ",
+ "ErrorLengthLimit": "eu não consigo processar videos com uma duração maior que {s} minutos, então escolha algo mais curto!",
+ "ErrorBadFetch": "algo de errado aconteceu quando eu tentei receber informações do seu link. você tem certeza que o seu link está funcionando? verifique se está e tente novamente.",
+ "ErrorNoInternet": "você não está conectado a nenhuma internet ou a api do cobalt está temporariamente indisponivel, verifique a sua conexão e tente novamente.",
+ "ErrorCantConnectToServiceAPI": "Eu não consegui conectar a api do serviço. talvez esteja fora do ar, ou o cobalt foi bloqueado. tente novamente mais tarde, mas se o problemas persistir {ContactLink}.",
+ "ErrorEmptyDownload": "eu não encontro nada que eu possa baixar do seu link. tente um link diferente!",
+ "ErrorLiveVideo": "esse video é uma transmissão, ainda estou para aprender como olhar para futuro. espere a transmissão acabar e tente novamente!",
+ "SettingsAppearanceSubtitle": "aparencia",
+ "SettingsThemeSubtitle": "tema",
+ "SettingsFormatSubtitle": "formato",
+ "SettingsQualitySubtitle": "qualidade",
+ "SettingsThemeAuto": "automatico",
+ "SettingsThemeLight": "luz",
+ "SettingsThemeDark": "escuro",
+ "SettingsKeepDownloadButton": "manter >> visivel",
+ "AccessibilityKeepDownloadButton": "manter o botão de download visivel",
+ "SettingsEnableDownloadPopup": "perguntar como salvar",
+ "AccessibilityEnableDownloadPopup": "perguntar o que fazer com os downloads",
+ "SettingsQualityDescription": "se a qualidade selecionada não estiver disponivel, a mais proxima sera usada.",
+ "NoScriptMessage": "cobalt usa javascript para pedidos de api e interface interativa. você tem que permitir o acesso a javascript para usar esse site. não tem nenhum script irritante, promessa de mindinho.",
+ "DownloadPopupDescriptionIOS": "como salvar fotos:\n1. adicionar um atalho para salvar para a galeria.\n2. pressione o botão \"partilhar\" acima desse texto.\n3. selecione \"salvar para a galeria\" na planilha de compartilhamento i.\n\ncomo salvar o arquivo\n1. adicione um atalho para salvar nos ficheros.\n2. pressione o botão \"compartilhar\" acima desse texto \n3. selecione \"salvar nos ficheiros\" nessa planilha de compartilhamento.\n4. selecione a pasta que você quer salvar o arquivo e pressione \"abrir\".\n\n ambos os atalhos podem apenas ser usados na aplicação web do cobalt.",
+ "DownloadPopupDescription": "o botão de download abre uma nova aba com o arquivo pedido. você pode desabilitar esse popup nas configurações.",
+ "ClickToCopy": "pressione para copiar",
+ "Download": "baixar",
+ "CopyURL": "copiar",
+ "AboutTab": "sobre",
+ "ChangelogTab": "registro de mudanças",
+ "DonationsTab": "doações",
+ "SettingsVideoTab": "videos",
+ "SettingsAudioTab": "audios",
+ "SettingsOtherTab": "outros",
+ "ChangelogLastMajor": "versão atual & commit",
+ "AccessibilityModeToggle": "ativar modo de download",
+ "DonateLinksDescription": "essa é a melhor maneira para doar se você quer que eu receba a doação diretamente.",
+ "SettingsAudioFormatBest": "melhor",
+ "SettingsAudioFormatDescription": "quando o \"melhor\" formato esta selecionado, você recebeu o audio na maneira que está no lado do serviço. não é recodificado. ",
+ "Keyphrase": "save what you love",
+ "ErrorPopupCloseButton": "entendi",
+ "ErrorLengthAudioConvert": "eu não consigo converter audios com duração maior que {s} minutos. selecione o \"melhor\" formato se você quiser evitar limitações!",
+ "SettingsAudioFullTikTok": "audio completo",
+ "SettingsAudioFullTikTokDescription": "baixa o audio original usado no video sem mudanças adicionais pelo autor do post.",
+ "ErrorCantGetID": "eu não consegui obter as informações completas do link curto. tenha certeza que ele funciona ou tente um link completo! se o problema persistir, {ContactLink}.",
+ "ErrorNoVideosInTweet": "eu não consegui achar nenhuma arquivo nesse tweet. tente um diferente!",
+ "ImagePickerTitle": "selecione as images para baixar",
+ "ImagePickerDownloadAudio": "baixar audio",
+ "ImagePickerExplanationPC": "dê um clique direito na imagem para salvar.",
+ "ImagePickerExplanationPhone": "pressione e segure uma imagem para salvá-la.",
+ "ErrorNoUrlReturned": "eu não recebi um link de download do servidor. isso nunca deve acontecer. tente novamente, mas se ainda assim não funcionar, {ContactLink}.",
+ "ErrorUnknownStatus": "eu recebi uma resposta que não consigo processar. isso nunca deve acontecer. tente novamente, mas se ainda assim não funcionar, {ContactLink}.",
+ "PasteFromClipboard": "colar",
+ "ChangelogOlder": "versão anterior",
+ "ChangelogPressToExpand": "expandir",
+ "Miscellaneous": "diversos",
+ "ModeToggleAuto": "automatico",
+ "ModeToggleAudio": "audio",
+ "MediaPickerTitle": "selecione o que salvar",
+ "MediaPickerExplanationPC": "clique ou dê um clique-direito para baixar o que você quer.",
+ "MediaPickerExplanationPhone": "pressione ou pressione e segure para baixar o que você quer.",
+ "TwitterSpaceWasntRecorded": "esse espaço do twitter não foi gravado, então não tem nada para baixar. tente com outro!",
+ "ErrorCantProcess": "eu não consegui processar o seu pedido :(\nvocê pode tentar novamente, mas se o problema persistir, por favor {ContactLink}.",
+ "ChangelogPressToHide": "esconder",
+ "Donate": "doar",
+ "DonateSub": "ajude a ficar online",
+ "DonateExplanation": "o cobalt não joga anúncios na sua cara e não vende as suas informações pessoais, isso significa que é completamente gratis para todos. mas o desenvolvimento e manuntenção de uma plataforma com muita mídia usado por aproximadamente 750 mil pessoas pode ser meio caro. tanto em termos de tempo quanto de dinheiro. \n\n se o cobalt já te ajudou no passado e se você quer que ele continue crescendo e evoluindo, você pode retribuir o favor fazendo uma doação!\n\n a sua doação vai ajudar todos os utilizadores do cobalt: educadores, estudantes, criadores de conteudo, artistas, musicos, e muito, muito mais!\n\nno passado, doações deixaram o cobalt:\n*; aumentar a sua estabilidade e tempo de atividade para perto dos 100% .\n*; acelerar TODOS os downloads, especialmente os mais pesados.\n*; abrir a api para uso publico gratuito\n*; aguentar vários influxos de usuários com 0 tempo de inatividade\n*; adicionar funções intensivas em recursos (como a converção de gifs).\n*; continuar a melhorar a nossa infrestrutura.\n*; deixar os desenvolvedores felizes.\n\ntodos os centavos importam e são altamente valorizados, você pode realmente fazer a diferença\n\n se você não pode doar, compartilhe o cobalt com um amigo cobalt, nos não temos anuncios em nenhum lugar, então o cobalt é espalhado de boca em boca. \ncompartilhar é a maneira mais facil de ajudar a alcançar o objetivo de uma Internet melhor para todos.",
+ "DonateVia": "doar via",
+ "DonateHireMe": "...ou você pode me contratar :)",
+ "SettingsVideoMute": "silenciar audio",
+ "SettingsVideoMuteExplanation": "remove o audio do video baixado quando possivel.",
+ "ErrorSoundCloudNoClientId": "eu não consegui obter o token temporario que é necessario para baixar sons do soundcloud. tente novamente, mas se o problema persistir, {ContactLink}.",
+ "CollapseServices": "serviços suportados",
+ "CollapseSupport": "suporte & codigo fonte",
+ "CollapsePrivacy": "politica de privacidade",
+ "ServicesNote": "esta lista não está finalizada e continua expadindo ao longo do tempo, tenha certeza de dar uma olhada ao longo do tempo!",
+ "FollowSupport": "mantenha contato com o cobalt para noticias, suporte e mais: ",
+ "SourceCode": "explore o codigo fonte, denuncie problemas, dê uma estrela, ou ramifique o repositorio:",
+ "PrivacyPolicy": "a politica de privacidade do cobalt é simples: nenhuma informação sua é coletada ou guardada, zero, zilch, nothing, nada.\no que você baixa é exclusivamente da sua conta, não da minha ou de mais alguem \n\nse o download necessita de renderização, então dados sobre o conteudo pedido é encriptado e temporariamente guardado na RAM do servidor. isso é necessario para essa função funcionar\n\ndados encriptados são guardados por: 90 segundos e depois permanentemente apagadas.\n\ndados guardado são apenas possivel de descriptografar com uma chave unica do seu link de download, além disso, a base de codigo oficial do cobalt não fornece uma maneira para ler dados temporariamente guardados fora das funções de processamento \n\nvocê pode verificar o codigo fonte do cobalt você mesmo, e verificar tudo o que é dito",
+ "ErrorYTUnavailable": "este video do youtube está indisponivel, ele pode ter um bloqueio de região ou ter restrição de idade. tente um diferente!",
+ "ErrorYTTryOtherCodec": "eu não consegui encontrar nada para baixar com as suas configurações. tente outra codec ou qualidade!\n\nas vezes a api do youtube age inesperadamente. tente novamente ou tente outra configuração.",
+ "SettingsCodecSubtitle": "codec do youtube",
+ "SettingsCodecDescription": "h264: suporte do reprodutor geralmente melhor, mas a qualidade maxima é 1080p.\nav1: suporte de reprodutor fraco, mas suporta 8k & HDR.\nvp9: geralmente bitrates altimissimos, preserva a maioria dos detalhes. suporta 4k & HDR.\n\nselecione h264 se você quiser a melhor compatibilidade entre editor/player/redes sociais.",
+ "SettingsAudioDub": "faixa de áudio do youtube",
+ "SettingsAudioDubDescription": "define que faixa de audio sera usada. se o audio dublado não estiver disponivel, então a linguagem original do video sera usada. \n\noriginal: a linguagem original do video é usada. \nautomatico: a linguagem padrão do seu navegador (e do cobalt) é usada.",
+ "SettingsDubDefault": "original",
+ "SettingsDubAuto": "automatico",
+ "SettingsVimeoPrefer": "tipos de downloads do vimeo",
+ "SettingsVimeoPreferDescription": "progressivo: link direto para a cdn do vimeo. a qualidade maxima é 1080p. \ndash: o video e o audio são misturados pelo cobalt em um arquivo. a qualidade maxima é 4k.\n\nselecione \"progressivo\" se você quiser a melhor compatibilidade entre editor/player/redes sociais..",
+ "ShareURL": "partilhar",
+ "ErrorTweetUnavailable": "não pode achar nada sobre esse tweet. isso pode ser devido a sua visibilidade limitada. tente um diferente!",
+ "ErrorTwitterRIP": "o twitter restringiu o acesso a qualquer conteúdo a usuários não autenticados. embora tenha uma maneira de obter tweets regulares, os espaços são, infelizmente, impossiveis de obter neste momento. eu estou procurando possiveis soluções",
+ "PopupCloseDone": "feito",
+ "Accessibility": "acessibilidade",
+ "SettingsReduceTransparency": "reduzir transparencia",
+ "SettingsDisableAnimations": "desabilitar animações",
+ "FeatureErrorGeneric": "o seu navegador não permite ou não suporta esta função. verifique se tem novas atualizações disponiveis e tente novamente!",
+ "ClipboardErrorFirefox": "você esta usando o firefox onde todas as funções de leitura da area de transferências estão desabilitadas.\n\nvocê pode consertar isso seguindo os seguintes passos listados: aqui!\n\n... ou você pode colar o link manualmente aqui!",
+ "ClipboardErrorNoPermission": "o cobalt não consegue aceder ao item mais recenta da sua area de transferência sem a sua permissão. \n\nse você não quiser dar acesso, então cole o link manualmente aqui .\n\nse você quiser dar permissão, va as configurações do site e abilite as permissões de acesso a area de transferencia.",
+ "SupportSelfTroubleshooting": "tendo problemas? tente um desses passos primeiro:",
+ "AccessibilityGoBack": "voltar e fechar esse popup",
+ "CollapseKeyboard": "atalhos de teclado",
+ "KeyboardShortcutsIntro": "uso o cobalt mais rapidamente com os atalhos de teclado: ",
+ "KeyboardShortcutQuickPaste": "colar o link",
+ "KeyboardShortcutClear": "limpar a area de entrada do link",
+ "KeyboardShortcutClosePopup": "fechar todos os popups",
+ "CollapseLegal": "termos e eticas",
+ "FairUse": "o cobalt é uma ferramenta web que faz com que seja mais facil baixar conteudo da internet e não assume nenhuma responsabilidade. servidores de processamento funcionam como proxies limitados, então nenhum conteudo de media é armazenado no cache ou guardado. \n\nvocê (o utilizador final) é responsavel pelo que você baixa, como você usa e distribui esse conteudo. por favor tenha em mente que ao usar conteudo dos outros sempre dê creditos aos criadores originais. \n\nquando usado em fins educacionais (palestras, deveres de casa, etc) por favor anexe o link da fonte.\n\nuso justo e creditos beneficiam a todos.",
+ "SettingsDisableMetadata": "não adicionar metadados",
+ "NewDomainWelcomeTitle": "olá!",
+ "NewDomainWelcome": "o cobalt está movendo! mesmas funções, mesmo dono, simplesmente um dominio mais lembravel. e ainda sem anuncios. \n\ncobalt.tools é o novo dominio, também conhecido como onde você está agora. tenha certeza de atualizar o seu marcado e reinstalar a aplicação web!",
+ "DataTransferSuccess": "alias, as suas funções foram transferidas automaticamente :)",
+ "DataTransferError": "algo de errado ocorreu ao transferir as suas preferencias. você terá que abrir as configurações e configurar o cobalt manualmente.",
+ "SupportNotAffiliated": "o cobalt não é afiliado com quaisquer serviços listados acima.",
+ "SponsoredBy": "patrocinado por",
+ "FilenameTitle": "estilo de nome de arquivo",
+ "FilenamePatternClassic": "classico",
+ "FilenamePatternPretty": "bonito",
+ "FilenamePatternBasic": "basico",
+ "FilenamePatternNerdy": "nerd",
+ "FilenameDescription": "classico: nome de arquivo padrão do cobalt.\nbasico: tiulo e informações basicas entre parêntese.\nbonito: titulo e informações entre parêntese\nnerd: titulo e todas as informações entre parênteses\n\nalguns serviços não suportam nomes de arquivo detalhados e sempre usam o estilo classico.",
+ "Preview": "previsualizar",
+ "FilenamePreviewVideoTitle": "Titulo do Video",
+ "FilenamePreviewAudioTitle": "Titulo do Audio",
+ "FilenamePreviewAudioAuthor": "Autor do Audio",
+ "StatusPage": "pagina de estado do serviço",
+ "TroubleshootingGuide": "guia de autodiagnóstico",
+ "DonateImageDescription": "gato dormindo num teclado de notebook e digitando letras repetidamente",
+ "SettingsTwitterGif": "converter gifs para .gif",
+ "SettingsTwitterGifDescription": "converter videos em loop para .gif reduz a qualidade e aumenta significativamente o tamanho do arquivo. se você quier uma eficiencia melhor, mantenha essa configuração desativada.",
+ "ErrorTweetProtected": "esse tweet é de uma conta privada, então eu não o consigo ver. tente um diferente!",
+ "ErrorTweetNSFW": "esse tweet contem conteudo sensivel, então eu não o consigo ver. tente um diferente! ",
+ "UpdateEncryption": "encriptação e novos serviços",
+ "PrivateAnalytics": "analiticas privadas",
+ "SettingsDisableAnalytics": "sair das analiticas privadas",
+ "SettingsAnalyticsExplanation": "habilite se você não quiser ser incluido nas estaticas anonimas de trafego. leia mais sobre isso em sobre > politica de privacidade (Muito Longo; Não Li: nada sobre você é armazenado ou rastreado, nenhum cookie é usado).",
+ "AnalyticsDescription": "cobalt utiliza uma instância plausible auto-hospedada para conseguir um numero aproximado de quantas pessoas o utilizam. \n\nplausible está totalmente em conformidade com o RGPD, CCPA e PECR, não utiliza cookies e nunca guarda nenhuma informação indentificavel, nem mesmo o seu endereço de ip\n\ntodos os dados são agregados e nunca personalizados. nada sobre o que você baixa é salvo em qualquer lugar. é usado apenas para estaticas de trafego anonimas, nada mais. \n\nplausible é totalmente de codigo aberto, que nem o cobalt, e se você quiser aprender mais sobre, você o pode fazer aqui. se você quiser sair das estaticas de trafego, você o pode fazer em configurações > outros."
+ }
+}