1
0
mirror of https://github.com/stonith404/pingvin-share.git synced 2024-06-30 06:30:11 +02:00

fix: rename pt-PT.ts to pt-BR.ts

This commit is contained in:
Elias Schneider 2023-07-25 17:07:38 +02:00
parent 82008aa261
commit 2584bb0d48
No known key found for this signature in database
GPG Key ID: 07E623B294202B6C
5 changed files with 343 additions and 592 deletions

View File

@ -3,7 +3,7 @@ import german from "./translations/de-DE";
import english from "./translations/en-US"; import english from "./translations/en-US";
import spanish from "./translations/es-ES"; import spanish from "./translations/es-ES";
import french from "./translations/fr-FR"; import french from "./translations/fr-FR";
import portugueze from "./translations/pt-PT"; import portuguese from "./translations/pt-BR";
import thai from "./translations/th-TH"; import thai from "./translations/th-TH";
import chineseSimplified from "./translations/zh-CN"; import chineseSimplified from "./translations/zh-CN";
@ -23,10 +23,10 @@ export const LOCALES = {
code: "fr-FR", code: "fr-FR",
messages: french, messages: french,
}, },
PORTUGUEZE: { PORTUGUESE_BRAZIL: {
name: "Português", name: "Português (Brasil)",
code: "pt-PT", code: "pt-BR",
messages: portugueze, messages: portuguese,
}, },
DANISH: { DANISH: {
name: "Dansk", name: "Dansk",

View File

@ -425,6 +425,7 @@ export default {
"common.text.or": "or", "common.text.or": "or",
"common.button.go-back": "Go back", "common.button.go-back": "Go back",
"common.notify.copied": "Your link was copied to the clipboard", "common.notify.copied": "Your link was copied to the clipboard",
"common.success": "Success",
"common.error": "Error", "common.error": "Error",
"common.error.unknown": "An unknown error occurred", "common.error.unknown": "An unknown error occurred",

View File

@ -4,21 +4,26 @@ export default {
"navbar.signin": "Iniciar sessão", "navbar.signin": "Iniciar sessão",
"navbar.home": "Início", "navbar.home": "Início",
"navbar.signup": "Registar-se", "navbar.signup": "Registar-se",
"navbar.links.shares": "My shares", "navbar.links.shares": "Meus compartilhamentos",
"navbar.links.reverse": "Reverse shares", "navbar.links.reverse": "Compartilhamentos reversos",
"navbar.avatar.account": "A minha conta", "navbar.avatar.account": "Minha conta",
"navbar.avatar.admin": "Administração", "navbar.avatar.admin": "Administração",
"navbar.avatar.signout": "Terminar sessão", "navbar.avatar.signout": "Terminar sessão",
// END navbar // END navbar
// / // /
"home.title": "A <h>self-hosted</h> file sharing platform.", "home.title":
"home.description": "Deseja realmente dar os seus arquivos pessoais na mão de terceiros como o WeTransfer?", "Uma plataforma de compartilhamento de arquivos <h>auto-hospedada</h>.",
"home.bullet.a.name": "Self-Hosted", "home.description":
"home.bullet.a.description": "Host Pingvin Share on your own machine.", "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.name": "Privacidade",
"home.bullet.b.description": "Your files are your files and should never get into the hands of third parties.", "home.bullet.b.description":
"home.bullet.c.name": "No annoying file size limit", "Seus arquivos são seus arquivos e nunca devem cair nas mãos de terceiros.",
"home.bullet.c.description": "Upload as big files as you want. Only your hard drive will be your limit.", "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.start": "Começar",
"home.button.source": "Código-fonte", "home.button.source": "Código-fonte",
// END / // END /
@ -27,297 +32,363 @@ export default {
"signin.description": "Ainda não tem uma conta?", "signin.description": "Ainda não tem uma conta?",
"signin.button.signup": "Registo", "signin.button.signup": "Registo",
"signin.input.email-or-username": "Correio ou Nome de utilizador", "signin.input.email-or-username": "Correio ou Nome de utilizador",
"signin.input.email-or-username.placeholder": "Your email or username", "signin.input.email-or-username.placeholder": "Seu e-mail ou nome de usuário",
"signin.input.password": "Senha", "signin.input.password": "Senha",
"signin.input.password.placeholder": "A sua senha", "signin.input.password.placeholder": "A sua senha",
"signin.button.submit": "Iniciar sessão", "signin.button.submit": "Iniciar sessão",
"signIn.notify.totp-required.title": "Two-factor authentication required", "signIn.notify.totp-required.title":
"signIn.notify.totp-required.description": "Please enter your two-factor authentication code", "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 // END /auth/signin
// /auth/signup // /auth/signup
"signup.title": "Criar uma conta", "signup.title": "Criar uma conta",
"signup.description": "Já tem uma conta?", "signup.description": "Já tem uma conta?",
"signup.button.signin": "Iniciar sessão", "signup.button.signin": "Iniciar sessão",
"signup.input.username": "Utilizador", "signup.input.username": "Utilizador",
"signup.input.username.placeholder": "Your username", "signup.input.username.placeholder": "Seu nome de usuário",
"signup.input.email": "Email", "signup.input.email": "E-mail",
"signup.input.email.placeholder": "Your email", "signup.input.email.placeholder": "Seu e-mail",
"signup.button.submit": "Let's get started", "signup.button.submit": "Vamos começar",
// END /auth/signup // END /auth/signup
// /auth/reset-password // /auth/reset-password
"resetPassword.title": "Forgot your password?", "resetPassword.title": "Esqueceu a sua senha?",
"resetPassword.description": "Enter your email to reset your password.", "resetPassword.description":
"resetPassword.notify.success": "An email has been sent with a link to reset your password.", "Insira o seu e-mail para redefinir a sua senha.",
"resetPassword.button.back": "Back to sign in page", "resetPassword.notify.success":
"resetPassword.text.resetPassword": "Reset password", "Um e-mail foi enviado com um link para redefinir a sua senha.",
"resetPassword.text.enterNewPassword": "Enter your new password", "resetPassword.button.back": "Voltar para a página inicial",
"resetPassword.input.password": "New password", "resetPassword.text.resetPassword": "Redefinir senha",
"resetPassword.notify.passwordReset": "Your password has been reset successfully.", "resetPassword.text.enterNewPassword": "Digite uma nova senha",
"resetPassword.input.password": "Nova senha",
"resetPassword.notify.passwordReset":
"A sua senha foi redefinida com sucesso.",
// /account // /account
"account.title": "My account", "account.title": "A minha conta",
"account.card.info.title": "Account info", "account.card.info.title": "Informação sobre a conta",
"account.card.info.username": "Username", "account.card.info.username": "Nome do usuário",
"account.card.info.email": "Email", "account.card.info.email": "E-mail",
"account.notify.info.success": "Account updated successfully", "account.notify.info.success": "A conta foi atualizada com sucesso",
"account.card.password.title": "Password", "account.card.password.title": "Senha",
"account.card.password.old": "Old password", "account.card.password.old": "Senha antiga",
"account.card.password.new": "New password", "account.card.password.new": "Nova senha",
"account.notify.password.success": "Password changed successfully", "account.notify.password.success": "Senha alterada com sucesso",
"account.card.security.title": "Security", "account.card.security.title": "Segurança",
"account.card.security.totp.enable.description": "Enter your current password to start enabling TOTP", "account.card.security.totp.enable.description":
"account.card.security.totp.disable.description": "Enter your current password to disable TOTP", "Digite a sua senha atual para começar a habilitar o TOTP",
"account.card.security.totp.button.start": "Start", "account.card.security.totp.disable.description":
"account.modal.totp.title": "Enable TOTP", "Digite a sua senha atual para desabilitar o TOTP",
"account.modal.totp.step1": "Step 1: Add your authenticator", "account.card.security.totp.button.start": "Iniciar",
"account.modal.totp.step2": "Step 2: Validate your code", "account.modal.totp.title": "Habilitar TOTP",
"account.modal.totp.enterManually": "Enter manually", "account.modal.totp.step1": "Passo 1: Adicionar o seu autenticador",
"account.modal.totp.code": "Code", "account.modal.totp.step2": "Passo 2: Valide o seu código",
"account.modal.totp.clickToCopy": "Click to copy", "account.modal.totp.enterManually": "Inserir manualmente",
"account.modal.totp.verify": "Verify", "account.modal.totp.code": "Código",
"account.notify.totp.disable": "TOTP disabled successfully", "account.modal.totp.clickToCopy": "Clique para copiar",
"account.notify.totp.enable": "TOTP enabled successfully", "account.modal.totp.verify": "Verificar",
"account.card.language.title": "Language", "account.notify.totp.disable": "TOTP desabilitado com sucesso",
"account.card.language.description": "The project is translated by the community. Some languages might be incomplete.", "account.notify.totp.enable": "TOTP habilitado com sucesso",
"account.card.color.title": "Color scheme", "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 // ThemeSwitcher.tsx
"account.theme.dark": "Dark", "account.theme.dark": "Escuro",
"account.theme.light": "Light", "account.theme.light": "Claro",
"account.theme.system": "System", "account.theme.system": "Sistema",
"account.button.delete": "Delete Account", "account.button.delete": "Excluir conta",
"account.modal.delete.title": "Delete Account", "account.modal.delete.title": "Excluir conta",
"account.modal.delete.description": "Do you really want to delete your account including all your active shares?", "account.modal.delete.description":
"Você realmente deseja excluir a sua conta, incluindo todos os seus compartilhamentos ativos?",
// END /account // END /account
// /account/shares // /account/shares
"account.shares.title": "My shares", "account.shares.title": "Meus compartilhamentos",
"account.shares.title.empty": "It's empty here 👀", "account.shares.title.empty": "Está vazio aqui 👀",
"account.shares.description.empty": "You don't have any shares.", "account.shares.description.empty": "Você não tem nenhum compartilhamento.",
"account.shares.button.create": "Create one", "account.shares.button.create": "Crie um",
"account.shares.info.title": "Share informations", "account.shares.info.title": "Informações do compartilhamento",
"account.shares.table.id": "ID", "account.shares.table.id": "ID",
"account.shares.table.name": "Name", "account.shares.table.name": "Nome",
"account.shares.table.description": "Description", "account.shares.table.description": "Descrição",
"account.shares.table.visitors": "Visitors", "account.shares.table.visitors": "Visitantes",
"account.shares.table.expiresAt": "Expires at", "account.shares.table.expiresAt": "Expira em",
"account.shares.table.createdAt": "Created at", "account.shares.table.createdAt": "Criado em",
"account.shares.table.size": "Size", "account.shares.table.size": "Tamanho",
"account.shares.modal.share-informations": "Share informations", "account.shares.modal.share-informations": "Informações do compartilhamento",
"account.shares.modal.share-link": "Share link", "account.shares.modal.share-link": "Link do compartilhamento",
"account.shares.modal.delete.title": "Delete share {share}", "account.shares.modal.delete.title": "Excluir o compartilhamento {share}",
"account.shares.modal.delete.description": "Do you really want to delete this share?", "account.shares.modal.delete.description":
"Tem certeza que deseja excluir este compartilhamento?",
// END /account/shares // END /account/shares
// /account/reverseShares // /account/reverseShares
"account.reverseShares.title": "Reverse shares", "account.reverseShares.title": "Compartilhamentos reversos",
"account.reverseShares.description": "A reverse share allows you to generate a unique URL that allows external users to create a share.", "account.reverseShares.description":
"account.reverseShares.title.empty": "It's empty here 👀", "Um compartilhamento reverso permite gerar uma URL única que autoriza usuários externos criarem um compartilhamento.",
"account.reverseShares.description.empty": "You don't have any reverse shares.", "account.reverseShares.title.empty": "Está vazio aqui 👀",
"account.reverseShares.description.empty":
"Você não tem nenhum compartilhamento reverso.",
// showCreateReverseShareModal.tsx // showCreateReverseShareModal.tsx
"account.reverseShares.modal.expiration.label": "Expiration", "account.reverseShares.modal.expiration.label": "Expiração",
"account.reverseShares.modal.expiration.minute-singular": "Minute", "account.reverseShares.modal.expiration.minute-singular": "Minuto",
"account.reverseShares.modal.expiration.minute-plural": "Minutes", "account.reverseShares.modal.expiration.minute-plural": "Minutos",
"account.reverseShares.modal.expiration.hour-singular": "Hour", "account.reverseShares.modal.expiration.hour-singular": "Hora",
"account.reverseShares.modal.expiration.hour-plural": "Hours", "account.reverseShares.modal.expiration.hour-plural": "Horas",
"account.reverseShares.modal.expiration.day-singular": "Day", "account.reverseShares.modal.expiration.day-singular": "Dia",
"account.reverseShares.modal.expiration.day-plural": "Days", "account.reverseShares.modal.expiration.day-plural": "Dias",
"account.reverseShares.modal.expiration.week-singular": "Week", "account.reverseShares.modal.expiration.week-singular": "Semana",
"account.reverseShares.modal.expiration.week-plural": "Weeks", "account.reverseShares.modal.expiration.week-plural": "Semanas",
"account.reverseShares.modal.expiration.month-singular": "Month", "account.reverseShares.modal.expiration.month-singular": "Mês",
"account.reverseShares.modal.expiration.month-plural": "Months", "account.reverseShares.modal.expiration.month-plural": "Meses",
"account.reverseShares.modal.expiration.year-singular": "Year", "account.reverseShares.modal.expiration.year-singular": "Ano",
"account.reverseShares.modal.expiration.year-plural": "Years", "account.reverseShares.modal.expiration.year-plural": "Anos",
"account.reverseShares.modal.max-size.label": "Max share size", "account.reverseShares.modal.max-size.label":
"account.reverseShares.modal.send-email": "Send email notification", "Tamanho máximo do compartilhamento",
"account.reverseShares.modal.send-email.description": "Send an email notification when a share is created with this reverse share link.", "account.reverseShares.modal.send-email": "Enviar notificação por e-mail",
"account.reverseShares.modal.max-use.label": "Max uses", "account.reverseShares.modal.send-email.description":
"account.reverseShares.modal.max-use.description": "The maximum amount of times this URL can be used to create a share.", "Enviar uma notificação por e-mail quando um compartilhamento for criado com este link reverso.",
"account.reverseShare.never-expires": "This reverse share will never expire.", "account.reverseShares.modal.max-use.label": "Limite de uso",
"account.reverseShare.expires-on": "This reverse share will expire on {expiration}.", "account.reverseShares.modal.max-use.description":
"account.reverseShares.table.no-shares": "No shares created yet", "A quantidade máxima de vezes que esta URL pode ser usada para criar um compartilhamento.",
"account.reverseShares.table.count.singular": "share", "account.reverseShare.never-expires":
"account.reverseShares.table.count.plural": "shares", "Este compartilhamento reverso nunca irá expirar.",
"account.reverseShares.table.shares": "Shares", "account.reverseShare.expires-on":
"account.reverseShares.table.remaining": "Remaining uses", "Este compartilhamento reverso irá expirar em {expiration}.",
"account.reverseShares.table.max-size": "Max share size", "account.reverseShares.table.no-shares":
"account.reverseShares.table.expires": "Expires at", "Nenhum compartilhamento criado ainda",
"account.reverseShares.modal.reverse-share-link": "Reverse share link", "account.reverseShares.table.count.singular": "compartilhar",
"account.reverseShares.modal.delete.title": "Delete reverse share", "account.reverseShares.table.count.plural": "compartilhamentos",
"account.reverseShares.modal.delete.description": "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.", "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 // END /account/reverseShares
// /admin // /admin
"admin.title": "Administration", "admin.title": "Administração",
"admin.button.users": "User management", "admin.button.users": "Gerenciamento de usuários",
"admin.button.config": "Configuration", "admin.button.config": "Configuração",
"admin.version": "Version", "admin.version": "Versão",
// END /admin // END /admin
// /admin/users // /admin/users
"admin.users.title": "User management", "admin.users.title": "Gerenciamento de usuários",
"admin.users.table.username": "Username", "admin.users.table.username": "Nome do usuário",
"admin.users.table.email": "Email", "admin.users.table.email": "E-mail",
"admin.users.table.admin": "Admin", "admin.users.table.admin": "Admin",
"admin.users.edit.update.title": "Update user {username}", "admin.users.edit.update.title": "Atualizar usuário {username}",
"admin.users.edit.update.admin-privileges": "Admin privileges", "admin.users.edit.update.admin-privileges": "Privilégios de administrador",
"admin.users.edit.update.change-password.title": "Change password", "admin.users.edit.update.change-password.title": "Alterar senha",
"admin.users.edit.update.change-password.field": "New password", "admin.users.edit.update.change-password.field": "Nova senha",
"admin.users.edit.update.change-password.button": "Save new password", "admin.users.edit.update.change-password.button": "Salvar nova senha",
"admin.users.edit.update.notify.password.success": "Password changed successfully", "admin.users.edit.update.notify.password.success":
"admin.users.edit.delete.title": "Delete user {username}", "Senha alterada com sucesso",
"admin.users.edit.delete.description": "Do you really want to delete this user and all his shares?", "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 // showCreateUserModal.tsx
"admin.users.modal.create.title": "Create user", "admin.users.modal.create.title": "Criar usuário",
"admin.users.modal.create.username": "Username", "admin.users.modal.create.username": "Nome do usuário",
"admin.users.modal.create.email": "Email", "admin.users.modal.create.email": "E-mail",
"admin.users.modal.create.password": "Password", "admin.users.modal.create.password": "Senha",
"admin.users.modal.create.manual-password": "Set password manually", "admin.users.modal.create.manual-password": "Definir senha manualmente",
"admin.users.modal.create.manual-password.description": "If not checked, the user will receive an email with a link to set their password.", "admin.users.modal.create.manual-password.description":
"admin.users.modal.create.admin": "Admin privileges", "Se não estiver marcado, o usuário receberá um e-mail com um link para definir sua senha.",
"admin.users.modal.create.admin.description": "If checked, the user will be able to access the admin panel.", "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 // END /admin/users
// /upload // /upload
"upload.title": "Upload", "upload.title": "Upload",
"upload.notify.generic-error": "An error occurred while finishing your share.", "upload.notify.generic-error":
"upload.notify.count-failed": "{count} files failed to upload. Trying again.", "Ocorreu um erro ao terminar seu compartilhamento.",
"upload.notify.count-failed":
"Falha ao enviar {count} arquivos. Tentando novamente.",
// Dropzone.tsx // Dropzone.tsx
"upload.dropzone.title": "Upload files", "upload.dropzone.title": "Upload de arquivos",
"upload.dropzone.description": "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.", "upload.dropzone.description":
"upload.dropzone.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.", "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 // FileList.tsx
"upload.filelist.name": "Name", "upload.filelist.name": "Nome",
"upload.filelist.size": "Size", "upload.filelist.size": "Tamanho",
// showCreateUploadModal.tsx // showCreateUploadModal.tsx
"upload.modal.title": "Create Share", "upload.modal.title": "Criar Compartilhamento",
"upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens", "upload.modal.link.error.invalid":
"upload.modal.link.error.taken": "This link is already in use", "Pode conter apenas letras, números, sublinhados e hífens",
"upload.modal.not-signed-in": "You're not signed in", "upload.modal.link.error.taken": "Este link já está em uso",
"upload.modal.not-signed-in-description": "You will be unable to delete your share manually and view the visitor count.", "upload.modal.not-signed-in": "Você não está conectado",
"upload.modal.expires.never": "never", "upload.modal.not-signed-in-description":
"upload.modal.expires.never-long": "Never Expires", "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.link.label": "Link",
"upload.modal.expires.label": "Expiration", "upload.modal.expires.label": "Expiração",
"upload.modal.expires.minute-singular": "Minute", "upload.modal.expires.minute-singular": "Minuto",
"upload.modal.expires.minute-plural": "Minutes", "upload.modal.expires.minute-plural": "Minutos",
"upload.modal.expires.hour-singular": "Hour", "upload.modal.expires.hour-singular": "Hora",
"upload.modal.expires.hour-plural": "Hours", "upload.modal.expires.hour-plural": "Horas",
"upload.modal.expires.day-singular": "Day", "upload.modal.expires.day-singular": "Dia",
"upload.modal.expires.day-plural": "Days", "upload.modal.expires.day-plural": "Dias",
"upload.modal.expires.week-singular": "Week", "upload.modal.expires.week-singular": "Semana",
"upload.modal.expires.week-plural": "Weeks", "upload.modal.expires.week-plural": "Semanas",
"upload.modal.expires.month-singular": "Month", "upload.modal.expires.month-singular": "Mês",
"upload.modal.expires.month-plural": "Months", "upload.modal.expires.month-plural": "Meses",
"upload.modal.expires.year-singular": "Year", "upload.modal.expires.year-singular": "Ano",
"upload.modal.expires.year-plural": "Years", "upload.modal.expires.year-plural": "Anos",
"upload.modal.accordion.description.title": "Description", "upload.modal.accordion.description.title": "Descrição",
"upload.modal.accordion.description.placeholder": "Note for the recipients of this share", "upload.modal.accordion.description.placeholder":
"upload.modal.accordion.email.title": "Email recipients", "Nota para os destinatários deste compartilhamento",
"upload.modal.accordion.email.placeholder": "Enter email recipients", "upload.modal.accordion.email.title": "Destinatários de e-mail",
"upload.modal.accordion.email.invalid-email": "Invalid email address", "upload.modal.accordion.email.placeholder":
"upload.modal.accordion.security.title": "Security options", "Insira os destinatários do e-mail",
"upload.modal.accordion.security.password.label": "Password protection", "upload.modal.accordion.email.invalid-email": "Endereço de e-mail inválido",
"upload.modal.accordion.security.password.placeholder": "No password", "upload.modal.accordion.security.title": "Opções de segurança",
"upload.modal.accordion.security.max-views.label": "Maximum views", "upload.modal.accordion.security.password.label": "Protecção por senha",
"upload.modal.accordion.security.max-views.placeholder": "No limit", "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 // showCompletedUploadModal.tsx
"upload.modal.completed.never-expires": "This share will never expire.", "upload.modal.completed.never-expires":
"upload.modal.completed.expires-on": "This share will expire on {expiration}.", "Este compartilhamento reverso nunca irá expirar.",
"upload.modal.completed.share-ready": "Share ready", "upload.modal.completed.expires-on":
"Este compartilhamento reverso irá expirar em {expiration}.",
"upload.modal.completed.share-ready": "Compartilhamento pronto",
// END /upload // END /upload
// /share/[id] // /share/[id]
"share.title": "Share {shareId}", "share.title": "Compartilhar {shareId}",
"share.description": "Look what I've shared with you!", "share.description": "Veja o que eu compartilhei com você!",
"share.error.visitor-limit-exceeded.title": "Visitor limit exceeded", "share.error.visitor-limit-exceeded.title": "Limite de visitantes excedido",
"share.error.visitor-limit-exceeded.description": "The visitor limit from this share has been exceeded.", "share.error.visitor-limit-exceeded.description":
"share.error.removed.title": "Share removed", "O limite de visitantes deste compartilhamento foi excedido.",
"share.error.not-found.title": "Share not found", "share.error.removed.title": "Compartilhamento removido",
"share.error.not-found.description": "The share you're looking for doesn't exist.", "share.error.not-found.title": "Compartilhamento não encontrado",
"share.modal.password.title": "Password required", "share.error.not-found.description":
"share.modal.password.description": "To access this share please enter the password for the share.", "O compartilhamento que você procura não existe.",
"share.modal.password": "Password", "share.modal.password.title": "Senha necessária",
"share.modal.error.invalid-password": "Invalid password", "share.modal.password.description":
"share.button.download-all": "Download all", "Para acessar este compartilhamento, por favor digite a senha para o compartilhamento.",
"share.notify.download-all-preparing": "The share is preparing. Try again in a few minutes.", "share.modal.password": "Senha",
"share.modal.file-link": "File link", "share.modal.error.invalid-password": "Senha inválida",
"share.table.name": "Name", "share.button.download-all": "Transferir tudo",
"share.table.size": "Size", "share.notify.download-all-preparing":
"share.modal.file-preview.error.not-supported.title": "Preview not supported", "O compartilhamento está sendo preparado. Tente novamente em alguns minutos.",
"share.modal.file-preview.error.not-supported.description": "A preview for thise file type is unsupported. Please download the file to view it.", "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] // END /share/[id]
// /admin/config // /admin/config
"admin.config.title": "Configuration", "admin.config.title": "Configuração",
"admin.config.category.general": "General", "admin.config.category.general": "Geral",
"admin.config.category.share": "Share", "admin.config.category.share": "Compartilhamento",
"admin.config.category.email": "Email", "admin.config.category.email": "E-mail",
"admin.config.category.smtp": "SMTP", "admin.config.category.smtp": "SMTP",
"admin.config.general.app-name": "App name", "admin.config.general.app-name": "Nome da aplicação",
"admin.config.general.app-name.description": "Name of the application", "admin.config.general.app-name.description": "Nome da aplicação",
"admin.config.general.app-url": "App URL", "admin.config.general.app-url": "URL do Aplicativo",
"admin.config.general.app-url.description": "On which URL Pingvin Share is available", "admin.config.general.app-url.description":
"admin.config.general.show-home-page": "Show home page", "Em qual URL o Pingvin Share está disponível",
"admin.config.general.show-home-page.description": "Whether to show the home page", "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": "Logo",
"admin.config.general.logo.description": "Change your logo by uploading a new image. The image must be a PNG and should have the format 1:1.", "admin.config.general.logo.description":
"admin.config.general.logo.placeholder": "Pick image", "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.",
"admin.config.email.enable-share-email-recipients": "Enable share email recipients", "admin.config.general.logo.placeholder": "Escolhe uma imagem",
"admin.config.email.enable-share-email-recipients.description": "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.", "admin.config.email.enable-share-email-recipients":
"admin.config.email.share-recipients-subject": "Share recipients subject", "Ativar compartilhamento de e-mails destinatários",
"admin.config.email.share-recipients-subject.description": "Subject of the email which gets sent to the share recipients.", "admin.config.email.enable-share-email-recipients.description":
"admin.config.email.share-recipients-message": "Share recipients message", "Se quiser permitir que e-mails compartilhem destinatários. Apenas habilite isso se você tiver ativado o SMTP.",
"admin.config.email.share-recipients-message.description": "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.", "admin.config.email.share-recipients-subject":
"admin.config.email.reverse-share-subject": "Reverse share subject", "Assunto dos destinatários do compartilhamento",
"admin.config.email.reverse-share-subject.description": "Subject of the email which gets sent when someone created a share with your reverse share link.", "admin.config.email.share-recipients-subject.description":
"admin.config.email.reverse-share-message": "Reverse share message", "Assunto do e-mail enviado para os destinatários do compartilhamento.",
"admin.config.email.reverse-share-message.description": "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.", "admin.config.email.share-recipients-message":
"admin.config.email.reset-password-subject": "Reset password subject", "Assunto dos destinatários do compartilhamento",
"admin.config.email.reset-password-subject.description": "Subject of the email which gets sent when a user requests a password reset.", "admin.config.email.share-recipients-message.description":
"admin.config.email.reset-password-message": "Reset password message", "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.reset-password-message.description": "Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.", "admin.config.email.reverse-share-subject":
"admin.config.email.invite-subject": "Invite subject", "Assunto do compartilhamento reverso",
"admin.config.email.invite-subject.description": "Subject of the email which gets sent when an admin invites a user.", "admin.config.email.reverse-share-subject.description":
"admin.config.email.invite-message": "Invite message", "Assunto do e-mail enviado quando alguém criou um compartilhamento com o seu link reverso.",
"admin.config.email.invite-message.description": "Message which gets sent when an admin invites a user. {url} will be replaced with the invite URL and {password} with the password.", "admin.config.email.reverse-share-message":
"admin.config.share.allow-registration": "Allow registration", "Mensagem do compartilhamento reverso",
"admin.config.share.allow-registration.description": "Whether registration is allowed", "admin.config.email.reverse-share-message.description":
"admin.config.share.allow-unauthenticated-shares": "Allow unauthenticated shares", "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.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares", "admin.config.email.reset-password-subject": "Redefinir assunto da senha",
"admin.config.share.max-size": "Max size", "admin.config.email.reset-password-subject.description":
"admin.config.share.max-size.description": "Maximum share size in bytes", "Assunto do e-mail enviado quando um usuário solicita uma redefinição de senha.",
"admin.config.share.zip-compression-level": "Zip compression level", "admin.config.email.reset-password-message":
"admin.config.share.zip-compression-level.description": "Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ", "Mensagem de redefinição de senha",
"admin.config.smtp.enabled": "Enabled", "admin.config.email.reset-password-message.description":
"admin.config.smtp.enabled.description": "Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.", "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.smtp.host": "Host", "admin.config.email.invite-subject": "Assunto do convite",
"admin.config.smtp.host.description": "Host of the SMTP server", "admin.config.email.invite-subject.description":
"admin.config.smtp.port": "Port", "Assunto do e-mail enviado quando um administrador convida um usuário.",
"admin.config.smtp.port.description": "Port of the SMTP server", "admin.config.email.invite-message": "Mensagem de convite",
"admin.config.smtp.email": "Email", "admin.config.email.invite-message.description":
"admin.config.smtp.email.description": "Email address which the emails get sent from", "Mensagem enviada quando um administrador convida um usuário. {url} será substituído pelo URL de convite e {password} pela senha.",
"admin.config.smtp.username": "Username", "admin.config.share.allow-registration": "Permitir novos registos",
"admin.config.smtp.username.description": "Username of the SMTP server", "admin.config.share.allow-registration.description":
"admin.config.smtp.password": "Password", "Se o registro é permitido",
"admin.config.smtp.password.description": "Password of the SMTP server", "admin.config.share.allow-unauthenticated-shares":
"admin.config.smtp.button.test": "Send test email", "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
"404.description": "Oops this page doesn't exist.", "404.description": "Ops, esta página não existe.",
"404.button.home": "Bring me back home", "404.button.home": "Me traga de volta para casa",
// Common translations // Common translations
"common.button.save": "Save", "common.button.save": "Salvar",
"common.button.create": "Create", "common.button.create": "Criar",
"common.button.submit": "Submit", "common.button.submit": "Submeter",
"common.button.delete": "Delete", "common.button.delete": "Excluir",
"common.button.cancel": "Cancel", "common.button.cancel": "Cancelar",
"common.button.confirm": "Confirm", "common.button.confirm": "Confirmar",
"common.button.disable": "Disable", "common.button.disable": "Desativar",
"common.button.share": "Share", "common.button.share": "Compartilhamento",
"common.button.generate": "Generate", "common.button.generate": "Gerar",
"common.button.done": "Done", "common.button.done": "Concluído",
"common.text.link": "Link", "common.text.link": "Link",
"common.text.or": "or", "common.text.or": "ou",
"common.button.go-back": "Go back", "common.button.go-back": "Voltar",
"common.notify.copied": "Your link was copied to the clipboard", "common.notify.copied": "O seu link foi copiado para a área de transferência",
"common.success": "Success", "common.success": "Sucesso",
"common.error": "Error", "common.error": "Erro",
"common.error.unknown": "An unknown error occurred", "common.error.unknown": "Ocorreu um erro desconhecido",
"common.error.invalid-email": "Invalid email address", "common.error.invalid-email": "Endereço de e-mail inválido",
"common.error.too-short": "Must be at least {length} characters", "common.error.too-short": "Deve ter no mínimo {length} caracteres",
"common.error.too-long": "Must be at most {length} characters", "common.error.too-long": "Deve ter no máximo {length} caracteres",
"common.error.exact-length": "Must be exactly {length} characters", "common.error.exact-length": "Deve ter exatamente {length} caracteres",
"common.error.invalid-number": "Must be a number", "common.error.invalid-number": "Tem que ser um número",
"common.error.field-required": "This field is required" "common.error.field-required": "Este campo é obrigatório",
}; };

View File

@ -1,323 +0,0 @@
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 <h>auto-hospedada</h>.",
"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"
};

View File

@ -1,11 +1,13 @@
import { NotificationProps, showNotification } from "@mantine/notifications"; import { NotificationProps, showNotification } from "@mantine/notifications";
import { TbCheck, TbX } from "react-icons/tb"; import { TbCheck, TbX } from "react-icons/tb";
import { FormattedMessage } from "react-intl";
const error = (message: string, config?: Omit<NotificationProps, "message">) => const error = (message: string, config?: Omit<NotificationProps, "message">) =>
showNotification({ showNotification({
icon: <TbX />, icon: <TbX />,
color: "red", color: "red",
radius: "md", radius: "md",
title: "Error", title: <FormattedMessage id="common.error" />,
message: message, message: message,
autoClose: true, autoClose: true,
@ -24,7 +26,7 @@ const success = (
icon: <TbCheck />, icon: <TbCheck />,
color: "green", color: "green",
radius: "md", radius: "md",
title: "Success", title: <FormattedMessage id="common.success" />,
message: message, message: message,
autoClose: true, autoClose: true,
...config, ...config,