From b08ab8055e8bccc7c5ac4f6398a7795e3bd9fb59 Mon Sep 17 00:00:00 2001 From: Peter Havekes Date: Thu, 8 Oct 2026 07:52:08 +0200 Subject: [PATCH] Complete Portuguese translations --- client/src/locale/pt.js | 946 +++++++++++++++++++++------------------- 1 file changed, 493 insertions(+), 453 deletions(-) diff --git a/client/src/locale/pt.js b/client/src/locale/pt.js index fe3bb3a6..706d8067 100644 --- a/client/src/locale/pt.js +++ b/client/src/locale/pt.js @@ -1,567 +1,607 @@ const pt = { code: "PT", - name: "Portugese", - select_locale: "Change language to English", + name: "Português", + select_locale: "Mudar o idioma para Português", languages: { - language: "Language", - languageTooltip: "Choose the language of the invitation mail", - en: "English", - nl: "Dutch", + language: "Idioma", + languageTooltip: "Escolher o idioma do e-mail de convite", + en: "Inglês", + nl: "Holandês", }, landing: { header: { - title: "Manage access to your applications", - login: "Log in", - sup: "SURFconext Invite is by invitation only.", + title: "Gerir o acesso às suas aplicações", + login: "Entrar", + sup: "O SURFconext Invite é apenas por convite.", }, - works: "How does it work?", - adminFunction: "admin function", + works: "Como funciona?", + adminFunction: "função de administração", info: [ //Arrays of titles and info blocks and if a function is an admin function - ["Invites", "

SURF invites institution admins who can create roles for their applications.

" + - "

The application list consists of applications connected to SURFconext.

", true], - ["Roles", "

The role managers will invite colleagues for roles who can in turn invite users.

", true], - ["Join", "

Invited colleagues who accept the invitation are granted access rights for the applications.


", false], - ["Groups", "

The roles are actually group memberships that can be used in SURFconext authorisation rules, or provisioned as attributes or to external SCIM APIs.

", false] + ["Convites", "

A SURF convida administradores de instituição que podem criar papéis para as suas aplicações.

" + + "

A lista de aplicações consiste em aplicações ligadas ao SURFconext.

", true], + ["Papéis", "

Os gestores de papéis convidam colegas para papéis que, por sua vez, podem convidar utilizadores.

", true], + ["Adesão", "

Colaboradores convidados que aceitam o convite obtêm direitos de acesso às aplicações.


", false], + ["Grupos", "

Os papéis são, na verdade, membros de grupos que podem ser usados em regras de autorização do SURFconext, ou provisionados como atributos ou em APIs SCIM externas.

", false] ], - footer: "

SURFconext Invite offers access management to SURFconext-connected applications.

" + - "

Do you want to know more? Read more.

", + footer: "

O SURFconext Invite oferece gestão de acesso a aplicações ligadas ao SURFconext.

" + + "

Precisa de mais informações? Leia mais.

", }, header: { title: "SURFconext Invite", - subTitle: "Everything will be owl right", + subTitle: "Tudo vai correr perfeitamente", links: { - login: "Log in", - system: "System", - switchApp: "Go to {{app}}", - welcome: "Welcome", - access: "Invite", - help: "Help", - profile: "Profile", + login: "Entrar", + system: "Sistema", + switchApp: "Ir para {{app}}", + welcome: "Boas-vindas", + access: "Convite", + help: "Ajuda", + profile: "Perfil", tokens: "Tokens", - logout: "Log out", - audit: "Role history" + logout: "Sair", + audit: "Histórico de papéis", + colleagues: "Papéis da instituição" }, }, tabs: { - home: "Home", - applications: "Applications", - users: "Users", - applicationUsers: "Users", - maintainers: "Role managers & inviters", - guests: "User with this role", - invitations: "Invitations", - roles: "Access roles", - profile: "Profile", - userRoles: "Role managers & inviters", - guestRoles: "Users with this role", + home: "Início", + applications: "Aplicações", + users: "Utilizadores", + applicationUsers: "Utilizadores", + maintainers: "Gestores de papéis & convidadores", + guests: "Utilizadores com este papel", + invitations: "Convites", + roles: "Papéis de acesso", + profile: "Perfil", + userRoles: "Gestores de papéis & convidadores", + guestRoles: "Utilizadores com este papel", cron: "Cron", - invite: "Invite", - tokens: "API tokens", - unknownRoles: "Missing applications", - expiredUserRoles: "User role expirations", - pendingInvitations: "Pending", - allPendingInvitations: "Pending invitations", - acceptedInvitations: "Accepted", + invite: "Convite", + tokens: "Tokens de API", + unknownRoles: "Aplicações em falta", + expiredUserRoles: "Expirações de papéis de utilizador", + pendingInvitations: "Pendentes", + allPendingInvitations: "Convites pendentes", + acceptedInvitations: "Aceites", performanceSeed: "Seed", seed: "Seed", - login: "Login" + login: "Entrar" }, home: { access: "SURFconext Invite", }, impersonate: { - exit: "Stop impersonating", - impersonator: "You are impersonating {{name}} | {{role}}", - impersonatorTooltip: "You are really {{impersonator}}, but you are impersonating {{currentUser}}.", + exit: "Deixar de representar este utilizador", + impersonator: "Está a representar {{name}} | {{role}}", + impersonatorTooltip: "Na verdade é {{impersonator}}, mas está a representar {{currentUser}}.", flash: { - startedImpersonation: "You now impersonate {{name}}.", - clearedImpersonation: "Cleared your impersonation. You are you again." + startedImpersonation: "Agora está a representar {{name}}.", + clearedImpersonation: "Representação terminada. De novo é si próprio." }, }, access: { - SUPER_USER: "Superuser", - INSTITUTION_ADMIN: "Institution admin", - MANAGER: "Role manager", - INVITER: "Inviter", - GUEST: "User", - "No member": "No member" + SUPER_USER: "Superutilizador", + INSTITUTION_ADMIN: "Administrador de instituição", + APPLICATION_MANAGER: "Gestor de aplicação", + MANAGER: "Gestor de papéis", + INVITER: "Convidador", + GUEST: "Utilizador", + "No member": "Sem membros" }, users: { - found: "{{count}} {{plural}} found", - moreResults: "There are more results than shown, please refine your search.", - applicationsSearchPlaceHolder: "Search for application...", - name_email: "Name / email", - name: "Name", - email: "Email", - highestAuthority: "Role", - createdAt: "Created", - schacHomeOrganization: "Institution", - lastActivity: "Last activity", - organizationGUID: "Organization GUID", + found: "{{count}} {{plural}} encontrados", + moreResults: "Há mais resultados do que os apresentados, por favor refine a sua pesquisa.", + applicationsSearchPlaceHolder: "Procurar aplicação...", + name_email: "Nome / e-mail", + name: "Nome", + email: "E-mail", + highestAuthority: "Função", + createdAt: "Criado a", + schacHomeOrganization: "Instituição", + lastActivity: "Última atividade", + organizationGUID: "GUID da organização", eduPersonPrincipalName: "EPPN", sub: "Sub", - singleUser: "user", - multipleUsers: "users", - noEntities: "No users found", - new: "New invitation", - title: "Users", - roles: "Roles", - applications: "Applications", - noRolesInfo: "You have no roles (which means you must be super-user)", - noRolesInstitutionAdmin: "You are an institution admin and you have no roles (but you might have access to applications)", - noRolesInstitutionAdminOther: "{{name}} is an institution admin and has no roles (but might have access to applications)", - noRolesNoApplicationsInstitutionAdmin: "You are an institution admin, but you have no roles and apparently your institution has also no access to applications", - guestRoleOnly: "You are not an administrator. Are you looking for the apps you can access?", - rolesInfo: "You have the following roles", - applicationsInfo: "You have access to the following applications", - noRolesFound: "No roles are found.", - noApplicationsFound: "No applications are found.", - rolesInfoOther: "{{name}} has the following roles", - applicationsInfoOther: "{{name}} has access to the following applications", - landingPage: "Landing page", - access: "Access", - organisation: "Organisation", - noResults: "No users are found", - searchPlaceHolder: "Search for users...", - authority: "Authority", - endDate: "End date", - expiryDays: "Expiry days", - roleExpiryTooltip: "Sort on roles to see which roles will expire the soonest", - deleteFlash: "User {{name}} has been deleted", - deleteConfirmation: "Are you absolutely sure you want to delete user {{name}}? There is no undo button.", - institutionAdmins: "Your fellow Institution administrators are:", - onlyInstitutionAdmins: "You are the only Institution admin within your organisation", + singleUser: "utilizador", + multipleUsers: "utilizadores", + noEntities: "Nenhum utilizador encontrado", + new: "Novo convite", + title: "Utilizadores", + roles: "Papéis", + applications: "Aplicações", + noRolesInfo: "Não tem papéis (o que significa que deve ser superutilizador)", + noRolesInstitutionAdmin: "É administrador de instituição e não tem papéis (mas pode ter acesso a aplicações)", + noRolesInstitutionAdminOther: "{{name}} é administrador de instituição e não tem papéis (mas pode ter acesso a aplicações)", + noRolesNoApplicationsInstitutionAdmin: "É administrador de instituição, mas não tem papéis e aparentemente a sua instituição também não tem acesso a aplicações", + noRolesInfoApplicationManager: "Não tem papéis, mas é gestor de aplicação e tem acesso a aplicações", + noRolesInfoApplicationManagerOther: "{{name}} não tem papéis, mas é gestor de aplicação e tem acesso a aplicações", + guestRoleOnly: "Não é administrador. Está à procura das aplicações a que tem acesso?", + rolesInfo: "Tem os seguintes papéis", + applicationsInfo: "Tem acesso às seguintes aplicações", + noRolesFound: "Nenhum papel encontrado.", + noApplicationsFound: "Nenhuma aplicação encontrada.", + rolesInfoOther: "{{name}} tem os seguintes papéis", + applicationsInfoOther: "{{name}} tem acesso às seguintes aplicações", + landingPage: "Página de acolhimento", + access: "Acesso", + organisation: "Organização", + noResults: "Nenhum utilizador encontrado", + searchPlaceHolder: "Procurar utilizadores...", + authority: "Autoridade", + endDate: "Data de término", + expiryDays: "Dias de expiração", + roleExpiryTooltip: "Ordenar por papéis para ver quais os papéis que expiram mais cedo", + deleteFlash: "O utilizador {{name}} foi removido", + deleteConfirmation: "Tem a certeza absoluta de que quer remover o utilizador {{name}}? Não existe botão de desfazer.", + institutionAdmins: "Os seus colegas administradores de instituição são:", + onlyInstitutionAdmins: "É o único administrador de instituição da sua organização", + removeInstitutionAdminConfirmation: "Tem a certeza de que quer remover os direitos de administração de instituição de {{userName}}", + removeInstitutionAdminFlash: "Os direitos de administração de instituição foram removidos a {{userName}}" }, role: { - copyUrn: "Copy urn", - userInfo: "{{nbr}} member(s) & invalid {{period}}", - roleInfo: "Role valid for {{days}} days", - roleInfoNoEndDate: "Role has no end date", - contactAdmin: "Contact role manager(s)", - institutionAdmin: "Institution admins: {{names}}", - noInstitutionAdmin: "There is not institution admins" + copyUrn: "Copiar URN", + userInfo: "{{nbr}} membro(s) & expira {{period}}", + roleInfo: "Papel válido por {{days}} dias", + roleInfoNoEndDate: "O papel não tem data de término", + contactAdmin: "Contactar o(s) gestor(es) de papéis", + institutionAdmin: "Administradores de instituição: {{names}}", + noInstitutionAdmin: "Não há administradores de instituição para este papel" }, roles: { - title: "Access Roles", - applicationName: "Application", - auditable: "Role {{name}} was created by {{createdBy}} at {{createdAt}}", - roleDetails: "Role details", - invitationDetails: "Invitation details", - applicationDetails: "Application(s) this role applies to", - addApplication: "Add application", - multiple: "Multiple applications", - applicationPlaceholder: "Choose an application...", - accessRole: "Name", - name: "Name", - namePlaceHolder: "The name of the role", - shortName: "Short name", - organizationGUID: "Organization GUID", - identityProvider: "Identity provider: {{name}}", - landingPage: "(Custom) landing page", - userRoleCount: "# Users", + title: "Papéis de acesso", + applicationName: "Aplicação", + auditable: "O papel {{name}} foi criado por {{createdBy}} a {{createdAt}}", + roleDetails: "Detalhes do papel", + invitationDetails: "Detalhes do convite", + applicationDetails: "Aplicação(ões) às quais este papel se aplica", + addApplication: "Adicionar aplicação", + multiple: "Várias aplicações", + applicationPlaceholder: "Escolher uma aplicação...", + accessRole: "Nome", + name: "Nome", + namePlaceHolder: "O nome do papel", + shortName: "Nome curto", + organizationGUID: "GUID da organização", + organizationGUIDValue: "GUID da instituição: {{guid}}", + identityProvider: "Provedor de identidade", + identityProviderPlaceholder: "Procurar provedor de identidade...", + landingPage: "(Personalizada) página de acolhimento", + userRoleCount: "# Utilizadores", landingPagePlaceHolder: "https://landingpage.com", - defaultExpiryDays: "Expiry days", - endDate: "End date", + defaultExpiryDays: "Dias de expiração", + endDate: "Data de término", noEndDate: "-", - authority: "Authority", - yourRole: "Your role", - description: "Description", - descriptionPlaceHolder: "The description of the role", - noResults: "No roles are found", - noMember: "No member", - searchPlaceHolder: "Search for roles...", - found: "{{count}} {{plural}} found", - singleRole: "role", - multipleRoles: "roles", - new: "Add new role", - edit: "Edit role {{name}}", + authority: "Autoridade", + yourRole: "O seu papel", + description: "Descrição", + descriptionPlaceHolder: "A descrição do papel", + isCrm: "Papel de mijnSURF", + noResults: "Nenhum papel encontrado", + noMember: "Sem membros", + searchPlaceHolder: "Procurar papéis...", + found: "{{count}} {{plural}} encontrados", + singleRole: "papel", + multipleRoles: "papéis", + new: "Adicionar novo papel", + edit: "Editar papel {{name}}", urn: "URN", - advanced: "Advanced settings", - showAdvancedSettings: "Show advanced invite settings", - hideAdvancedSettings: "Hide advanced invite settings", - override: "Override of settings allowed?", - manage: "Application", - manageMetaData: "SURFconext entity", + advanced: "Definições avançadas", + showAdvancedSettings: "Mostrar definições avançadas de convite", + hideAdvancedSettings: "Ocultar definições avançadas de convite", + override: "Pode a configuração ser substituída?", + manage: "Aplicação", + manageMetaData: "Entidade do SURFconext", provisioning: "Provisioning", - deleteFlash: "Role {{name}} has been deleted", - deleteConfirmation: "Are you sure you want to delete this role?", - createFlash: "Role {{name}} has been created", - updateFlash: "Role {{name}} has been updated", - unknownInManage: "Unknown in Manage", - unknownInManageToolTip: "The application for this role has been removed from the SURF backend. Please contact support@surfconext.nl to resolve this.", - unknownInManageDisabled: "The application for this role has been removed from the SURF backend. Therefore, you can't invite new users. Contact support@surfconext.nl to resolve this.", + deleteFlash: "O papel {{name}} foi removido", + deleteConfirmation: "Tem a certeza de que quer remover este papel?", + createFlash: "O papel {{name}} foi criado", + updateFlash: "O papel {{name}} foi atualizado", + unknownInManage: "Desconhecido no Manage", + unknownInManageToolTip: "A aplicação deste papel foi removida da infraestrutura da SURF. Contacte support@surfconext.nl para resolver esta questão.", + unknownInManageDisabled: "A aplicação deste papel foi removida da infraestrutura da SURF. Por isso, não pode convidar novos utilizadores. Contacte support@surfconext.nl para resolver esta questão.", consequences: { - info: "The following users will lose their access:", - userInfo: "{{name}} ({{authority}}), last activity {{lastActivity}}", - andMore: "And {{nbr}} more.. Check the list of current users for more details." + info: "Os seguintes utilizadores vão perder o acesso:", + userInfo: "{{name}} ({{authority}}), última atividade {{lastActivity}}", + andMore: "E mais {{nbr}}... Veja a lista de utilizadores atuais para mais detalhes." }, - noProvisioning: "Users added to this role, won't have immediate access to this application. See the wiki for more information", - userRolesPresent: "You are not allowed to delete this role, as {{nbr}} user(s) have this role. You must first delete them." + noProvisioning: "Os utilizadores adicionados a este papel não terão acesso imediato a esta aplicação. Veja a wiki para mais informações", + userRolesPresent: "Não pode remover este papel, porque {{nbr}} utilizador(es) o têm. Tem primeiro de os remover deste papel." }, applications: { - title: "Access Roles for this application ({{nbr}})", - applicationFound: "Applications ({{nbr}})", - new: "New Access Role", - searchPlaceHolder: "Search for applications", - noResults: "No applications found...", - name: "Application name", + title: "Papéis de acesso a esta aplicação ({{nbr}})", + applicationFound: "Aplicações ({{nbr}})", + new: "Novo papel de acesso", + searchPlaceHolder: "Procurar aplicações", + noResults: "Nenhuma aplicação encontrada...", + name: "Nome da aplicação", types: { saml20_sp: "Service Provider", oidc10_rp: "Relying Party" }, - type: "Type", - organization: "Organization", + type: "Tipo", + organization: "Organização", url: "URL", - roles: "Roles", + roles: "Papéis", provisionings: "Provisionings", - accessRole: "Access Role", + accessRole: "Papel de acesso", }, applicationRoles: { - searchPlaceHolder: "Search for Access Roles", - noEntities: "No access roles found", + searchPlaceHolder: "Procurar papéis de acesso", + noEntities: "Nenhum papel de acesso encontrado", }, userRoles: { - found: "{{count}} {{plural}} found", - singleUserRole: "user role", - multipleUserRoles: "user roles", - searchPlaceHolder: "Search for users...", - noResults: "No user roles where found", - guestRoles: "{{count}} users", - managerRoles: "{{count}} managers & inviters", - notAllowed: "You're not allowed to delete this user role because of missing roles", - updateConfirmation: "Are you sure you want to change the end date of role {{roleName}} for {{userName}}?", - updateConfirmationRemoveEndDate: "Are you sure you want to remove the end date of role {{roleName}} for {{userName}}?", - updateFlash: "The end date for role {{roleName}} has been updated", - deleteConfirmation: "Are you sure you want to remove this role from this user(s)?", - deleteOneConfirmation: "Are you sure you want to remove this role from this user?", - deleteFlash: "User role(s) have been removed", - createdAt: "Date accepted", - delete: "Remove" + found: "{{count}} {{plural}} encontrados", + singleUserRole: "papel de utilizador", + multipleUserRoles: "papéis de utilizador", + searchPlaceHolder: "Procurar utilizadores...", + noResults: "Nenhum papel de utilizador encontrado", + guestRoles: "{{count}} utilizadores", + managerRoles: "{{count}} gestores & convidadores", + notAllowed: "Não pode remover este papel de utilizador por falta de papéis", + updateConfirmation: "Tem a certeza de que quer alterar a data de término do papel {{roleName}} para {{userName}}?", + updateConfirmationRemoveEndDate: "Tem a certeza de que quer remover a data de término do papel {{roleName}} para {{userName}}?", + updateFlash: "A data de término do papel {{roleName}} foi atualizada", + deleteConfirmation: "Tem a certeza de que quer remover este papel destes utilizador(es)?", + deleteOneConfirmation: "Tem a certeza de que quer remover este papel deste utilizador?", + deleteFlash: "O(s) papel(is) de utilizador foi/foram removido(s)", + createdAt: "Data de aceitação", + delete: "Remover" }, invitations: { - title: "Invitations", - searchPlaceHolder: "Search for invitation...", - noResults: "No invitation where found", - inviter: "Invited by", - status: "Status", - pending: "pending", - open: "Open", - accepted: "Accepted", - expired: "Expired", - mine: "Mine open invitations", - enforceEmailEquality: "Email equality", - eduIDOnly: "eduID only", - requestedAuthnContext: "ACR value", - requestedAuthnContextPlaceHolder: "Choose a ACR value for user stepup...", - requestedAuthnContextWarning: "To enforce the selected ACR also on the application(s) {{applications}}, " + - "additional configuration is needed on the eduID Identity Provider. " + - "Please contact support@surfconext.nl to request this change.", - new: "Invite role manager or inviter", - newInvitation: "Invite inviter", - newInvite: "New invite", - newGuest: "Invite new user", - invitees: "Invitees", - intendedRoles: "Roles", - inviteesPlaceholder: "Invitee email addresses", - requiredEmail: "At least one email address is required", - requiredRole: "At least one role is required for an invitation", - requiredOrganizationGUID: "A valid Organization GUID is required for an institution admin invitation", - intendedAuthority: "Authority", - roles: "Roles", - inviterRoles: "Select the roles for the new invitation", - rolesPlaceHolder: "Choose one or more roles", - expiryDate: "Valid till", - acceptedAt: "Date accepted", - roleExpiryDate: "Role expiry date", - roleExpiryDateQuestion: "Set a custom role expiration", - roleExpiryDateInfo: "This role will be removed from the user {{expiry}}", - roleExpiryDateInfoDefault: "By default this role will be removed from a user after {{days}} days", - removeRole: "Remove role", - after: "After", - on: "On", - days: "Days", - customInviterDisplayNameQuestion: "Set a custom inviter name", - inviterDisplayName: "Custom inviter display name for invitations", - inviterDisplayNamePlaceholder: "e.g. working@home.university.nl", - inviterDisplayNameError: "Custom inviter name is required, unless you use the default inviter name", - customInviterDisplayNameInfoDefault: "Invitations for this role will show the name of the inviter as sender", - customInviterDisplayNameInfo: "Invitations for this role will show a custom name / email as sender", - expiryDateQuestion: "Set a custom invitation expiration period", - expiryDateInfo: "Default an invitation is valid for 1 month", - withinThreeMonths: "Within 1 month", - createdAt: "Sent", - message: "Personal note", - messagePlaceholder: "Add an optional personal note to your invitation", - invite: "Send invite", - guestRoleIncluded: "Add the user role?", - notifyInviter: "Notify me when accepted?", - invalidEmails: "Invalid email addresses removed: {{emails}}.", - createFlash: "Invitation was sent", - delete: "Revoke", - resend: "Resend", - notAllowed: "You're not allowed to delete or resend this invitation because of missing roles", - deleteFlash: "Invitation(s) have been revoke", - deleteConfirmation: "Are you sure you want to revoke these invitations?", - deleteOneConfirmation: "Are you sure you want to revoke this invitation?", - resendConfirmation: "Are you sure you want to resend these invitations?", - resendConfirmationOne: "Are you sure you want to resend this invitation?", - resendFlash: "Invitation(s) have been resent", + title: "Convites", + searchPlaceHolder: "Procurar convite...", + noResults: "Nenhum convite encontrado", + inviter: "Convidado por", + status: "Estado", + pending: "pendente", + open: "Aberto", + accepted: "Aceite", + expired: "Expirado", + mine: "Os meus convites abertos", + enforceEmailEquality: "O e-mail tem de corresponder", + eduIDOnly: "Apenas eduID", + requestedAuthnContext: "Valor ACR", + requestedAuthnContextPlaceHolder: "Escolher um valor ACR para stepup do utilizador...", + requestedAuthnContextWarning: "Para impor também o ACR selecionado na(s) aplicação(ões) {{applications}}, " + + "é necessária configuração adicional no Provedor de Identidade eduID. " + + "Contacte support@surfconext.nl para solicitar esta alteração.", + new: "Convidar gestor de papéis ou convidador", + newInvitation: "Convidar convidador", + newInvite: "Novo convite", + newGuest: "Convidar novo utilizador", + invitees: "Convidados", + intendedRoles: "Papéis", + inviteesPlaceholder: "Endereços de e-mail dos convidados", + requiredEmail: "É necessário pelo menos um endereço de e-mail", + requiredRole: "É necessário pelo menos um papel para um convite", + requiredApplication: "É necessária pelo menos uma aplicação para um convite de gestor de aplicação", + requiredOrganizationGUID: "Um GUID de organização válido é necessário para um convite de administrador de instituição", + intendedAuthority: "Autoridade", + roles: "Papéis", + inviterRoles: "Selecionar os papéis para o novo convite", + rolesPlaceHolder: "Escolher um ou mais papéis", + rolesPlaceHolderLoading: "Aguarde até todos os papéis estarem carregados...", + applications: "Aplicações", + applicationsPlaceHolder: "Escolher uma ou mais aplicações", + applicationsPlaceHolderLoading: "Aguarde até todas as aplicações estarem carregadas...", + expiryDate: "Válido até", + acceptedAt: "Data de aceitação", + roleExpiryDate: "Data de expiração do papel", + roleExpiryDateQuestion: "Definir uma expiração personalizada do papel", + roleExpiryDateInfo: "Este papel será removido do utilizador {{expiry}}", + roleExpiryDateInfoOn: "Este papel será removido do utilizador a {{date}}", + roleExpiryDateInfoDefault: "Por defeito, este papel é removido de um utilizador após {{days}} dias", + removeRole: "Remover papel", + after: "Após", + on: "Em", + days: "Dias", + customInviterDisplayNameQuestion: "Definir um nome personalizado para o convidador", + inviterDisplayName: "Nome de exibição personalizado do convidador para convites", + inviterDisplayNamePlaceholder: "ex. trabalhar@casa.universidade.pt", + inviterDisplayNameError: "O nome personalizado do convidador é obrigatório, a menos que use o nome padrão do convidador", + customInviterDisplayNameInfoDefault: "Os convites para este papel mostrarão o nome do convidador como remetente", + customInviterDisplayNameInfo: "Os convites para este papel mostrarão um nome / e-mail personalizado como remetente", + expiryDateQuestion: "Definir um período de expiração personalizado do convite", + expiryDateInfo: "Por defeito, um convite é válido por 1 mês", + withinThreeMonths: "Dentro de 1 mês", + createdAt: "Enviado", + message: "Nota pessoal", + messagePlaceholder: "Adicionar uma nota pessoal opcional ao seu convite", + invite: "Enviar convite", + guestRoleIncluded: "Adicionar o papel de utilizador?", + notifyInviter: "Notificar-me quando for aceite?", + invalidEmails: "Endereços de e-mail inválidos removidos: {{emails}}.", + createFlash: "O convite foi enviado", + delete: "Revogar", + resend: "Reenviar", + notAllowed: "Não pode revogar ou reenviar este convite por falta de papéis", + deleteFlash: "O(s) convite(s) foi/foram revogado(s)", + deleteConfirmation: "Tem a certeza de que quer revogar estes convites?", + deleteOneConfirmation: "Tem a certeza de que quer revogar este convite?", + resendConfirmation: "Tem a certeza de que quer reenviar estes convites?", + resendConfirmationOne: "Tem a certeza de que quer reenviar este convite?", + resendFlash: "O(s) convite(s) foi/foram reenviado(s)", inviterRole: { - title: "Send new invite", - roles: "For the following roles", - to: "To", - message: "Personal note", - settings: "Advanced invite settings" + title: "Enviar novo convite", + roles: "Para os seguintes papéis", + to: "Para", + message: "Nota pessoal", + settings: "Definições avançadas de convite" }, statuses: { - all: "All ({{nbr}})", - open: "Open", - accepted: "Accepted", - expired: "Expired", - mine: "Mine" + all: "Todos ({{nbr}})", + open: "Aberto", + accepted: "Aceite", + expired: "Expirado", + mine: "Meus" } }, forms: { - none: "None", - notApplicable: "N/A", - you: "You", - yes: "Yes", - no: "No", + none: "Nenhum", + notApplicable: "n/a", + you: "Si próprio", + yes: "Sim", + no: "Não", ok: "OK", - or: "or ", - fixed: "or set a fixed date", - edit: "Edit", - reset: "Reset", - cancel: "Cancel", - save: "Save", - specificDate: "Set specific date", - and: "and", - more: "More", - less: "Less", - alreadyExists: "The {{attribute}} '{{value}}' already exists", - alreadyExistsParent: "The {{attribute}} {{value}} already exists within {{parent}}", - required: "{{attribute}} is required", - invalid: "The value '{{value}}' is invalid for {{attribute}}", - error: "You can contact support@surfconext.nl for help.

" + - "The reference number for this exception is {{reference}}." + or: "ou ", + fixed: "ou definir uma data fixa", + edit: "Editar", + reset: "Repor", + cancel: "Cancelar", + save: "Gravar", + specificDate: "Definir data específica", + and: "e", + more: "Mais", + less: "Menos", + alreadyExists: "O {{attribute}} '{{value}}' já existe", + alreadyExistsParent: "O {{attribute}} {{value}} já existe dentro de {{parent}}", + required: "{{attribute}} é obrigatório", + invalid: "O valor '{{value}}' não é válido para {{attribute}}", + error: "Pode contactar support@surfconext.nl para obter ajuda.

" + + "O número de referência desta exceção é {{reference}}." }, profile: { - info: "The account of {{name}} was created on {{createdAt}}", - your: "Your account was created on {{createdAt}}" + info: "A conta de {{name}} foi criada a {{createdAt}}", + your: "A sua conta foi criada a {{createdAt}}" }, inviteOnly: { - welcome: "Welcome to SURFconext Invite", - roles: "You don't have any roles.", - info: "SURFconext Invite is by invitation only. Please contact support@surfconext.nl with questions.", - preLogin: "Or ", - login: "log in", - postLogin: " again with a different institution", + welcome: "Bem-vindo ao SURFconext Invite", + roles: "Não tem nenhum papel.", + info: "O SURFconext Invite é apenas por convite. Contacte support@surfconext.nl para quaisquer questões.", + preLogin: "Ou ", + login: "inicie sessão", + postLogin: " novamente com uma instituição diferente", }, missingAttributes: { - welcome: "Welcome to SURFconext Invite", - attributes: "Your institution has not provided all required personal data. The following are missing:", - info: "If you want more information, please contact support@surfconext.nl.", - preLogin: "Or ", - login: "login", - postLogin: " again with a different institution.", + welcome: "Bem-vindo ao SURFconext Invite", + attributes: "A sua instituição não disponibilizou todos os dados pessoais necessários. Falta o seguinte:", + info: "Para mais informações, contacte support@surfconext.nl.", + preLogin: "Ou ", + login: "iniciar sessão", + postLogin: " novamente com uma instituição diferente.", sub: "sub", email: "email", - givenName: "givenName", - familyName: "familyName", + givenName: "nome", + familyName: "apelido", schacHomeOrganization: "schacHomeOrganization" }, invitationAccept: { - hi: "Hi{{name}},", - nextStep: "Next: enjoy your new role", - expired: "This invitation has expired at {{expiryDate}}", - expiredInfo: "Please contact {{email}} and ask this person to send you a new invite.", - invited: "You have been invited to become {{authority}} for the {{plural}} {{roles}} by {{inviter}}.", - invitedNoRoles: "You have been invited to become {{authority}} by {{inviter}}", - enforceEmailEquality: " This invite can only be accepted by {{email}}.", - role: "role", - roles: "roles", + hi: "Olá{{name}},", + nextStep: "Seguinte: desfrute do seu novo papel", + expired: "Este convite expirou a {{expiryDate}}", + expiredInfo: "Contacte {{email}} e peça a esta pessoa que lhe envie um novo convite.", + invited: "Foi convidado para ser {{authority}} para {{plural}} {{roles}} por {{inviter}}.", + invitedNoRoles: "Foi convidado por {{inviter}} para ser {{authority}}", + enforceEmailEquality: " Este convite só pode ser aceite por {{email}}.", + role: "papel", + roles: "papéis", progress: "1", - info: "SURFconext Invite provides access to application based on your roles.", - infoLogin: "You can log in with your institution account or eduID.", - infoLoginEduIDOnly: "You need to log in with eduID.", - infoLoginAgain: "To accept the invitation you'll need to log in again.", - login: "Log in", - loginWithSub: "Log in", - emailMismatch: "The inviter has indicated that you must accept this invitation with email address {{email}}, " + - "but you have logged in with an account with a different email address. Please log in in with a different account.", - crmOrganisationMismatch: "You already have a membership of a different CRM organisation. Please log in in with a different account.

Message from the server: {{message}}" + info: "O SURFconext Invite fornece acesso a aplicações com base nos seus papéis.", + infoLogin: "Pode iniciar sessão com a sua conta institucional ou com eduID.", + infoLoginEduIDOnly: "Tem de iniciar sessão com eduID.", + infoLoginAgain: "Para aceitar o convite, precisa de iniciar sessão novamente.", + login: "Entrar", + loginWithSub: "Entrar", + emailMismatch: "O convidador indicou que tem de aceitar este convite com o endereço de e-mail {{email}}, " + + "mas iniciou sessão com uma conta com um endereço de e-mail diferente. Inicie sessão novamente com uma conta diferente.", + crmOrganisationMismatch: "Já tem uma associação a uma organização CRM diferente. Inicie sessão novamente com uma conta diferente.

Mensagem do servidor: {{message}}" }, inviter: { - welcome: "Welcome, {{name}}", - info: "Manage who gets access to the educational applications at your institution.", - sendInvite: "Send new invite", - viewHistory: "view history", - manage: "You can manage users and send invites for", - details: "Show details", - history: "Invitation history" + welcome: "Bem-vindo, {{name}}", + info: "Gerir quem tem acesso às aplicações educativas da sua instituição.", + sendInvite: "Enviar novo convite", + viewHistory: "ver histórico", + manage: "Pode gerir utilizadores e enviar convites para", + details: "Mostrar detalhes", + history: "Histórico de convites" }, institutionAdmin: { - welcome: "Welcome institution administrator of {{name}}! You can start with creating your first role and subsequently invite role managers.", - create: "Create access role" + welcome: "Bem-vindo administrador de instituição de {{name}}! Pode começar por criar o seu primeiro papel e, em seguida, convidar gestores de papéis.", + create: "Criar papel de acesso" }, tokens: { - title: "API tokens", - new: "Add API token", - searchPlaceHolder: "Search for API tokens...", - noEntities: "No API tokens", - titleNew: "Create an API token for {{institutions}}", - backToOverview: "Back to all API tokens", - createdAt: "Created at", - secretDisclaimer: "You can view this API token only once. Copy it and store it somewhere safe.

If the token is lost, delete it and create a new one.", - secret: "API token", - secretValue: "One-way hashed token", - secretTooltip: "The value to use in the X-API-TOKEN header", - description: "Description", - superUserToken: "Super User token", - organizationGUID: "Organization GUID", - descriptionPlaceHolder: "Description for this API token", - descriptionTooltip: "A description explaining the use of this API token", - deleteFlash: "API token has been deleted", - deleteConfirmation: "Are you sure you want to delete this API token?", - createFlash: "API token has been created", - submit: "Submit", - required: "The description is required for an API token", - userTokens: "Your personal API tokens", - owner: "Owner" + title: "Tokens de API", + new: "Adicionar token de API", + searchPlaceHolder: "Procurar tokens de API...", + noEntities: "Sem tokens de API", + titleNew: "Criar um token de API para {{institutions}}", + backToOverview: "Voltar a todos os tokens de API", + createdAt: "Criado a", + secretDisclaimer: "Só pode ver este token de API uma vez. Copie-o e guarde-o num local seguro.

Se o token se perder, remova-o e crie um novo.", + secret: "Token de API", + secretValue: "Token com hash unidirecional", + secretTooltip: "O valor a usar no cabeçalho X-API-TOKEN", + description: "Descrição", + superUserToken: "Token de Super Utilizador", + organizationGUID: "GUID da organização", + descriptionPlaceHolder: "Descrição para este token de API", + descriptionTooltip: "Uma descrição que explica o uso deste token de API", + deleteFlash: "O token de API foi removido", + deleteConfirmation: "Tem a certeza de que quer remover este token de API?", + createFlash: "O token de API foi criado", + submit: "Submeter", + required: "A descrição é obrigatória para um token de API", + userTokens: "Os seus tokens de API pessoais", + owner: "Proprietário" }, tooltips: { - userIcon: "User {{name}} provisioned at {{createdAt}} with last activity on {{lastActivity}}", - impersonateIcon: "Impersonate user {{name}}", - roleIcon: "Role {{name}} created at {{createdAt}}", - userRoleIcon: "User role accepted by {{name}} at {{createdAt}}", - invitationIcon: "Invitation for {{email}} sent at {{createdAt}} with expiration date {{expiryDate}}", - roleShortName: "The unique short name of the role within a provisioning. It is used to format the urn and therefore not all characters are allowed.", - organizationGUID: "The Manage organizational identifier to scope the visibility of roles of the institution admin. Only specify a value if you are creating or editing this role on behalf of an institution admin", - roleUrn: "The urn of the role. It is based on the sanitized name and the role identifier. It is used as the unique global identifier of this role and therefore not all characters are allowed.", - manageService: "The required application from SURFconext, with may have an optional provisioning", - defaultExpiryDays: "The default number of days the role will expire, from the moment a user has accepted the invitation for this role", - enforceEmailEqualityTooltip: "When checked the invitee must accept the invitation with an account with the email address where the invitation was sent to", - eduIDOnlyTooltip: "When checked the invitees will be required to log in with eduID", - requestedAuthnContextTooltip: "The user will be forced to step up the authentication when logging in with eduID with the specified ARC", - roleExpiryDateTooltip: "The end date of this role. After this date the role is removed from the user.", - expiryDateTooltip: "The date on which this invitation expires", - inviterDisplayName: "The functional address which will used in the invitations of the role.

Default the name of the inviter is show.", - rolesTooltip: "Select all the roles that the invitee will be granted after accepting the invitation", - intendedAuthorityTooltip: "The authority determines the rights the invitee will be granted on accepting the invitation", - inviteesTooltip: "Add email addresses separated by comma, space or semi-colon or on seperate lines. You can also paste a csv file with line-separated email addresses.", - removeInvitation: "Delete all selected invitations", - removeOneInvitation: "Delete this invitation", - resendInvitation: "Resend all selected invitations", - resendOneInvitation: "Resend this invitation", - inviter: "Send invitations to persons who will - once accepted - gain user access to the application", - overrideSettingsAllowed: "When checked, invitations for this role can override the advanced settings (e.g. email equality, eduID only and the role expiry end date)", - removeUserRole: "Remove all selected user roles", - removeOneUserRole: "Remove this user role", - guestRoleIncludedTooltip: "Do you also want to grant the invitees the user role when they accept the invitation?", - notifyInviterTooltip: "Do you want to receive an email when the invitation is accepted?", - expiredUserRole: "This role will expire soon", + userIcon: "Utilizador {{name}} provisionado a {{createdAt}} com última atividade em {{lastActivity}}", + impersonateIcon: "Representar o utilizador {{name}}", + roleIcon: "Papel {{name}} criado a {{createdAt}}", + userRoleIcon: "Papel de utilizador aceite por {{name}} a {{createdAt}}", + invitationIcon: "Convite para {{email}} enviado a {{createdAt}} com data de expiração {{expiryDate}}", + roleShortName: "O nome curto único do papel dentro de um provisioning. É usado para formatar o urn e, por isso, nem todos os caracteres são permitidos.", + organizationGUID: "O identificador organizacional do Manage para limitar a visibilidade dos papéis do administrador de instituição. Só especifique um valor se estiver a criar ou editar este papel em nome de um administrador de instituição", + roleIdentityProvider: "O IdP para limitar a visibilidade dos papéis do administrador de instituição.", + invitationIdentityProvider: "O IdP determina o GUID da organização do novo administrador de instituição quando o convite é aceite", + roleUrn: "O urn do papel. Baseia-se no nome sanitizado e no identificador do papel. É usado como identificador global único deste papel e, por isso, nem todos os caracteres são permitidos.", + manageService: "A aplicação necessária do SURFconext, que pode ter um provisioning opcional", + defaultExpiryDays: "O número padrão de dias em que o papel expira, a partir do momento em que um utilizador aceita o convite para este papel", + enforceEmailEqualityTooltip: "Quando marcado, o convidado tem de aceitar o convite com uma conta com o endereço de e-mail para onde o convite foi enviado", + eduIDOnlyTooltip: "Quando marcado, os convidados têm de iniciar sessão com eduID", + requestedAuthnContextTooltip: "O utilizador será forçado a elevar a autenticação ao iniciar sessão com eduID com o ACR especificado", + roleExpiryDateTooltip: "A data de término deste papel. Após esta data, o papel é removido do utilizador.", + expiryDateTooltip: "A data em que este convite expira", + inviterDisplayName: "O endereço funcional que será usado nos convites do papel.

Por defeito, mostra-se o nome do convidador.", + rolesTooltip: "Selecionar todos os papéis que o convidado obterá após aceitar o convite", + intendedAuthorityTooltip: "A autoridade determina os direitos que o convidado obterá ao aceitar o convite", + inviteesTooltip: "Adicione endereços de e-mail separados por vírgula, espaço ou ponto-e-vírgula, ou em linhas separadas. Também pode colar um ficheiro csv com endereços de e-mail separados por linhas.", + removeInvitation: "Remover todos os convites selecionados", + removeOneInvitation: "Remover este convite", + resendInvitation: "Reenviar todos os convites selecionados", + resendOneInvitation: "Reenviar este convite", + inviter: "Enviar convites a pessoas que – uma vez aceite – obtenham acesso de utilizador à aplicação", + overrideSettingsAllowed: "Quando marcado, os convites para este papel podem substituir as definições avançadas (ex. igualdade de e-mail, apenas eduID e a data de expiração do papel)", + removeUserRole: "Remover todos os papéis de utilizador selecionados", + removeOneUserRole: "Remover este papel de utilizador", + guestRoleIncludedTooltip: "Quer também atribuir o papel de utilizador aos convidados quando aceitarem o convite?", + notifyInviterTooltip: "Quer receber um e-mail quando o convite for aceite?", + expiredUserRole: "Este papel vai expirar em breve", + applicationsTooltip: "Os utilizadores convidados tornar-se-ão gestores de aplicação após terem aceite", }, confirmationDialog: { - title: "Confirm", - error: "Error", - subTitle: "This action requires a confirmation", - subTitleError: "An error has occurred", - confirm: "Confirm", + title: "Confirmar", + error: "Erro", + subTitle: "Esta ação requer confirmação", + subTitleError: "Ocorreu um erro", + confirm: "Confirmar", ok: "OK", - cancel: "Cancel", - notAllowed: "Not allowed" + cancel: "Cancelar", + notAllowed: "Não permitido" }, footer: { - terms: "Terms of Use", + terms: "Termos de Utilização", termsLink: "https://support.surfconext.nl/terms-en", - privacy: "Privacy policy", + privacy: "Política de Privacidade", privacyLink: "https://support.surfconext.nl/privacy-en", surfLink: "https://surf.nl", }, expirations: { - expires: "Expires {{relativeTime}}", - expired: "Expired {{relativeTime}}", - never: "Never expires", + expires: "Expira {{relativeTime}}", + expired: "Expirado {{relativeTime}}", + never: "Não expira", activity: { - now: "Just now", - seconds: "Today", - minute: "Today", - minutes: "Today", - hour: "Today", - hours: "Today", - day: "Yesterday", - days: "This week", - week: "This week", - weeks: "This month", - month: "Last month", - months: "%s months ago", - year: "1 year ago", - years: "%s years ago" + now: "Agora mesmo", + seconds: "Hoje", + minute: "Hoje", + minutes: "Hoje", + hour: "Hoje", + hours: "Hoje", + day: "Ontem", + days: "Esta semana", + week: "Esta semana", + weeks: "Este mês", + month: "Mês passado", + months: "há %s meses", + year: "há 1 ano", + years: "há %s anos" }, ago: { - now: "just now", - seconds: "%s seconds ago", - minute: "1 minute ago", - minutes: "%s minutes ago", - hour: "1 hour ago", - hours: "%s hours ago", - day: "1 day ago", - days: "%s days ago", - week: "1 week ago", - weeks: "%s weeks ago", - month: "1 month ago", - months: "%s months ago", - year: "1 year ago", - years: "%s years ago" + now: "agora mesmo", + seconds: "há %s segundos", + minute: "há 1 minuto", + minutes: "há %s minutos", + hour: "há 1 hora", + hours: "há %s horas", + day: "há 1 dia", + days: "há %s dias", + week: "há 1 semana", + weeks: "há %s semanas", + month: "há 1 mês", + months: "há %s meses", + year: "há 1 ano", + years: "há %s anos" }, in: { - now: "right now", - seconds: "after %s seconds", - minute: "after 1 minute", - minutes: "after %s minutes", - hour: "after 1 hour", - hours: "after %s hours", - day: "after 1 day", - days: "after %s days", - week: "after 1 week", - weeks: "after %s weeks", - month: "after 1 month", - months: "after %s months", - year: "after 1 year", - years: "after %s years" + now: "agora", + seconds: "daqui a %s segundos", + minute: "daqui a 1 minuto", + minutes: "daqui a %s minutos", + hour: "daqui a 1 hora", + hours: "daqui a %s horas", + day: "daqui a 1 dia", + days: "daqui a %s dias", + week: "daqui a 1 semana", + weeks: "daqui a %s semanas", + month: "daqui a 1 mês", + months: "daqui a %s meses", + year: "daqui a 1 ano", + years: "daqui a %s anos" } }, notFound: { - alt: "404 Page not found" + alt: "404 Página não encontrada" }, system: { - trigger: "Trigger", - clear: "Clear", - cronInfo: "Trigger the cron job to cleanup resources like expired user-roles, orphaned users and in-active users", - cronNotificationsInfo: "Trigger the cron job to send notification mails for user-roles that will expire in X days", - noMails: "No notification mails for user-role expirations were send", - performanceSeedInfo: "The performance seed is dummy / generated data to test the performance of the system. It is deleted when you run the tests.", - performanceSeed: "Insert performance seed", - performanceLoadTime: "Inserted following entities in ~{{minutes}} minutes" + trigger: "Disparar", + clear: "Limpar", + cronInfo: "Disparar o trabalho cron para limpar recursos como papéis de utilizador expirados, utilizadores órfãos e utilizadores inativos", + cronNotificationsInfo: "Disparar o trabalho cron para enviar e-mails de notificação para papéis de utilizador que expiram em X dias", + noMails: "Não foram enviados e-mails de notificação para expirações de papéis de utilizador", + performanceSeedInfo: "O seed de performance são dados falsos / gerados para testar o desempenho do sistema. É removido quando executa os testes.", + performanceSeed: "Inserir seed de performance", + performanceLoadTime: "Inseridos os seguintes entes em ~{{minutes}} minutos" }, unknownRoles: { - title: "Roles linked to applications unknown in Manage", - searchPlaceHolder: "Search...", - noRoles: "Yeah, no unknown manage applications" + title: "Papéis associados a aplicações desconhecidas no Manage", + searchPlaceHolder: "Procurar...", + noRoles: "Sim, nenhuma aplicação desconhecida no Manage" }, expiredUserRoles: { - title: "Roles to be expired the next month", - searchPlaceHolder: "Zoek...", - noResults: "Yeah, no user-roles to be expired within one month" + title: "Papéis por expirar no próximo mês", + searchPlaceHolder: "Procurar...", + noResults: "Sim, não há papéis de utilizador por expirar dentro de um mês" }, requestedAuthnContext: { - EduIDLinkedInstitution: "EduID linked institution", - EduIDValidatedName: "EduID validated name", - ValidateNamesExternal: "EduID validated name by an external (non institutional) source", - EduIDRequireStudentAffiliation: "EduID required student affiliation", - TransparentAuthnContext: "Application provides ACR value" + EduIDLinkedInstitution: "Instituição ligada ao eduID", + EduIDValidatedName: "Nome validado pelo eduID", + ValidateNamesExternal: "Nome validado pelo eduID por uma fonte externa (não institucional)", + EduIDRequireStudentAffiliation: "eduID requer afiliação de estudante", + TransparentAuthnContext: "A aplicação fornece o valor ACR" + }, + userRoleAudit: { + header: "Registo de auditoria", + info: "Todas as alterações a papéis criados pela sua organização", + email: "Utilizador", + roleName: "Papel", + action: "Ação", + actions: { + ADD: "Adicionado", + DELETE: "Removido", + UPDATE: "Atualizado" + }, + authority: "Autoridade", + endDate: "Data de término", + createdAt: "Criado", + searchPlaceHolder: "Procurar histórico de papéis", + title: "O registo de auditoria de papéis", + rolePlaceHolder: "Filtrar por papel", + }, + institutionAdmins: { + title: "Administradores de instituição e gestores de aplicação", + searchPlaceHolder: "Procurar..." } } -export default pt; +export default pt; \ No newline at end of file