diff --git a/frontend/src/i18n/translations/pt-BR.ts b/frontend/src/i18n/translations/pt-BR.ts index 93d67cb..543eef0 100644 --- a/frontend/src/i18n/translations/pt-BR.ts +++ b/frontend/src/i18n/translations/pt-BR.ts @@ -11,19 +11,14 @@ export default { "navbar.avatar.signout": "Terminar sessão", // END navbar // / - "home.title": - "Uma plataforma de compartilhamento de arquivos auto-hospedada.", - "home.description": - "Deseja realmente dar os seus arquivos pessoais na mão de terceiros como o WeTransfer?", + "home.title": "Uma plataforma de compartilhamento de arquivos auto-hospedada.", + "home.description": "Deseja realmente dar os seus arquivos pessoais na mão de terceiros como o WeTransfer?", "home.bullet.a.name": "Auto-Hospedado", - "home.bullet.a.description": - "Hospede o Pingvin Share em sua própria máquina.", + "home.bullet.a.description": "Hospede o Pingvin Share em sua própria máquina.", "home.bullet.b.name": "Privacidade", - "home.bullet.b.description": - "Seus arquivos são seus arquivos e nunca devem cair nas mãos de terceiros.", + "home.bullet.b.description": "Seus arquivos são seus arquivos e nunca devem cair nas mãos de terceiros.", "home.bullet.c.name": "Sem limite de tamanho de arquivo irritante", - "home.bullet.c.description": - "Carregue os arquivos grandes que desejar. Apenas o seu disco rígido será o seu limite.", + "home.bullet.c.description": "Carregue os arquivos grandes que desejar. Apenas o seu disco rígido será o seu limite.", "home.button.start": "Começar", "home.button.source": "Código-fonte", // END / @@ -36,10 +31,8 @@ export default { "signin.input.password": "Senha", "signin.input.password.placeholder": "A sua senha", "signin.button.submit": "Iniciar sessão", - "signIn.notify.totp-required.title": - "Autenticação de dois fatores necessária", - "signIn.notify.totp-required.description": - "Insira seu código de autenticação de dois fatores", + "signIn.notify.totp-required.title": "Autenticação de dois fatores necessária", + "signIn.notify.totp-required.description": "Insira seu código de autenticação de dois fatores", // END /auth/signin // /auth/signup "signup.title": "Criar uma conta", @@ -53,16 +46,13 @@ export default { // END /auth/signup // /auth/reset-password "resetPassword.title": "Esqueceu a sua senha?", - "resetPassword.description": - "Insira o seu e-mail para redefinir a sua senha.", - "resetPassword.notify.success": - "Um e-mail foi enviado com um link para redefinir a sua senha.", + "resetPassword.description": "Insira o seu e-mail para redefinir a sua senha.", + "resetPassword.notify.success": "Um e-mail foi enviado com um link para redefinir a sua senha.", "resetPassword.button.back": "Voltar para a página inicial", "resetPassword.text.resetPassword": "Redefinir senha", "resetPassword.text.enterNewPassword": "Digite uma nova senha", "resetPassword.input.password": "Nova senha", - "resetPassword.notify.passwordReset": - "A sua senha foi redefinida com sucesso.", + "resetPassword.notify.passwordReset": "A sua senha foi redefinida com sucesso.", // /account "account.title": "A minha conta", "account.card.info.title": "Informação sobre a conta", @@ -74,10 +64,8 @@ export default { "account.card.password.new": "Nova senha", "account.notify.password.success": "Senha alterada com sucesso", "account.card.security.title": "Segurança", - "account.card.security.totp.enable.description": - "Digite a sua senha atual para começar a habilitar o TOTP", - "account.card.security.totp.disable.description": - "Digite a sua senha atual para desabilitar o TOTP", + "account.card.security.totp.enable.description": "Digite a sua senha atual para começar a habilitar o TOTP", + "account.card.security.totp.disable.description": "Digite a sua senha atual para desabilitar o TOTP", "account.card.security.totp.button.start": "Iniciar", "account.modal.totp.title": "Habilitar TOTP", "account.modal.totp.step1": "Passo 1: Adicionar o seu autenticador", @@ -89,8 +77,7 @@ export default { "account.notify.totp.disable": "TOTP desabilitado com sucesso", "account.notify.totp.enable": "TOTP habilitado com sucesso", "account.card.language.title": "Idioma", - "account.card.language.description": - "O projeto é traduzido pela comunidade. Alguns idiomas podem estar incompletos.", + "account.card.language.description": "O projeto é traduzido pela comunidade. Alguns idiomas podem estar incompletos.", "account.card.color.title": "Esquema de cores", // ThemeSwitcher.tsx "account.theme.dark": "Escuro", @@ -98,8 +85,7 @@ export default { "account.theme.system": "Sistema", "account.button.delete": "Excluir conta", "account.modal.delete.title": "Excluir conta", - "account.modal.delete.description": - "Você realmente deseja excluir a sua conta, incluindo todos os seus compartilhamentos ativos?", + "account.modal.delete.description": "Você realmente deseja excluir a sua conta, incluindo todos os seus compartilhamentos ativos?", // END /account // /account/shares "account.shares.title": "Meus compartilhamentos", @@ -117,16 +103,13 @@ export default { "account.shares.modal.share-informations": "Informações do compartilhamento", "account.shares.modal.share-link": "Link do compartilhamento", "account.shares.modal.delete.title": "Excluir o compartilhamento {share}", - "account.shares.modal.delete.description": - "Tem certeza que deseja excluir este compartilhamento?", + "account.shares.modal.delete.description": "Tem certeza que deseja excluir este compartilhamento?", // END /account/shares // /account/reverseShares "account.reverseShares.title": "Compartilhamentos reversos", - "account.reverseShares.description": - "Um compartilhamento reverso permite gerar uma URL única que autoriza usuários externos criarem um compartilhamento.", + "account.reverseShares.description": "Um compartilhamento reverso permite gerar uma URL única que autoriza usuários externos criarem um compartilhamento.", "account.reverseShares.title.empty": "Está vazio aqui 👀", - "account.reverseShares.description.empty": - "Você não tem nenhum compartilhamento reverso.", + "account.reverseShares.description.empty": "Você não tem nenhum compartilhamento reverso.", // showCreateReverseShareModal.tsx "account.reverseShares.modal.expiration.label": "Expiração", "account.reverseShares.modal.expiration.minute-singular": "Minuto", @@ -141,32 +124,23 @@ export default { "account.reverseShares.modal.expiration.month-plural": "Meses", "account.reverseShares.modal.expiration.year-singular": "Ano", "account.reverseShares.modal.expiration.year-plural": "Anos", - "account.reverseShares.modal.max-size.label": - "Tamanho máximo do compartilhamento", + "account.reverseShares.modal.max-size.label": "Tamanho máximo do compartilhamento", "account.reverseShares.modal.send-email": "Enviar notificação por e-mail", - "account.reverseShares.modal.send-email.description": - "Enviar uma notificação por e-mail quando um compartilhamento for criado com este link reverso.", + "account.reverseShares.modal.send-email.description": "Enviar uma notificação por e-mail quando um compartilhamento for criado com este link reverso.", "account.reverseShares.modal.max-use.label": "Limite de uso", - "account.reverseShares.modal.max-use.description": - "A quantidade máxima de vezes que esta URL pode ser usada para criar um compartilhamento.", - "account.reverseShare.never-expires": - "Este compartilhamento reverso nunca irá expirar.", - "account.reverseShare.expires-on": - "Este compartilhamento reverso irá expirar em {expiration}.", - "account.reverseShares.table.no-shares": - "Nenhum compartilhamento criado ainda", + "account.reverseShares.modal.max-use.description": "A quantidade máxima de vezes que esta URL pode ser usada para criar um compartilhamento.", + "account.reverseShare.never-expires": "Este compartilhamento reverso nunca irá expirar.", + "account.reverseShare.expires-on": "Este compartilhamento reverso irá expirar em {expiration}.", + "account.reverseShares.table.no-shares": "Nenhum compartilhamento criado ainda", "account.reverseShares.table.count.singular": "compartilhar", "account.reverseShares.table.count.plural": "compartilhamentos", "account.reverseShares.table.shares": "Compartilhamentos", "account.reverseShares.table.remaining": "Usos restantes", "account.reverseShares.table.max-size": "Tamanho máximo do compartilhamento", "account.reverseShares.table.expires": "Expira em", - "account.reverseShares.modal.reverse-share-link": - "Link do compartilhamento reverso", - "account.reverseShares.modal.delete.title": - "Excluir o compartilhamento reverso", - "account.reverseShares.modal.delete.description": - "Você realmente deseja excluir este compartilhamento reverso? Se você o fizer, os compartilhamentos associados também serão excluídos.", + "account.reverseShares.modal.reverse-share-link": "Link do compartilhamento reverso", + "account.reverseShares.modal.delete.title": "Excluir o compartilhamento reverso", + "account.reverseShares.modal.delete.description": "Você realmente deseja excluir este compartilhamento reverso? Se você o fizer, os compartilhamentos associados também serão excluídos.", // END /account/reverseShares // /admin "admin.title": "Administração", @@ -184,46 +158,36 @@ export default { "admin.users.edit.update.change-password.title": "Alterar senha", "admin.users.edit.update.change-password.field": "Nova senha", "admin.users.edit.update.change-password.button": "Salvar nova senha", - "admin.users.edit.update.notify.password.success": - "Senha alterada com sucesso", + "admin.users.edit.update.notify.password.success": "Senha alterada com sucesso", "admin.users.edit.delete.title": "Excluir usuário {username}", - "admin.users.edit.delete.description": - "Você realmente quer excluir este usuário e todos os seus compartilhamentos?", + "admin.users.edit.delete.description": "Você realmente quer excluir este usuário e todos os seus compartilhamentos?", // showCreateUserModal.tsx "admin.users.modal.create.title": "Criar usuário", "admin.users.modal.create.username": "Nome do usuário", "admin.users.modal.create.email": "E-mail", "admin.users.modal.create.password": "Senha", "admin.users.modal.create.manual-password": "Definir senha manualmente", - "admin.users.modal.create.manual-password.description": - "Se não estiver marcado, o usuário receberá um e-mail com um link para definir sua senha.", + "admin.users.modal.create.manual-password.description": "Se não estiver marcado, o usuário receberá um e-mail com um link para definir sua senha.", "admin.users.modal.create.admin": "Privilégios de administrador", - "admin.users.modal.create.admin.description": - "Se marcado, o usuário poderá acessar o painel de administração.", + "admin.users.modal.create.admin.description": "Se marcado, o usuário poderá acessar o painel de administração.", // END /admin/users // /upload - "upload.title": "Upload", - "upload.notify.generic-error": - "Ocorreu um erro ao terminar seu compartilhamento.", - "upload.notify.count-failed": - "Falha ao enviar {count} arquivos. Tentando novamente.", + "upload.title": "Carregar", + "upload.notify.generic-error": "Ocorreu um erro ao terminar seu compartilhamento.", + "upload.notify.count-failed": "Falha ao enviar {count} arquivos. Tentando novamente.", // Dropzone.tsx - "upload.dropzone.title": "Upload de arquivos", - "upload.dropzone.description": - "Arraste os arquivos aqui para iniciar o seu compartilhamento. Podemos aceitar apenas arquivos que são menores que {maxSize} no total.", - "upload.dropzone.notify.file-too-big": - "Seus arquivos excedem o tamanho máximo do compartilhamento {maxSize}.", + "upload.dropzone.title": "Carregar arquivos", + "upload.dropzone.description": "Arraste os arquivos aqui para iniciar o seu compartilhamento. Podemos aceitar apenas arquivos que são menores que {maxSize} no total.", + "upload.dropzone.notify.file-too-big": "Seus arquivos excedem o tamanho máximo do compartilhamento {maxSize}.", // FileList.tsx "upload.filelist.name": "Nome", "upload.filelist.size": "Tamanho", // showCreateUploadModal.tsx "upload.modal.title": "Criar Compartilhamento", - "upload.modal.link.error.invalid": - "Pode conter apenas letras, números, sublinhados e hífens", + "upload.modal.link.error.invalid": "Pode conter apenas letras, números, sublinhados e hífens", "upload.modal.link.error.taken": "Este link já está em uso", "upload.modal.not-signed-in": "Você não está conectado", - "upload.modal.not-signed-in-description": - "Você não poderá excluir seu compartilhamento manualmente e visualizar a contagem de visitantes.", + "upload.modal.not-signed-in-description": "Você não poderá excluir seu compartilhamento manualmente e visualizar a contagem de visitantes.", "upload.modal.expires.never": "nunca", "upload.modal.expires.never-long": "Nunca expira", "upload.modal.link.label": "Link", @@ -241,11 +205,9 @@ export default { "upload.modal.expires.year-singular": "Ano", "upload.modal.expires.year-plural": "Anos", "upload.modal.accordion.description.title": "Descrição", - "upload.modal.accordion.description.placeholder": - "Nota para os destinatários deste compartilhamento", + "upload.modal.accordion.description.placeholder": "Nota para os destinatários deste compartilhamento", "upload.modal.accordion.email.title": "Destinatários de e-mail", - "upload.modal.accordion.email.placeholder": - "Insira os destinatários do e-mail", + "upload.modal.accordion.email.placeholder": "Insira os destinatários do e-mail", "upload.modal.accordion.email.invalid-email": "Endereço de e-mail inválido", "upload.modal.accordion.security.title": "Opções de segurança", "upload.modal.accordion.security.password.label": "Protecção por senha", @@ -253,37 +215,29 @@ export default { "upload.modal.accordion.security.max-views.label": "Máximo de visualizações", "upload.modal.accordion.security.max-views.placeholder": "Sem limite", // showCompletedUploadModal.tsx - "upload.modal.completed.never-expires": - "Este compartilhamento reverso nunca irá expirar.", - "upload.modal.completed.expires-on": - "Este compartilhamento reverso irá expirar em {expiration}.", + "upload.modal.completed.never-expires": "Este compartilhamento reverso nunca irá expirar.", + "upload.modal.completed.expires-on": "Este compartilhamento reverso irá expirar em {expiration}.", "upload.modal.completed.share-ready": "Compartilhamento pronto", // END /upload // /share/[id] "share.title": "Compartilhar {shareId}", "share.description": "Veja o que eu compartilhei com você!", "share.error.visitor-limit-exceeded.title": "Limite de visitantes excedido", - "share.error.visitor-limit-exceeded.description": - "O limite de visitantes deste compartilhamento foi excedido.", + "share.error.visitor-limit-exceeded.description": "O limite de visitantes deste compartilhamento foi excedido.", "share.error.removed.title": "Compartilhamento removido", "share.error.not-found.title": "Compartilhamento não encontrado", - "share.error.not-found.description": - "O compartilhamento que você procura não existe.", + "share.error.not-found.description": "O compartilhamento que você procura não existe.", "share.modal.password.title": "Senha necessária", - "share.modal.password.description": - "Para acessar este compartilhamento, por favor digite a senha para o compartilhamento.", + "share.modal.password.description": "Para acessar este compartilhamento, por favor digite a senha para o compartilhamento.", "share.modal.password": "Senha", "share.modal.error.invalid-password": "Senha inválida", "share.button.download-all": "Transferir tudo", - "share.notify.download-all-preparing": - "O compartilhamento está sendo preparado. Tente novamente em alguns minutos.", + "share.notify.download-all-preparing": "O compartilhamento está sendo preparado. Tente novamente em alguns minutos.", "share.modal.file-link": "Link do arquivo", "share.table.name": "Nome", "share.table.size": "Tamanho", - "share.modal.file-preview.error.not-supported.title": - "Visualização não suportada", - "share.modal.file-preview.error.not-supported.description": - "Uma visualização para este tipo de arquivo não é suportada. Faça o download do arquivo para visualizá-lo.", + "share.modal.file-preview.error.not-supported.title": "Visualização não suportada", + "share.modal.file-preview.error.not-supported.description": "Uma visualização para este tipo de arquivo não é suportada. Faça o download do arquivo para visualizá-lo.", // END /share/[id] // /admin/config "admin.config.title": "Configuração", @@ -294,71 +248,46 @@ export default { "admin.config.general.app-name": "Nome da aplicação", "admin.config.general.app-name.description": "Nome da aplicação", "admin.config.general.app-url": "URL do Aplicativo", - "admin.config.general.app-url.description": - "Em qual URL o Pingvin Share está disponível", + "admin.config.general.app-url.description": "Em qual URL o Pingvin Share está disponível", "admin.config.general.show-home-page": "Mostrar a página inicial", - "admin.config.general.show-home-page.description": - "Mostrar ou não a página inicial", + "admin.config.general.show-home-page.description": "Mostrar ou não a página inicial", "admin.config.general.logo": "Logo", - "admin.config.general.logo.description": - "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.", + "admin.config.general.logo.description": "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.", "admin.config.general.logo.placeholder": "Escolhe uma imagem", - "admin.config.email.enable-share-email-recipients": - "Ativar compartilhamento de e-mails destinatários", - "admin.config.email.enable-share-email-recipients.description": - "Se quiser permitir que e-mails compartilhem destinatários. Apenas habilite isso se você tiver ativado o SMTP.", - "admin.config.email.share-recipients-subject": - "Assunto dos destinatários do compartilhamento", - "admin.config.email.share-recipients-subject.description": - "Assunto do e-mail enviado para os destinatários do compartilhamento.", - "admin.config.email.share-recipients-message": - "Assunto dos destinatários do compartilhamento", - "admin.config.email.share-recipients-message.description": - "Mensagem que é enviada aos destinatários do compartilhamento. Variáveis disponíveis:\n {creator} - O nome de usuário do criador do compartilhamento\n {shareUrl} - O URL do compartilhamento\n {desc} - A descrição do compartilhamento\n {expires} - A data de expiração do compartilhamento\n As variáveis serão substituídas pelo valor real.", - "admin.config.email.reverse-share-subject": - "Assunto do compartilhamento reverso", - "admin.config.email.reverse-share-subject.description": - "Assunto do e-mail enviado quando alguém criou um compartilhamento com o seu link reverso.", - "admin.config.email.reverse-share-message": - "Mensagem do compartilhamento reverso", - "admin.config.email.reverse-share-message.description": - "Mensagem enviada quando alguém criou um compartilhamento com o link reverso. {shareUrl} será substituído pelo nome do criador e pela URL de compartilhamento.", + "admin.config.email.enable-share-email-recipients": "Ativar compartilhamento de e-mails destinatários", + "admin.config.email.enable-share-email-recipients.description": "Se quiser permitir que e-mails compartilhem destinatários. Apenas habilite isso se você tiver ativado o SMTP.", + "admin.config.email.share-recipients-subject": "Assunto dos destinatários do compartilhamento", + "admin.config.email.share-recipients-subject.description": "Assunto do e-mail enviado para os destinatários do compartilhamento.", + "admin.config.email.share-recipients-message": "Assunto dos destinatários do compartilhamento", + "admin.config.email.share-recipients-message.description": "Mensagem que é enviada aos destinatários do compartilhamento. Variáveis disponíveis:\n {creator} - O nome de usuário do criador do compartilhamento\n {shareUrl} - O URL do compartilhamento\n {desc} - A descrição do compartilhamento\n {expires} - A data de expiração do compartilhamento\n As variáveis serão substituídas pelo valor real.", + "admin.config.email.reverse-share-subject": "Assunto do compartilhamento reverso", + "admin.config.email.reverse-share-subject.description": "Assunto do e-mail enviado quando alguém criou um compartilhamento com o seu link reverso.", + "admin.config.email.reverse-share-message": "Mensagem do compartilhamento reverso", + "admin.config.email.reverse-share-message.description": "Mensagem enviada quando alguém criou um compartilhamento com o link reverso. {shareUrl} será substituído pelo nome do criador e pela URL de compartilhamento.", "admin.config.email.reset-password-subject": "Redefinir assunto da senha", - "admin.config.email.reset-password-subject.description": - "Assunto do e-mail enviado quando um usuário solicita uma redefinição de senha.", - "admin.config.email.reset-password-message": - "Mensagem de redefinição de senha", - "admin.config.email.reset-password-message.description": - "Mensagem enviada quando um usuário solicita uma redefinição de senha. {url} será substituído pela URL de redefinição de senha.", + "admin.config.email.reset-password-subject.description": "Assunto do e-mail enviado quando um usuário solicita uma redefinição de senha.", + "admin.config.email.reset-password-message": "Mensagem de redefinição de senha", + "admin.config.email.reset-password-message.description": "Mensagem enviada quando um usuário solicita uma redefinição de senha. {url} será substituído pela URL de redefinição de senha.", "admin.config.email.invite-subject": "Assunto do convite", - "admin.config.email.invite-subject.description": - "Assunto do e-mail enviado quando um administrador convida um usuário.", + "admin.config.email.invite-subject.description": "Assunto do e-mail enviado quando um administrador convida um usuário.", "admin.config.email.invite-message": "Mensagem de convite", - "admin.config.email.invite-message.description": - "Mensagem enviada quando um administrador convida um usuário. {url} será substituído pelo URL de convite e {password} pela senha.", + "admin.config.email.invite-message.description": "Mensagem enviada quando um administrador convida um usuário. {url} será substituído pelo URL de convite e {password} pela senha.", "admin.config.share.allow-registration": "Permitir novos registos", - "admin.config.share.allow-registration.description": - "Se o registro é permitido", - "admin.config.share.allow-unauthenticated-shares": - "Permitir compartilhamentos sem autenticação", - "admin.config.share.allow-unauthenticated-shares.description": - "Se usuários não autenticados podem criar compartilhamentos", + "admin.config.share.allow-registration.description": "Se o registro é permitido", + "admin.config.share.allow-unauthenticated-shares": "Permitir compartilhamentos sem autenticação", + "admin.config.share.allow-unauthenticated-shares.description": "Se usuários não autenticados podem criar compartilhamentos", "admin.config.share.max-size": "Tamanho máximo", - "admin.config.share.max-size.description": - "Tamanho máximo do compartilhamento em bytes", + "admin.config.share.max-size.description": "Tamanho máximo do compartilhamento em bytes", "admin.config.share.zip-compression-level": "Nível de compressão", - "admin.config.share.zip-compression-level.description": - "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ", + "admin.config.share.zip-compression-level.description": "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ", "admin.config.smtp.enabled": "Ativado", - "admin.config.smtp.enabled.description": - "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o host, porta, e-mail, usuário e senha do seu servidor SMTP.", + "admin.config.smtp.enabled.description": "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o host, porta, e-mail, usuário e senha do seu servidor SMTP.", "admin.config.smtp.host": "Servidor", "admin.config.smtp.host.description": "Nome do Servidor SMTP", "admin.config.smtp.port": "Porta", "admin.config.smtp.port.description": "Porta do Servidor SMTP", "admin.config.smtp.email": "E-mail", - "admin.config.smtp.email.description": - "Endereço de e-mail do qual os e-mails são enviados", + "admin.config.smtp.email.description": "Endereço de e-mail do qual os e-mails são enviados", "admin.config.smtp.username": "Nome do usuário", "admin.config.smtp.username.description": "Nome de usuário do servidor SMTP", "admin.config.smtp.password": "Senha", @@ -390,5 +319,5 @@ export default { "common.error.too-long": "Deve ter no máximo {length} caracteres", "common.error.exact-length": "Deve ter exatamente {length} caracteres", "common.error.invalid-number": "Tem que ser um número", - "common.error.field-required": "Este campo é obrigatório", -}; + "common.error.field-required": "Este campo é obrigatório" +}; \ No newline at end of file diff --git a/frontend/src/i18n/translations/pt-PT.ts b/frontend/src/i18n/translations/pt-PT.ts new file mode 100644 index 0000000..595a4e5 --- /dev/null +++ b/frontend/src/i18n/translations/pt-PT.ts @@ -0,0 +1,323 @@ +export default { + // Navbar + "navbar.upload": "Carregar", + "navbar.signin": "Iniciar sessão", + "navbar.home": "Início", + "navbar.signup": "Registar-se", + "navbar.links.shares": "Meus compartilhamentos", + "navbar.links.reverse": "Compartilhamentos reversos", + "navbar.avatar.account": "Minha conta", + "navbar.avatar.admin": "Administração", + "navbar.avatar.signout": "Terminar sessão", + // END navbar + // / + "home.title": "Uma plataforma de compartilhamento de arquivos auto-hospedada.", + "home.description": "Deseja realmente dar os seus arquivos pessoais na mão de terceiros como o WeTransfer?", + "home.bullet.a.name": "Auto-Hospedado", + "home.bullet.a.description": "Hospede o Pingvin Share em sua própria máquina.", + "home.bullet.b.name": "Privacidade", + "home.bullet.b.description": "Seus arquivos são seus arquivos e nunca devem cair nas mãos de terceiros.", + "home.bullet.c.name": "Sem limite de tamanho de arquivo irritante", + "home.bullet.c.description": "Carregue os arquivos grandes que desejar. Apenas o seu disco rígido será o seu limite.", + "home.button.start": "Começar", + "home.button.source": "Código-fonte", + // END / + // /auth/signin + "signin.title": "Bem-vindo de volta", + "signin.description": "Ainda não tem uma conta?", + "signin.button.signup": "Registo", + "signin.input.email-or-username": "Correio ou Nome de utilizador", + "signin.input.email-or-username.placeholder": "Seu e-mail ou nome de usuário", + "signin.input.password": "Senha", + "signin.input.password.placeholder": "A sua senha", + "signin.button.submit": "Iniciar sessão", + "signIn.notify.totp-required.title": "Autenticação de dois fatores necessária", + "signIn.notify.totp-required.description": "Insira seu código de autenticação de dois fatores", + // END /auth/signin + // /auth/signup + "signup.title": "Criar uma conta", + "signup.description": "Já tem uma conta?", + "signup.button.signin": "Iniciar sessão", + "signup.input.username": "Utilizador", + "signup.input.username.placeholder": "Seu nome de usuário", + "signup.input.email": "E-mail", + "signup.input.email.placeholder": "Seu e-mail", + "signup.button.submit": "Vamos começar", + // END /auth/signup + // /auth/reset-password + "resetPassword.title": "Esqueceu a sua senha?", + "resetPassword.description": "Insira o seu e-mail para redefinir a sua senha.", + "resetPassword.notify.success": "Um e-mail foi enviado com um link para redefinir a sua senha.", + "resetPassword.button.back": "Voltar para a página inicial", + "resetPassword.text.resetPassword": "Redefinir senha", + "resetPassword.text.enterNewPassword": "Digite uma nova senha", + "resetPassword.input.password": "Nova senha", + "resetPassword.notify.passwordReset": "A sua senha foi redefinida com sucesso.", + // /account + "account.title": "A minha conta", + "account.card.info.title": "Informação sobre a conta", + "account.card.info.username": "Nome do usuário", + "account.card.info.email": "E-mail", + "account.notify.info.success": "A conta foi atualizada com sucesso", + "account.card.password.title": "Senha", + "account.card.password.old": "Senha antiga", + "account.card.password.new": "Nova senha", + "account.notify.password.success": "Senha alterada com sucesso", + "account.card.security.title": "Segurança", + "account.card.security.totp.enable.description": "Digite a sua senha atual para começar a habilitar o TOTP", + "account.card.security.totp.disable.description": "Digite a sua senha atual para desabilitar o TOTP", + "account.card.security.totp.button.start": "Iniciar", + "account.modal.totp.title": "Habilitar TOTP", + "account.modal.totp.step1": "Passo 1: Adicionar o seu autenticador", + "account.modal.totp.step2": "Passo 2: Valide o seu código", + "account.modal.totp.enterManually": "Inserir manualmente", + "account.modal.totp.code": "Código", + "account.modal.totp.clickToCopy": "Clique para copiar", + "account.modal.totp.verify": "Verificar", + "account.notify.totp.disable": "TOTP desabilitado com sucesso", + "account.notify.totp.enable": "TOTP habilitado com sucesso", + "account.card.language.title": "Idioma", + "account.card.language.description": "O projeto é traduzido pela comunidade. Alguns idiomas podem estar incompletos.", + "account.card.color.title": "Esquema de cores", + // ThemeSwitcher.tsx + "account.theme.dark": "Escuro", + "account.theme.light": "Claro", + "account.theme.system": "Sistema", + "account.button.delete": "Excluir conta", + "account.modal.delete.title": "Excluir conta", + "account.modal.delete.description": "Você realmente deseja excluir a sua conta, incluindo todos os seus compartilhamentos ativos?", + // END /account + // /account/shares + "account.shares.title": "Meus compartilhamentos", + "account.shares.title.empty": "Está vazio aqui 👀", + "account.shares.description.empty": "Você não tem nenhum compartilhamento.", + "account.shares.button.create": "Crie um", + "account.shares.info.title": "Informações do compartilhamento", + "account.shares.table.id": "ID", + "account.shares.table.name": "Nome", + "account.shares.table.description": "Descrição", + "account.shares.table.visitors": "Visitantes", + "account.shares.table.expiresAt": "Expira em", + "account.shares.table.createdAt": "Criado em", + "account.shares.table.size": "Tamanho", + "account.shares.modal.share-informations": "Informações do compartilhamento", + "account.shares.modal.share-link": "Link do compartilhamento", + "account.shares.modal.delete.title": "Excluir o compartilhamento {share}", + "account.shares.modal.delete.description": "Tem certeza que deseja excluir este compartilhamento?", + // END /account/shares + // /account/reverseShares + "account.reverseShares.title": "Compartilhamentos reversos", + "account.reverseShares.description": "Um compartilhamento reverso permite gerar uma URL única que autoriza usuários externos criarem um compartilhamento.", + "account.reverseShares.title.empty": "Está vazio aqui 👀", + "account.reverseShares.description.empty": "Você não tem nenhum compartilhamento reverso.", + // showCreateReverseShareModal.tsx + "account.reverseShares.modal.expiration.label": "Expiração", + "account.reverseShares.modal.expiration.minute-singular": "Minuto", + "account.reverseShares.modal.expiration.minute-plural": "Minutos", + "account.reverseShares.modal.expiration.hour-singular": "Hora", + "account.reverseShares.modal.expiration.hour-plural": "Horas", + "account.reverseShares.modal.expiration.day-singular": "Dia", + "account.reverseShares.modal.expiration.day-plural": "Dias", + "account.reverseShares.modal.expiration.week-singular": "Semana", + "account.reverseShares.modal.expiration.week-plural": "Semanas", + "account.reverseShares.modal.expiration.month-singular": "Mês", + "account.reverseShares.modal.expiration.month-plural": "Meses", + "account.reverseShares.modal.expiration.year-singular": "Ano", + "account.reverseShares.modal.expiration.year-plural": "Anos", + "account.reverseShares.modal.max-size.label": "Tamanho máximo do compartilhamento", + "account.reverseShares.modal.send-email": "Enviar notificação por e-mail", + "account.reverseShares.modal.send-email.description": "Enviar uma notificação por e-mail quando um compartilhamento for criado com este link reverso.", + "account.reverseShares.modal.max-use.label": "Limite de uso", + "account.reverseShares.modal.max-use.description": "A quantidade máxima de vezes que esta URL pode ser usada para criar um compartilhamento.", + "account.reverseShare.never-expires": "Este compartilhamento reverso nunca irá expirar.", + "account.reverseShare.expires-on": "Este compartilhamento reverso irá expirar em {expiration}.", + "account.reverseShares.table.no-shares": "Nenhum compartilhamento criado ainda", + "account.reverseShares.table.count.singular": "compartilhar", + "account.reverseShares.table.count.plural": "compartilhamentos", + "account.reverseShares.table.shares": "Compartilhamentos", + "account.reverseShares.table.remaining": "Usos restantes", + "account.reverseShares.table.max-size": "Tamanho máximo do compartilhamento", + "account.reverseShares.table.expires": "Expira em", + "account.reverseShares.modal.reverse-share-link": "Link do compartilhamento reverso", + "account.reverseShares.modal.delete.title": "Excluir o compartilhamento reverso", + "account.reverseShares.modal.delete.description": "Você realmente deseja excluir este compartilhamento reverso? Se você o fizer, os compartilhamentos associados também serão excluídos.", + // END /account/reverseShares + // /admin + "admin.title": "Administração", + "admin.button.users": "Gerenciamento de usuários", + "admin.button.config": "Configuração", + "admin.version": "Versão", + // END /admin + // /admin/users + "admin.users.title": "Gerenciamento de usuários", + "admin.users.table.username": "Nome do usuário", + "admin.users.table.email": "E-mail", + "admin.users.table.admin": "Admin", + "admin.users.edit.update.title": "Atualizar usuário {username}", + "admin.users.edit.update.admin-privileges": "Privilégios de administrador", + "admin.users.edit.update.change-password.title": "Alterar senha", + "admin.users.edit.update.change-password.field": "Nova senha", + "admin.users.edit.update.change-password.button": "Salvar nova senha", + "admin.users.edit.update.notify.password.success": "Senha alterada com sucesso", + "admin.users.edit.delete.title": "Excluir usuário {username}", + "admin.users.edit.delete.description": "Você realmente quer excluir este usuário e todos os seus compartilhamentos?", + // showCreateUserModal.tsx + "admin.users.modal.create.title": "Criar usuário", + "admin.users.modal.create.username": "Nome do usuário", + "admin.users.modal.create.email": "E-mail", + "admin.users.modal.create.password": "Senha", + "admin.users.modal.create.manual-password": "Definir senha manualmente", + "admin.users.modal.create.manual-password.description": "Se não estiver marcado, o usuário receberá um e-mail com um link para definir sua senha.", + "admin.users.modal.create.admin": "Privilégios de administrador", + "admin.users.modal.create.admin.description": "Se marcado, o usuário poderá acessar o painel de administração.", + // END /admin/users + // /upload + "upload.title": "Upload", + "upload.notify.generic-error": "Ocorreu um erro ao terminar seu compartilhamento.", + "upload.notify.count-failed": "Falha ao enviar {count} arquivos. Tentando novamente.", + // Dropzone.tsx + "upload.dropzone.title": "Upload de arquivos", + "upload.dropzone.description": "Arraste os arquivos aqui para iniciar o seu compartilhamento. Podemos aceitar apenas arquivos que são menores que {maxSize} no total.", + "upload.dropzone.notify.file-too-big": "Seus arquivos excedem o tamanho máximo do compartilhamento {maxSize}.", + // FileList.tsx + "upload.filelist.name": "Nome", + "upload.filelist.size": "Tamanho", + // showCreateUploadModal.tsx + "upload.modal.title": "Criar Compartilhamento", + "upload.modal.link.error.invalid": "Pode conter apenas letras, números, sublinhados e hífens", + "upload.modal.link.error.taken": "Este link já está em uso", + "upload.modal.not-signed-in": "Você não está conectado", + "upload.modal.not-signed-in-description": "Você não poderá excluir seu compartilhamento manualmente e visualizar a contagem de visitantes.", + "upload.modal.expires.never": "nunca", + "upload.modal.expires.never-long": "Nunca expira", + "upload.modal.link.label": "Link", + "upload.modal.expires.label": "Expiração", + "upload.modal.expires.minute-singular": "Minuto", + "upload.modal.expires.minute-plural": "Minutos", + "upload.modal.expires.hour-singular": "Hora", + "upload.modal.expires.hour-plural": "Horas", + "upload.modal.expires.day-singular": "Dia", + "upload.modal.expires.day-plural": "Dias", + "upload.modal.expires.week-singular": "Semana", + "upload.modal.expires.week-plural": "Semanas", + "upload.modal.expires.month-singular": "Mês", + "upload.modal.expires.month-plural": "Meses", + "upload.modal.expires.year-singular": "Ano", + "upload.modal.expires.year-plural": "Anos", + "upload.modal.accordion.description.title": "Descrição", + "upload.modal.accordion.description.placeholder": "Nota para os destinatários deste compartilhamento", + "upload.modal.accordion.email.title": "Destinatários de e-mail", + "upload.modal.accordion.email.placeholder": "Insira os destinatários do e-mail", + "upload.modal.accordion.email.invalid-email": "Endereço de e-mail inválido", + "upload.modal.accordion.security.title": "Opções de segurança", + "upload.modal.accordion.security.password.label": "Protecção por senha", + "upload.modal.accordion.security.password.placeholder": "Sem senha", + "upload.modal.accordion.security.max-views.label": "Máximo de visualizações", + "upload.modal.accordion.security.max-views.placeholder": "Sem limite", + // showCompletedUploadModal.tsx + "upload.modal.completed.never-expires": "Este compartilhamento reverso nunca irá expirar.", + "upload.modal.completed.expires-on": "Este compartilhamento reverso irá expirar em {expiration}.", + "upload.modal.completed.share-ready": "Compartilhamento pronto", + // END /upload + // /share/[id] + "share.title": "Compartilhar {shareId}", + "share.description": "Veja o que eu compartilhei com você!", + "share.error.visitor-limit-exceeded.title": "Limite de visitantes excedido", + "share.error.visitor-limit-exceeded.description": "O limite de visitantes deste compartilhamento foi excedido.", + "share.error.removed.title": "Compartilhamento removido", + "share.error.not-found.title": "Compartilhamento não encontrado", + "share.error.not-found.description": "O compartilhamento que você procura não existe.", + "share.modal.password.title": "Senha necessária", + "share.modal.password.description": "Para acessar este compartilhamento, por favor digite a senha para o compartilhamento.", + "share.modal.password": "Senha", + "share.modal.error.invalid-password": "Senha inválida", + "share.button.download-all": "Transferir tudo", + "share.notify.download-all-preparing": "O compartilhamento está sendo preparado. Tente novamente em alguns minutos.", + "share.modal.file-link": "Link do arquivo", + "share.table.name": "Nome", + "share.table.size": "Tamanho", + "share.modal.file-preview.error.not-supported.title": "Visualização não suportada", + "share.modal.file-preview.error.not-supported.description": "Uma visualização para este tipo de arquivo não é suportada. Faça o download do arquivo para visualizá-lo.", + // END /share/[id] + // /admin/config + "admin.config.title": "Configuração", + "admin.config.category.general": "Geral", + "admin.config.category.share": "Compartilhamento", + "admin.config.category.email": "E-mail", + "admin.config.category.smtp": "SMTP", + "admin.config.general.app-name": "Nome da aplicação", + "admin.config.general.app-name.description": "Nome da aplicação", + "admin.config.general.app-url": "URL do Aplicativo", + "admin.config.general.app-url.description": "Em qual URL o Pingvin Share está disponível", + "admin.config.general.show-home-page": "Mostrar a página inicial", + "admin.config.general.show-home-page.description": "Mostrar ou não a página inicial", + "admin.config.general.logo": "Logo", + "admin.config.general.logo.description": "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.", + "admin.config.general.logo.placeholder": "Escolhe uma imagem", + "admin.config.email.enable-share-email-recipients": "Ativar compartilhamento de e-mails destinatários", + "admin.config.email.enable-share-email-recipients.description": "Se quiser permitir que e-mails compartilhem destinatários. Apenas habilite isso se você tiver ativado o SMTP.", + "admin.config.email.share-recipients-subject": "Assunto dos destinatários do compartilhamento", + "admin.config.email.share-recipients-subject.description": "Assunto do e-mail enviado para os destinatários do compartilhamento.", + "admin.config.email.share-recipients-message": "Assunto dos destinatários do compartilhamento", + "admin.config.email.share-recipients-message.description": "Mensagem que é enviada aos destinatários do compartilhamento. Variáveis disponíveis:\n {creator} - O nome de usuário do criador do compartilhamento\n {shareUrl} - O URL do compartilhamento\n {desc} - A descrição do compartilhamento\n {expires} - A data de expiração do compartilhamento\n As variáveis serão substituídas pelo valor real.", + "admin.config.email.reverse-share-subject": "Assunto do compartilhamento reverso", + "admin.config.email.reverse-share-subject.description": "Assunto do e-mail enviado quando alguém criou um compartilhamento com o seu link reverso.", + "admin.config.email.reverse-share-message": "Mensagem do compartilhamento reverso", + "admin.config.email.reverse-share-message.description": "Mensagem enviada quando alguém criou um compartilhamento com o link reverso. {shareUrl} será substituído pelo nome do criador e pela URL de compartilhamento.", + "admin.config.email.reset-password-subject": "Redefinir assunto da senha", + "admin.config.email.reset-password-subject.description": "Assunto do e-mail enviado quando um usuário solicita uma redefinição de senha.", + "admin.config.email.reset-password-message": "Mensagem de redefinição de senha", + "admin.config.email.reset-password-message.description": "Mensagem enviada quando um usuário solicita uma redefinição de senha. {url} será substituído pela URL de redefinição de senha.", + "admin.config.email.invite-subject": "Assunto do convite", + "admin.config.email.invite-subject.description": "Assunto do e-mail enviado quando um administrador convida um usuário.", + "admin.config.email.invite-message": "Mensagem de convite", + "admin.config.email.invite-message.description": "Mensagem enviada quando um administrador convida um usuário. {url} será substituído pelo URL de convite e {password} pela senha.", + "admin.config.share.allow-registration": "Permitir novos registos", + "admin.config.share.allow-registration.description": "Se o registro é permitido", + "admin.config.share.allow-unauthenticated-shares": "Permitir compartilhamentos sem autenticação", + "admin.config.share.allow-unauthenticated-shares.description": "Se usuários não autenticados podem criar compartilhamentos", + "admin.config.share.max-size": "Tamanho máximo", + "admin.config.share.max-size.description": "Tamanho máximo do compartilhamento em bytes", + "admin.config.share.zip-compression-level": "Nível de compressão", + "admin.config.share.zip-compression-level.description": "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ", + "admin.config.smtp.enabled": "Ativado", + "admin.config.smtp.enabled.description": "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o host, porta, e-mail, usuário e senha do seu servidor SMTP.", + "admin.config.smtp.host": "Servidor", + "admin.config.smtp.host.description": "Nome do Servidor SMTP", + "admin.config.smtp.port": "Porta", + "admin.config.smtp.port.description": "Porta do Servidor SMTP", + "admin.config.smtp.email": "E-mail", + "admin.config.smtp.email.description": "Endereço de e-mail do qual os e-mails são enviados", + "admin.config.smtp.username": "Nome do usuário", + "admin.config.smtp.username.description": "Nome de usuário do servidor SMTP", + "admin.config.smtp.password": "Senha", + "admin.config.smtp.password.description": "Senha do servidor SMTP", + "admin.config.smtp.button.test": "Enviar email de teste", + // 404 + "404.description": "Ops, esta página não existe.", + "404.button.home": "Me traga de volta para casa", + // Common translations + "common.button.save": "Salvar", + "common.button.create": "Criar", + "common.button.submit": "Submeter", + "common.button.delete": "Excluir", + "common.button.cancel": "Cancelar", + "common.button.confirm": "Confirmar", + "common.button.disable": "Desativar", + "common.button.share": "Compartilhamento", + "common.button.generate": "Gerar", + "common.button.done": "Concluído", + "common.text.link": "Link", + "common.text.or": "ou", + "common.button.go-back": "Voltar", + "common.notify.copied": "O seu link foi copiado para a área de transferência", + "common.success": "Sucesso", + "common.error": "Erro", + "common.error.unknown": "Ocorreu um erro desconhecido", + "common.error.invalid-email": "Endereço de e-mail inválido", + "common.error.too-short": "Deve ter no mínimo {length} caracteres", + "common.error.too-long": "Deve ter no máximo {length} caracteres", + "common.error.exact-length": "Deve ter exatamente {length} caracteres", + "common.error.invalid-number": "Tem que ser um número", + "common.error.field-required": "Este campo é obrigatório" +}; \ No newline at end of file