Validate single quotes in themes

Closes #37930

Signed-off-by: Alexander Schwartz <aschwart@redhat.com>
This commit is contained in:
Alexander Schwartz 2025-03-17 15:18:02 +01:00 committed by GitHub
parent 0aa14c19e1
commit 7aa5130628
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 406 additions and 244 deletions

View File

@ -27,6 +27,18 @@ To ensure consistency and quality across translations, please adhere to the foll
- Maintain consistency with existing translations.
- Translate text accurately, ensuring that the meaning is preserved.
### Handling of single quotes (`'`)
Whenever messages are formatted in the backend, Keycloak uses Java's MessageFormat to replace placeholders. This uses single quotes (`'`) as an escape mechanism.
Therefore, use typographic quotes like `` and `` where possible.
To avoid problems, automatic checks ensure the following:
* In all "base" themes, where message keys are evaluated in the backend, no single quote (`'`) must be used standalone as it would not print when used in Java's MessageFormat. For legacy messages, a double single quote (`''`) can be used to print a single quote.
* In all UI themes, where message keys are evaluated in the frontend, a single quote (`'`) must only be used standalone, and a double single (`''`) must not be used.
### Spanish translations
- Use the formal "usted" form instead of the informal "vos or tu" (i.e., avoid tuteo), ensuring a more formal tone.

View File

@ -2,7 +2,7 @@
#Tue Jan 09 09:05:12 CET 2024
cancel=Cancel·la
backTo=Torna a {{app}}
applicationType=Tipus d''aplicació
applicationType=Tipus d'aplicació
noGroupsText=No us heu unit a cap grup
path=Camí
password=Contrasenya
@ -11,29 +11,29 @@ lastAccessedOn=Últim accés
permissions=Permisos
credentialCreatedAt=<0>Creada</0> el {{date}}.
error-username-invalid-character=«{{0}}» conté un caràcter no vàlid.
infoMessage=Fent clic en «Elimina l''accés», eliminareu els permisos concedits a aquesta aplicació. Aquesta aplicació ja no podrà utilitzar la vostra informació.
infoMessage=Fent clic en «Elimina l'accés», eliminareu els permisos concedits a aquesta aplicació. Aquesta aplicació ja no podrà utilitzar la vostra informació.
unknownOperatingSystem=Sistema operatiu desconegut
edit=Edita
otp-display-name=aplicació d''autenticació
otp-display-name=aplicació d'autenticació
linkedEmpty=No hi ha cap proveïdor enllaçat
directMembership=Pertinença directa
error-invalid-length-too-short=L''atribut {0} ha de tindre una llargària mínima de {1}.
error-number-out-of-range-too-big=L''atribut {0} ha de tindre valor màxim de {2}.
error-invalid-length-too-short=L'atribut {0} ha de tindre una llargària mínima de {1}.
error-number-out-of-range-too-big=L'atribut {0} ha de tindre valor màxim de {2}.
updateEmail=Actualitza el correu electrònic
two-factor=Autenticació de doble factor
signedInDevicesExplanation=Desconnecteu qualsevol dispositiu que no us siga familiar.
status=Estat
error-number-out-of-range-too-small=L''atribut {0} ha de tindre valor mínim de {1}.
removeModalMessage=Això eliminarà els permisos d''accés actualment concedits a {{name}}. Haureu de tornar a concedir accés si voleu utilitzar aquesta aplicació.
error-number-out-of-range-too-small=L'atribut {0} ha de tindre valor mínim de {1}.
removeModalMessage=Això eliminarà els permisos d'accés actualment concedits a {{name}}. Haureu de tornar a concedir accés si voleu utilitzar aquesta aplicació.
lastName=Cognoms
invalidEmailMessage=«{{0}}»: l''adreça de correu electrònic no és vàlida.
invalidEmailMessage=«{{0}}»: l'adreça de correu electrònic no és vàlida.
clients=Clients
filterByName=Filtra per nom…
refreshPage=Refresca la pàgina
error-user-attribute-required=Especifiqueu l''atribut «{0}».
error-user-attribute-required=Especifiqueu l'atribut «{0}».
currentSession=Sessió actual
error-empty=Especifiqueu el valor de «{{0}}».
error-invalid-uri-fragment=«{{0}}» és un fragment d''URL invàlid.
error-invalid-uri-fragment=«{{0}}» és un fragment d'URL invàlid.
error-invalid-blank=Especifiqueu el valor de «{{0}}».
missingFirstNameMessage=«{{0}}»: Indiqueu el nom.
signedOutSession=Desconnectat {{browser}}/{{os}}
@ -42,24 +42,24 @@ close=Tanca
email=Correu electrònic
signOutWarning=Voleu sortir de la sessió?
signOutAllDevicesWarning=Aquesta acció desconnectarà tots els dispositius que han entrat al vostre compte, inclòs el dispositiu que esteu utilitzant ara mateix.
unShareSuccess=S''ha deixat de compartir el recurs correctament.
unShareSuccess=S'ha deixat de compartir el recurs correctament.
signingIn=Identificació
stopUsingCred=Voleu deixar d''utilitzar {{name}}?
error-number-out-of-range=L''atribut {0} ha de ser un número entre {1} i {2}.
stopUsingCred=Voleu deixar d'utilitzar {{name}}?
error-number-out-of-range=L'atribut {0} ha de ser un número entre {1} i {2}.
thirdPartyApp=De tercers
started=Iniciat
updateSuccess=S''ha actualitzat el recurs correctament.
updateSuccess=S'ha actualitzat el recurs correctament.
unShare=Deixa de compartir-ho tot
removeAccess=Elimina l''accés
removeAccess=Elimina l'accés
removeCred=Elimina {{name}}
signOutAllDevices=Desconnecta tots els dispositius
error-invalid-email=L''adreça de correu electrònic no és vàlida.
error-invalid-email=L'adreça de correu electrònic no és vàlida.
myResources=Els meus recursos
linkedAccountsIntroMessage=Gestiona les entrades a través de comptes de tercers.
groupDescriptionLabel=Visualitzeu els grups als quals esteu associat
resourceAlreadyShared=El recurs ja està compartit amb aquest usuari.
error-invalid-length-too-long=L''atribut {0} ha de tindre una llargària màxima de {2}.
accountUpdatedMessage=S''ha actualitzat el vostre compte.
error-invalid-length-too-long=L'atribut {0} ha de tindre una llargària màxima de {2}.
accountUpdatedMessage=S'ha actualitzat el vostre compte.
logo=Logotip
password-help-text=Entreu introduint la vostra contrasenya.
deleteAccount=Elimina el compte
@ -87,24 +87,24 @@ description=Descripció
update=Actualitza
signedInDevices=Dispositius identificats
missingPasswordMessage=«{{0}}»: Indiqueu la contrasenya.
otp-help-text=Introduïu el codi de verificació de l''aplicació d''autenticació.
error-invalid-uri-scheme=«{{0}} té un esquema d''URL invàlid.
otp-help-text=Introduïu el codi de verificació de l'aplicació d'autenticació.
error-invalid-uri-scheme=«{{0}} té un esquema d'URL invàlid.
error-user-attribute-read-only=El camp {0} és només de lectura.
error-invalid-date=La data «{0}» no és vàlida.
missingEmailMessage=«{0}»: Indiqueu una adreça electrònica.
applicationsIntroMessage=Feu seguiment i gestioneu els permisos de les aplicacions per a accedir al vostre compte
error-invalid-length=L''atribut {0} ha de tindre una llargària d''entre {1} i {2}.
error-invalid-length=L'atribut {0} ha de tindre una llargària d'entre {1} i {2}.
missingLastNameMessage=«{0}»: Indiqueu els vostres cognoms.
linkedLoginProviders=Proveïdors d''entrada enllaçats
linkedLoginProviders=Proveïdors d'entrada enllaçats
inUse=En ús
client=Client
error-invalid-uri=L''URL «{0}» no és vàlid.
error-invalid-uri=L'URL «{0}» no és vàlid.
systemDefined=Definit pel sistema
internalApp=Internes
accessGrantedOn=Accés concedit el:
permissionRequests=Peticions de permís
shareSuccess=S''ha compartit el recurs correctament.
missingUsernameMessage=«{0}»: Indiqueu el vostre nom d''usuari.
shareSuccess=S'ha compartit el recurs correctament.
missingUsernameMessage=«{0}»: Indiqueu el vostre nom d'usuari.
fullName={{givenName}} {{familyName}}
resources=Recursos
resourceIntroMessage=Compartiu recursos entre membres del vostre equip
@ -115,14 +115,14 @@ shareWith=Comparteix amb
updateCredAriaLabel=Actualitza la credencial
error-pattern-no-match=«{0}» no té el format requerit.
application=Aplicació
unlinkedLoginProviders=Proveïdors d''entrada no enllaçats
applicationDetails=Detalls de l''aplicació
successRemovedMessage={{userLabel}} s''ha eliminat.
unlinkedLoginProviders=Proveïdors d'entrada no enllaçats
applicationDetails=Detalls de l'aplicació
successRemovedMessage={{userLabel}} s'ha eliminat.
deleteAccountWarning=Això és irreversible. Totes les vostres dades es destruiran permanentment i no seran accessibles.
error-person-name-invalid-character=«{0}» conté un caràcter no vàlid.
user=Usuari
applications=Aplicacions
username=Nom d''usuari
username=Nom d'usuari
removeConsentSuccess=S'ha eliminat el consentiment amb èxit
required=Requerit
deviceActivity=Activitat dels aparells
@ -215,5 +215,5 @@ errorSignOutMessage=No s'ha pogut sortir: {{error}}
errorRemovedMessage=No s'ha pogut suprimir {{userLabel}} a causa de: {{error}}
resourceSharedWith_other=El recurs està compartit amb <0>{{username}}</0> i <1>{{other}}</1> altres usuaris
shareUser=Afegeix usuaris amb qui compartir el recurs
error-invalid-multivalued-size=L''atribut {{0}} ha de tenir almenys {{1}} i com a mot {{2}} valors.
error-invalid-multivalued-size=L'atribut {{0}} ha de tenir almenys {{1}} i com a mot {{2}} valors.
termsAndConditionsDeclined=Cal que accepteu els Termes i Condicions per a continuar

View File

@ -10,8 +10,8 @@ setUpNew=Impostazione {{name}}
lastAccessedOn=Ultimo accesso
permissions=Permessi
credentialCreatedAt=<0>Creato</0> {{date}}.
error-username-invalid-character=''{0}'' contiene caratteri non validi.
infoMessage=Cliccando su ''Rimuovi accesso'', rimuoverai le autorizzazioni concesse a questa applicazione. Questa applicazione non utilizzerà più le tue informazioni.
error-username-invalid-character='{0}' contiene caratteri non validi.
infoMessage=Cliccando su 'Rimuovi accesso', rimuoverai le autorizzazioni concesse a questa applicazione. Questa applicazione non utilizzerà più le tue informazioni.
unknownOperatingSystem=Sistema operativo sconosciuto
edit=Modifica
otp-display-name=Applicazione Authenticator (OTP)
@ -20,35 +20,35 @@ signOut=Esci
linkedEmpty=Nessun provider collegato
directMembership=Membri diretti
accept=Accetta
error-invalid-length-too-short=''{0}'' deve avere una lunghezza minima di {1}.
error-number-out-of-range-too-big=''{0}'' deve avere un valore massimo di {2}.
error-invalid-length-too-short='{0}' deve avere una lunghezza minima di {1}.
error-number-out-of-range-too-big='{0}' deve avere un valore massimo di {2}.
updateEmail=Aggiorna email
two-factor=Autenticazione a due fattori
signedInDevicesExplanation=Uscire da tutti i dispositivi sconosciuti.
status=Stato
error-number-out-of-range-too-small=''{0}'' deve avere un valore minimo di {1}.
removeModalMessage=Questo rimuoverà l''autorizzazione di accesso attualmente concessa per {{name}}. Dovrai concedere nuovamente l''accesso se vuoi utilizzare questa applicazione.
error-number-out-of-range-too-small='{0}' deve avere un valore minimo di {1}.
removeModalMessage=Questo rimuoverà lautorizzazione di accesso attualmente concessa per {{name}}. Dovrai concedere nuovamente laccesso se vuoi utilizzare questa applicazione.
lastName=Cognome
invalidEmailMessage='{{0}}': indirizzo email non valido.
clients=Client
filterByName=Filtra per nome ...
refreshPage=Aggiornare la pagina
error-user-attribute-required=Specificare ''{0}''.
error-user-attribute-required=Specificare '{0}'.
currentSession=Sessione in corso
error-empty=Specificare il valore di ''{0}''.
error-invalid-uri-fragment=''{0}'' è un frammento URL non valido.
error-empty=Specificare il valore di '{0}'.
error-invalid-uri-fragment='{0}' è un frammento URL non valido.
signedOutSession=Disconnesso {{browser}}/{{os}}
missingFirstNameMessage='{{0}}': inserisci il nome.
error-invalid-blank=Specificare il valore di ''{0}''.
error-invalid-blank=Specificare il valore di '{0}'.
share=Condiviso
close=Chiudi
email=Email
signOutWarning=Chiudere la sessione?
signOutAllDevicesWarning=Quest''azione disconnetterà tutti i dispositivi che hanno effettuato l''accesso al tuo utente, compreso il dispositivo attualmente in uso.
signOutAllDevicesWarning=Quest'azione disconnetterà tutti i dispositivi che hanno effettuato l'accesso al tuo utente, compreso il dispositivo attualmente in uso.
unShareSuccess=La condivisione della risorsa è stata rimossa.
signingIn=Impostazioni di accesso
stopUsingCred=Smettere di usare {{name}}?
error-number-out-of-range=''{0}'' deve essere un numero compreso tra {1} e {2}.
error-number-out-of-range='{0}' deve essere un numero compreso tra {1} e {2}.
thirdPartyApp=Applicazioni di terze parti
started=Iniziato
updateSuccess=Risorsa aggiornata con successo.
@ -61,13 +61,13 @@ myResources=Le mie risorse
linkedAccountsIntroMessage=Gestire gli accessi tramite utenze di terzi.
groupDescriptionLabel=Visualizza i gruppi con cui sei associato/a
resourceAlreadyShared=La risorsa è già condivisa con questo utente.
error-invalid-length-too-long=''{0}'' deve avere una lunghezza massima di {2}.
error-invalid-length-too-long='{0}' deve avere una lunghezza massima di {2}.
accountUpdatedMessage=Il tuo utente è stato aggiornato.
logo=Logo
password-help-text=Accedere inserendo la password.
deleteAccount=Elimina utente
add=Aggiungi
error-invalid-value=''{0}'' ha un valore non valido.
error-invalid-value='{0}' ha un valore non valido.
ipAddress=Indirizzo IP
resourceName=Nome della risorsa
unlinkedEmpty=Nessun provider scollegato
@ -84,23 +84,23 @@ password-display-name=Password
expires=Scade
noGroups=Nessun gruppo
notSetUp={{name}} non è impostato.
error-invalid-number=''{0}'' non è un numero valido.
error-invalid-number='{0}' non è un numero valido.
link=Account collegato
description=Descrizione
update=Aggiorna
signedInDevices=Dispositivi registrati
missingPasswordMessage='{{0}}': inserisci la password.
otp-help-text=Immettere un codice di verifica dall''applicazione Authenticator.
error-invalid-uri-scheme=''{0}'' ha uno schema URL non valido.
error-invalid-date=''{0}'' è una data non valida.
missingEmailMessage='{{0}}': inserisci l''indirizzo email.
applicationsIntroMessage=Traccia e gestisci i permessi delle applicazioni nell''accesso al tuo account
error-invalid-length=''{0}'' deve avere una lunghezza compresa tra {1} e {2}.
otp-help-text=Immettere un codice di verifica dallapplicazione Authenticator.
error-invalid-uri-scheme='{0}' ha uno schema URL non valido.
error-invalid-date='{0}' è una data non valida.
missingEmailMessage='{{0}}': inserisci lindirizzo email.
applicationsIntroMessage=Traccia e gestisci i permessi delle applicazioni nellaccesso al tuo account
error-invalid-length='{0}' deve avere una lunghezza compresa tra {1} e {2}.
missingLastNameMessage='{{0}}': inserisci il cognome.
linkedLoginProviders=Provider di accesso collegati
inUse=In uso
client=Client
error-invalid-uri=''{0}'' è un URL non valido.
error-invalid-uri='{0}' è un URL non valido.
systemDefined=SSistema definito
internalApp=Interna
accessGrantedOn=Accesso concesso il:
@ -115,13 +115,13 @@ termsOfService=Termini di servizio
requestor=Richiedente
shareWith=Condividi con
updateCredAriaLabel=Aggiorna credenziali
error-pattern-no-match=''{0}'' non corrisponde al formato richiesto.
error-pattern-no-match='{0}' non corrisponde al formato richiesto.
application=Applicazione
unlinkedLoginProviders=Provider di accesso scollegati
applicationDetails=Dettagli dell''applicazione
applicationDetails=Dettagli dellapplicazione
successRemovedMessage={{userLabel}} è stato rimosso.
deleteAccountWarning=Questa operazione è irreversibile. Tutti i tuoi dati saranno distrutti in modo permanente e non potranno essere recuperati.
error-person-name-invalid-character=''{0}'' contiene caratteri non validi.
error-person-name-invalid-character='{0}' contiene caratteri non validi.
user=Utente
applications=Applicazioni
username=Nome utente
@ -139,7 +139,7 @@ avatar=Avatar
personalInfoDescription=Gestisci le tue informazioni di base
personalInfo=Informazioni personali
flowTypeHelp=Che tipo di modulo è
accountSecurity=Sicurezza dell''utente
accountSecurity=Sicurezza dell'utente
manageAccount=Gestione utente
shareError=Non è possibile condividere la risorsa a causa di: {{error}}
somethingWentWrongDescription=Ci dispiace, si è verificato un errore imprevisto.
@ -166,7 +166,7 @@ recovery-codes-generate-new-codes=Genera nuovi codici per assicurarti l'accesso
oid4vci=Credenziali verificabili
verifiableCredentialsTitle=Credenziali verificabili
verifiableCredentialsIssuerAlert=Non è stato possibile ottenere informazioni sull'emittente.
verifiableCredentialsOfferAlert=Non è stato possibile ottenere un''offerta.
verifiableCredentialsOfferAlert=Non è stato possibile ottenere unofferta.
verifiableCredentialsSelectionDefault=Seleziona la configurazione di una credenziale.
phoneScopeConsentText=Numero di telefono
offlineAccessScopeConsentText=Accesso offline
@ -201,19 +201,19 @@ addressScopeConsentText=Indirizzo
rolesScopeConsentText=Ruoli dell'utente
somethingWentWrong=Qualcosa è andato storto
emptyUserOrganizationsInstructions=Non sei ancora membro di alcuna organizzazione.
searchOrganization=Cerca un''organizzazione
searchOrganization=Cerca unorganizzazione
organizationList=Elenco delle organizzazioni
termsAndConditionsDeclined=Per poter continuare devi accettare i termini e le condizioni
permissionRequest=Richieste di permesso - {{name}}
general=Generale
rolesScope=Se non è stata definita alcuna mappatura dell''ambito (scope) su un ruolo, ogni utente è autorizzato a utilizzare questo ambito client. Se sono state definite mappature dell''ambito su un ruolo, l''utente deve essere membro di almeno uno dei ruoli.
rolesScope=Se non è stata definita alcuna mappatura dell'ambito (scope) su un ruolo, ogni utente è autorizzato a utilizzare questo ambito client. Se sono state definite mappature dell'ambito su un ruolo, l'utente deve essere membro di almeno uno dei ruoli.
unLinkError=Non è possibile togliere il collegamento: {{error}}
recovery-authn-code=I miei codici di recupero
signingInDescription=Configura le modalità di accesso.
removeConsentError=Non è possibile rimuovere il consenso a causa di: {{error}}
linkedAccounts=Utenze collegate
groupsListHeader=Intestazione lista gruppi
scopeNameHelp=Nome dell''ambito client. Deve essere univoco nel realm. Il nome non deve contenere caratteri di spazio, poiché viene utilizzato come valore del parametro ambito
scopeNameHelp=Nome dell'ambito client. Deve essere univoco nel realm. Il nome non deve contenere caratteri di spazio, poiché viene utilizzato come valore del parametro ambito
scopeDescriptionHelp=Descrizione dell'ambito del client
selectOne=Seleziona un''opzione
selectOne=Seleziona unopzione
privacyPolicy=Politica sulla riservatezza

View File

@ -1,121 +1,121 @@
storePassword=Contrasenya del magatzem
logoutServiceRedirectBindingURLHelp=URL d''enllaç SAML de redirecció per a la desconnexió única del client. Pots deixar-ho en blanc si estàs fent servir un enllaç diferent.
logoutServiceRedirectBindingURLHelp=URL d'enllaç SAML de redirecció per a la desconnexió única del client. Pots deixar-ho en blanc si estàs fent servir un enllaç diferent.
themes=Temes
password=Contrasenya
clientType=''OpenID connect'' permet als clients verificar la identitat de l''usuari final basat en l''autenticació realitzada per un servidor d''autorització. ''SAML'' habilita l''autenticació i autorització d''escenaris basats en web incloent cross-domain i single sign-on (SSO) i utilitza tokens de seguretat que contenen afirmacions per passar informació.
clientType='OpenID connect' permet als clients verificar la identitat de l'usuari final basat en l'autenticació realitzada per un servidor d'autorització. 'SAML' habilita l'autenticació i autorització d'escenaris basats en web incloent cross-domain i single sign-on (SSO) i utilitza tokens de seguretat que contenen afirmacions per passar informació.
composite=Compost
clientSignature=Signatura de Client requerida
waitIncrementSecondsHelp=Quan s''ha arribat al llindar d''error, quant de temps ha d''estar un usuari bloquejat?
waitIncrementSecondsHelp=Quan s'ha arribat al llindar d'error, quant de temps ha d'estar un usuari bloquejat?
nodeHost=Host del node
mapperType=Tipus d''assignador
quickLoginCheckMilliSeconds=Si ocorren errors de forma concurrent i molt ràpida, bloquejar a l''usuari.
mapperType=Tipus d'assignador
quickLoginCheckMilliSeconds=Si ocorren errors de forma concurrent i molt ràpida, bloquejar a l'usuari.
edit=Edita
unspecified=no especificat
archiveFormat=Format d''Arxiu
archiveFormat=Format d'Arxiu
validatorDialogColNames.colName=Nom de rol
associatedRolesText=Rols Associats
certificateHelp=Certificat de client per validar els JWT emesos per aquest client i signats amb la clau privada del client del teu magatzem de claus.
credentialType=Tipus
defaultLocale=Idioma per defecte
clientIdHelp=L''identificador del client registrat amb el proveïdor d''identitat.
clientIdHelp=L'identificador del client registrat amb el proveïdor d'identitat.
forcePostBindingHelp=Fes servir sempre POST per a les respostes.
authorizationUrl=URL d''autorització
authorizationUrl=URL d'autorització
roleName=Nom de rol
httpPostBindingAuthnRequestHelp=Indica si AuthnRequest ha de ser enviat usant HTTP-POST. Si no està activat es fa HTTP-REDIRECT.
securityDefences=Defenses de seguretat
accessTokenLifespanHelp=Temps màxim abans que un token d''accés expiri. Es recomana que aquest valor sigui curt en relació al temps màxim de SSO.
includeInAccessToken.tooltip=S''hauria d'afegir la identitat reclamada al token d''accés?
redirectURIHelp=L''URI de redirecció usada per configurar el proveïdor d''identitat.
idpInitiatedSsoRelayStateHelp=Estat de retransmissió que voleu enviar amb una petició SAML quan es vol fer servir un SSO iniciat per l''IDP.
accessTokenLifespanHelp=Temps màxim abans que un token d'accés expiri. Es recomana que aquest valor sigui curt en relació al temps màxim de SSO.
includeInAccessToken.tooltip=S'hauria d'afegir la identitat reclamada al token d'accés?
redirectURIHelp=L'URI de redirecció usada per configurar el proveïdor d'identitat.
idpInitiatedSsoRelayStateHelp=Estat de retransmissió que voleu enviar amb una petició SAML quan es vol fer servir un SSO iniciat per l'IDP.
attestationPreference.none=cap
revocation=Revocació
clientDescriptionHelp=Indica la descripció del client. Per exemple ''My Client for TimeSheets''. També suporta claus per a valors localitzats. Per exemple: ${my_client_description}.
clientDescriptionHelp=Indica la descripció del client. Per exemple 'My Client for TimeSheets'. També suporta claus per a valors localitzats. Per exemple: ${my_client_description}.
clientAuthenticator=Client autenticador
useEntityDescriptor=Importar metadades des d''un descriptor d'entitat remot d''un IDP de SAML
logoutServiceRedirectBindingURL=URL d''enllaç SAML de redirecció per a la desconnexió
loginActionTimeout=Temps màxim d''acció en l''inici de sessió
idpInitiatedSsoRelayState=Estat de retransmissió d''un SSO iniciat per l''IDP
useEntityDescriptor=Importar metadades des d'un descriptor d'entitat remot d'un IDP de SAML
logoutServiceRedirectBindingURL=URL d'enllaç SAML de redirecció per a la desconnexió
loginActionTimeout=Temps màxim d'acció en l'inici de sessió
idpInitiatedSsoRelayState=Estat de retransmissió d'un SSO iniciat per l'IDP
validatingX509Certs=Validant certificat X509
masterSamlProcessingUrl=URL principal de processament SAML
key=Clau
validRedirectURIs=Patró d''URI vàlida per a la qual un navegador pot sol·licitar la redirecció després d''un inici o tancament de sessió completat. Es permeten comodins simples p.ex. ''http://example.com/*''. També es poden indicar rutes relatives p.ex. ''/my/relative/path/*''. Les rutes relatives generaran un URI de redirecció fent servir el host i port de la petició. Per SAML, s''han de fixar patrons d''URI vàlids si vols confiar en l''URL del servei del consumidor indicada en la petició d''inici de sessió.
userInfoUrl=URL d''informació d''usuari
validRedirectURIs=Patró d'URI vàlida per a la qual un navegador pot sol·licitar la redirecció després d'un inici o tancament de sessió completat. Es permeten comodins simples p.ex. 'http://example.com/*'. També es poden indicar rutes relatives p.ex. '/my/relative/path/*'. Les rutes relatives generaran un URI de redirecció fent servir el host i port de la petició. Per SAML, s'han de fixar patrons d'URI vàlids si vols confiar en l'URL del servei del consumidor indicada en la petició d'inici de sessió.
userInfoUrl=URL d'informació d'usuari
assertionConsumerServicePostBindingURL=Assertion Consumer Service POST Binding URL
usermodel.clientRoleMapping.clientId.label=ID Client
identityProviders=Proveïdors d''identitat
identityProviders=Proveïdors d'identitat
clientId=ID Client
nameIdPolicyFormat=Format de política NameID
idpInitiatedSsoUrlName=Nom del fragment de l''URL per referenciar al client quan vols un SSO iniciat per l''IDP. Deixant això buit desactiva els SSO iniciats per l''IDP. L''URL referenciada des del navegador serà\: {server-root}/realms/{realm}/protocol/saml/clients/{client-url-name}
idpInitiatedSsoUrlName=Nom del fragment de l'URL per referenciar al client quan vols un SSO iniciat per l'IDP. Deixant això buit desactiva els SSO iniciats per l'IDP. L'URL referenciada des del navegador serà\: {server-root}/realms/{realm}/protocol/saml/clients/{client-url-name}
validatingX509CertsHelp=El certificat en format PEM que ha de fer-se servir per comprovar les signatures.
importFile=Arxiu d''Importació
clientLoginTimeoutHelp=Temps màxim que un client té per finalitzar el protocol d''obtenció del token d''accés. Hauria de ser normalment de l''ordre d''1 minut.
importFile=Arxiu d'Importació
clientLoginTimeoutHelp=Temps màxim que un client té per finalitzar el protocol d'obtenció del token d'accés. Hauria de ser normalment de l'ordre d'1 minut.
lastAccess=Últim Accés
ssoSessionIdle=Temps màxim que una sessió pot estar inactiva abans que expiri. Els tokens i sessions de navegador són invalidades quan la sessió expira.
xFrameOptions=X-Frame-Options
prompts.none=cap
emailTheme=Tema d''email
emailTheme=Tema d'email
times.minutes=Minuts
nameIdFormatHelp=El format de nom de l'ID que es farà servir per al títol.
forcePostBinding=Forçar enllaços POST
discoveryEndpoint=Importa metadades des d''un descriptor d''un proveïdor d''identitat (IDP) remot.
discoveryEndpoint=Importa metadades des d'un descriptor d'un proveïdor d'identitat (IDP) remot.
registerNodeManually=Registrar node manualment
redirectURI=URI de redirecció
signDocuments=Signar documents
tokenUrl=Token URL
consentRequired=Es requereix consentiment
notBefore=No abans de
editUsername=Edita el nom d''usuari
editUsername=Edita el nom d'usuari
lastRegistration=Últim registre
requireSsl=Sol·licitar SSL
samlEntityDescriptor=Et permet carregar metadades d''un proveïdor d''identitat (IDP) extern d''un arxiu de coniguración o descarregar des d''una URL.
samlEntityDescriptor=Et permet carregar metadades d'un proveïdor d'identitat (IDP) extern d'un arxiu de coniguración o descarregar des d'una URL.
wantAuthnRequestsSigned=Signar AuthnRequests
usermodel.attr.tooltip=Nom de l''atribut d''usuari emmagatzemat que és el nom de l''atribut dins el map UserModel.attribute.
usermodel.attr.tooltip=Nom de l'atribut d'usuari emmagatzemat que és el nom de l'atribut dins el map UserModel.attribute.
export=Exporta
generateNewKeys=Generar noves claus
offlineSessionIdle=Inactivitat de sessió sense connexió
backchannelLogout=Backchannel Logout
userRegistrationHelpText=Habilitar/deshabilitar la pàgina de registre. Un enllaç per al registre es mostrarà també a la pàgina d''inici de sessió.
revokeRefreshToken=Revocar el token d''actualització
userRegistrationHelpText=Habilitar/deshabilitar la pàgina de registre. Un enllaç per al registre es mostrarà també a la pàgina d'inici de sessió.
revokeRefreshToken=Revocar el token d'actualització
minimumQuickLoginWaitSeconds=Temps mínim entre errors de connexió ràpids
prompts.login=login
offlineSessionIdleHelp=Temps màxim inactiu d''una sessió sense connexió abans que expiri. Necessites fer servi un token sense connexió per refrescar almenys una vegada dins d'aquest període, en un altre cas la sessió sense connexió expirarà.
forceNameIdFormatHelp=Ignorar la petició de subjecte NameID i fer servir la configurada a la consola d''administració.
offlineSessionIdleHelp=Temps màxim inactiu d'una sessió sense connexió abans que expiri. Necessites fer servi un token sense connexió per refrescar almenys una vegada dins d'aquest període, en un altre cas la sessió sense connexió expirarà.
forceNameIdFormatHelp=Ignorar la petició de subjecte NameID i fer servir la configurada a la consola d'administració.
realmRoles=Rols de domini
port=Port
adminThemeHelp=Selecciona el tema per a la consola d''administració.
adminThemeHelp=Selecciona el tema per a la consola d'administració.
nameIdFormat=Format de NameID
validRedirectUri=URIs de redirecció vàlides
clientList=Clients
userSession.modelNote.label=Nota sessió usuari
logoutServicePostBindingURL=URL d''enllaç SAML POST per a la desconnexió
logoutServicePostBindingURL=URL d'enllaç SAML POST per a la desconnexió
singleLogoutServiceUrl=URL de servei de desconnexió únic
userAttribute=Atribut d''usuari
userAttribute=Atribut d'usuari
roles=Rols
description=Descripció
validateSignatureHelp=Habilitar/deshabilitar la validació de signatures de proveïdors d''identitat (IDP) externs
validateSignatureHelp=Habilitar/deshabilitar la validació de signatures de proveïdors d'identitat (IDP) externs
clientSignatureHelp=Signarà el client les seves peticions i respostes SAML? I haurien de ser validades?
title=Sessions
keyPasswordHelp=Contrasenya per accedir a la clau privada continguda en l''arxiu
keyPasswordHelp=Contrasenya per accedir a la clau privada continguda en l'arxiu
verifyEmail=Verificar email
frontchannelLogout=Desconnexió en primer pla (Front Channel)
formatOption=Format
loginTheme=Tema d''inici de sessió
loginTheme=Tema d'inici de sessió
provider=Proveïdor
providerId=ID
titleRoles=Rols de domini
nodeReRegistrationTimeout=Temps d''espera de re-registre de node
nodeReRegistrationTimeout=Temps d'espera de re-registre de node
loginTimeout=Temps màxim de desconnexió
accessTokenLifespan=Durada del token d''accés
accessTokenLifespan=Durada del token d'accés
setToNow=Fixar a ara
signAssertionsHelp=Haurien de signar-se les assercions en documents SAML? Aquest ajust no és necessari si el document ja s''està signant.
signAssertionsHelp=Haurien de signar-se les assercions en documents SAML? Aquest ajust no és necessari si el document ja s'està signant.
validateSignature=Validar signatures
headers=Capçaleres
fineGrainSamlEndpointConfig=Fine Grain SAML Endpoint Configuration
hours=Hores
encryptAssertions=Xifrar afirmacions
keyAliasHelp=Àlies de l''arxiu de la teva clau privada i certificat.
aliasHelp=L''àlies que identifica de forma única un proveïdor d''identitat, es far servir també per construir la URI de redirecció.
tokenClaimName.tooltip=Nom del reclam a inserir en el testimoni. Pot ser un nom complet com ''address.street''. En aquest cas, es crearà un objecte JSON niat.
keyAliasHelp=Àlies de l'arxiu de la teva clau privada i certificat.
aliasHelp=L'àlies que identifica de forma única un proveïdor d'identitat, es far servir també per construir la URI de redirecció.
tokenClaimName.tooltip=Nom del reclam a inserir en el testimoni. Pot ser un nom complet com 'address.street'. En aquest cas, es crearà un objecte JSON niat.
maxFailureWaitSeconds=Espera màxima
userName=Usuari
clientProfileDescription=Descripció
@ -127,80 +127,80 @@ webOrigins=Orígens web
realm=Domini
prompt=Prompt
username=Usuari
importConfig=Importa metadades des d''un descriptor d''un proveïdor d''identitat (IDP) descarregat.
bruteForceDetection=Detecció d''atacs per força bruta
archiveFormatHelp=Format d''arxiu Java keystore o PKCS12
importConfig=Importa metadades des d'un descriptor d'un proveïdor d'identitat (IDP) descarregat.
bruteForceDetection=Detecció d'atacs per força bruta
archiveFormatHelp=Format d'arxiu Java keystore o PKCS12
keyAlias=Àlies de clau
revokeRefreshTokenHelp=Si està activat els tokens d''actualització només poden usar-se una vegada. En un altre cas els tokens d''actualització no es revoquen quan s''utilitzen i poden ser usat múltiples vegades.
storedTokensReadableHelp=Habilitar/deshabilitar si els nous usuaris poden llegir els tokens emmagatzemats. Això assigna el rol ''broker.read-token''.
revokeRefreshTokenHelp=Si està activat els tokens d'actualització només poden usar-se una vegada. En un altre cas els tokens d'actualització no es revoquen quan s'utilitzen i poden ser usat múltiples vegades.
storedTokensReadableHelp=Habilitar/deshabilitar si els nous usuaris poden llegir els tokens emmagatzemats. Això assigna el rol 'broker.read-token'.
none=cap
sslType.all=totes les peticions
type=Tipus
httpPostBindingResponse=HTTP-POST enllaç de resposta
issuer=Emissor
seconds=Segons
editUsernameHelp=Si està habilitat, el nom d''usuari és editable, altrament és de només lectura.
editUsernameHelp=Si està habilitat, el nom d'usuari és editable, altrament és de només lectura.
id=ID
accountThemeHelp=Selecciona el tema per a les pàgines de gestió del compte d''usuari.
accountThemeHelp=Selecciona el tema per a les pàgines de gestió del compte d'usuari.
fullScopeAllowedHelp=Permet deshabilitar totes les restriccions.
canonicalizationHelp=Mètode de canonicalització per a les signatures XML.
sessions=Sessions
includeAuthnStatement=Incloure AuthnStatement
jsonType.tooltip=El tipus de JSON que hauria de fer-se servir per omplir la petició de JSON en el token. long, int, boolean i String són valors vàlids.
multivalued.tooltip=Indica si l''atribut suporta múltiples valors. Si està habilitat, la llista de tots els valors d''aquest atribut es fixarà com a reclamació. Si està deshabilitat, només el primer valor serà fixat com a reclamació.
multivalued.tooltip=Indica si l'atribut suporta múltiples valors. Si està habilitat, la llista de tots els valors d'aquest atribut es fixarà com a reclamació. Si està deshabilitat, només el primer valor serà fixat com a reclamació.
enableStartTLS=Habilitar StartTLS
enableStartTls=Habilitar StartTLS
addIdPMapper=Afegeix assignador de proveïdor d''identitat
trustEmail=Confiar en l''email
addIdPMapper=Afegeix assignador de proveïdor d'identitat
trustEmail=Confiar en l'email
jsonType.label=Tipus JSON de reclamació
fullScopeAllowed=Permet tots els àmbits
push=Push
homeURL=URL inicial
masterSamlProcessingUrlHelp=Si està configurada, aquesta URL es fara servir per a cada enllaç al proveïdor del servei del consumidor d''assercions i serveis de desconnexió únics. Pot ser sobreescrit de forma individual per a cada enllaç i servei en el punt final de configuració fina de SAML.
usermodel.attr.label=Atribut d''usuari
masterSamlProcessingUrlHelp=Si està configurada, aquesta URL es fara servir per a cada enllaç al proveïdor del servei del consumidor d'assercions i serveis de desconnexió únics. Pot ser sobreescrit de forma individual per a cada enllaç i servei en el punt final de configuració fina de SAML.
usermodel.attr.label=Atribut d'usuari
claimJsonType=El tipus de JSON que hauria de fer-se servir per omplir la petició de JSON en el token. long, int, boolean i String són valors vàlids
forceAuthenticationHelp=Indica si el proveïdor d''identitat ha d'autenticar en presentar directament les credencials en lloc de dependre d''un context de seguretat previ.
forceAuthenticationHelp=Indica si el proveïdor d'identitat ha d'autenticar en presentar directament les credencials en lloc de dependre d'un context de seguretat previ.
testClusterAvailability=Provar disponibilitat del clúster
forceNameIdFormat=Forçar format NameID
rememberMeHelpText=Mostra la casella de selecció en la pàgina d''inici de sessió per a permetre a l''usuari estar connectat entre reinicis del navegador fins que la sessió expiri.
rememberMeHelpText=Mostra la casella de selecció en la pàgina d'inici de sessió per a permetre a l'usuari estar connectat entre reinicis del navegador fins que la sessió expiri.
sslType.external=peticions externes
multiValued=Indica si l''atribut suporta múltiples valors. Si està habilitat, la llista de tots els valors d''aquest atribut es fixarà com a reclamació. Si està deshabilitat, només el primer valor serà fixat com a reclamació.
multiValued=Indica si l'atribut suporta múltiples valors. Si està habilitat, la llista de tots els valors d'aquest atribut es fixarà com a reclamació. Si està deshabilitat, només el primer valor serà fixat com a reclamació.
addRole=Afegir rol
ssoServiceUrl=URL de servei de connexió únic (SSO)
clients=Clients
clientName=Nom
userRegistration=Registre d''usuari
userRegistration=Registre d'usuari
save=Desar
wantAuthnRequestsSignedHelp=Indica si el proveïdor d''identitat espera rebre signades les AuthnRequest.
wantAuthnRequestsSignedHelp=Indica si el proveïdor d'identitat espera rebre signades les AuthnRequest.
login=login
enabled=Habilitat
maxDeltaTimeSeconds=Reinici del comptador d''errors
maxDeltaTimeSeconds=Reinici del comptador d'errors
keyPassword=Contrasenya de la clau
backchannelLogoutHelp=Does the external IDP support backchannel logout?
SSOSessionIdle=Sessions SSO inactives
ssoServiceUrlHelp=L''URL que s''ha de fer servir per enviar peticions d''autenticació (SAML AuthnRequest).
trustEmailHelp=Si està habilitat, l''email rebut d''aquest proveïdor no es verificarà encara que la verificació estigui habilitada per al domini.
ssoServiceUrlHelp=L'URL que s'ha de fer servir per enviar peticions d'autenticació (SAML AuthnRequest).
trustEmailHelp=Si està habilitat, l'email rebut d'aquest proveïdor no es verificarà encara que la verificació estigui habilitada per al domini.
supportedLocales=Idiomes suportats
maxFailureWaitSecondsHelp=Temps màxim que un usuari queda bloquejat.
issuerHelp=L''identificador de l''emissor per a l''emissor de la resposta. Si no s''indica, no es realitzarà cap validació.
issuerHelp=L'identificador de l'emissor per a l'emissor de la resposta. Si no s'indica, no es realitzarà cap validació.
titleSessions=Sessions
clientNameHelp=Indica el nom visible del client. Per exemple ''My Client''. També suporta claus per valors localitzats. Per exemple: ${my_client}
maxDeltaTimeSecondsHelp=Quan s''ha de reiniciar el comptador d''errors?
adminURLHelp=URL a la interfície d''administració del client. Fixa aquest valor si el client suporta l''adaptador de REST. Aquesta API REST permet al servidor d''autenticació enviar al client polítiques de revocació i altres tasques administratives. Normalment es fixa a l''URL base del client.
clientNameHelp=Indica el nom visible del client. Per exemple 'My Client'. També suporta claus per valors localitzats. Per exemple: ${my_client}
maxDeltaTimeSecondsHelp=Quan s'ha de reiniciar el comptador d'errors?
adminURLHelp=URL a la interfície d'administració del client. Fixa aquest valor si el client suporta l'adaptador de REST. Aquesta API REST permet al servidor d'autenticació enviar al client polítiques de revocació i altres tasques administratives. Normalment es fixa a l'URL base del client.
contentSecurityPolicy=Content-Security-Policy
rootUrl=URL arrel
rootURL=URL arrel afegida a les URL relatives
storePasswordHelp=Contrasenya per accedir a l''arxiu
storePasswordHelp=Contrasenya per accedir a l'arxiu
frontchannelLogoutHelp=Quan està activat, la desconnexió requereix una redirecció del navegador cap al client. Quan no està activat, el servidor realitza una invovación de desconnexió en segon pla.
clientLoginTimeout=Temps màxim d''autenticació
nodeReRegistrationTimeoutHelp=Indica el màxim interval de temps perquè els nodes del clúster registrats es tornin a registrar. Si el node del clúster no envia una petició de re-registre a Keycloak dins d''aquest interval, serà desregistrat de Keycloak
logoutServicePostBindingURLHelp=URL d''enllaç SAML POST per a la desconnexió única del client. Pots deixar-ho en blanc si estàs fent servir un enllaç diferent.
registrationEmailAsUsername=Email com a nom d''usuari
clientLoginTimeout=Temps màxim d'autenticació
nodeReRegistrationTimeoutHelp=Indica el màxim interval de temps perquè els nodes del clúster registrats es tornin a registrar. Si el node del clúster no envia una petició de re-registre a Keycloak dins d'aquest interval, serà desregistrat de Keycloak
logoutServicePostBindingURLHelp=URL d'enllaç SAML POST per a la desconnexió única del client. Pots deixar-ho en blanc si estàs fent servir un enllaç diferent.
registrationEmailAsUsername=Email com a nom d'usuari
scopes=Àmbits
signDocumentsHelp=Hauria el domini de signar els documents SAML?
requireSslHelp=És HTTP obligatori? ''cap'' significa que HTTPS no és obligatori per cap direcicón IP de client, ''peticions externes'' indica que localhost i les adreces IP privades poden accedir sense HTTPS, ''totes les peticions'' vol dir que HTTPS és obligatori per a totes les adreces IP.
userInfoUrlHelp=L''URL d''informació d''usuari. Opcional.
includeAuthnStatementHelp=Hauria d''incloure''s una declaració especificant el mètode i la marca de temps en la resposta d''inici de sessió?
requireSslHelp=És HTTP obligatori? 'cap' significa que HTTPS no és obligatori per cap direcicón IP de client, 'peticions externes' indica que localhost i les adreces IP privades poden accedir sense HTTPS, 'totes les peticions' vol dir que HTTPS és obligatori per a totes les adreces IP.
userInfoUrlHelp=L'URL d'informació d'usuari. Opcional.
includeAuthnStatementHelp=Hauria d'incloure's una declaració especificant el mètode i la marca de temps en la resposta d'inici de sessió?
kc.realm.name=Domini
download=Descarrega
protocol=Protocol
@ -210,26 +210,26 @@ create=Crea
clientSecret=Secret de Client
from=Des de
httpPostBindingAuthnRequest=HTTP-POST per AuthnRequest
includeInAccessToken.label=Afegir al token d''accés
adminURL=URL d''administració
includeInAccessToken.label=Afegir al token d'accés
adminURL=URL d'administració
settings=Ajustos
failureFactorHelp=Indica quants errors es permeten abans que es dispari una espera.
minutes=Minuts
storeTokensHelp=Habilitar/deshabilitar si els tokens han de ser emmagatzemats després d''autenticar als usuaris.
singleLogoutServiceUrlHelp=L''URL que ha de fer-se servir per enviar peticions de desconnexió.
userSession.modelNote.tooltip=Nom de la nota emmagatzemada en la sessió d''usuari dins del mapa UserSessionModel.note
clientsClientTypeHelp=''OpenID connect'' permet als clients verificar la identitat de l''usuari final basat en l''autenticació realitzada per un servidor d''autorització. ''SAML'' habilita l''autenticació i autorització d''escenaris basats en web incloent cross-domain i single sign-on (SSO) i utilitza tokens de seguretat que contenen afirmacions per passar informació.
storeTokensHelp=Habilitar/deshabilitar si els tokens han de ser emmagatzemats després d'autenticar als usuaris.
singleLogoutServiceUrlHelp=L'URL que ha de fer-se servir per enviar peticions de desconnexió.
userSession.modelNote.tooltip=Nom de la nota emmagatzemada en la sessió d'usuari dins del mapa UserSessionModel.note
clientsClientTypeHelp='OpenID connect' permet als clients verificar la identitat de l'usuari final basat en l'autenticació realitzada per un servidor d'autorització. 'SAML' habilita l'autenticació i autorització d'escenaris basats en web incloent cross-domain i single sign-on (SSO) i utilitza tokens de seguretat que contenen afirmacions per passar informació.
storeTokens=Emmagatzemar tokens
includeInIdToken.label=Afegir al token d''ID
webOriginsHelp=Orígens CORS permesos. Per permetre tots els orígens d''URIs de redirecció vàlides afegeix ''+''. Per permetre tots els orígens afegeix ''*''.
includeInIdToken.label=Afegir al token d'ID
webOriginsHelp=Orígens CORS permesos. Per permetre tots els orígens d'URIs de redirecció vàlides afegeix '+'. Per permetre tots els orígens afegeix '*'.
emailThemeHelp=Selecciona el tema per als correus electrònics que són enviats pel servidor.
logoutUrl=URL de desconnexió
canonicalization=Mètode de canonicalització
storedTokensReadable=Tokens emmagatzemats llegibles
SSOSessionMax=Temps màxim sessió SSO
minimumQuickLoginWaitSecondsHelp=Quant de temps s''ha d''esperar després d''un error en un intent ràpid d''identificació
minimumQuickLoginWaitSecondsHelp=Quant de temps s'ha d'esperar després d'un error en un intent ràpid d'identificació
mappers=Assignadors
waitIncrementSeconds=Increment d''espera
waitIncrementSeconds=Increment d'espera
usermodel.prop.label=Propietat
name-id-format=Format de NameID
addNode=Afegir Node
@ -240,34 +240,34 @@ selectRole.label=Selecciona rol
prompts.consent=consentiment
enableSSL=Habilitar SSL
general=General
failureFactor=Nombre màxim d''errors d''inici de sessió
failureFactor=Nombre màxim d'errors d'inici de sessió
signAssertions=Signar assercions
adminTheme=Tema de consola d''administració
adminTheme=Tema de consola d'administració
alias=Àlies
tokens=Tokens
encryptAssertionsHelp=Haurien de xifrar-se les afirmacions SAML amb la clau pública del client fent servir AES?
clientSecretHelp=El secret del client registrat amb el proveïdor d''identitat.
clientSecretHelp=El secret del client registrat amb el proveïdor d'identitat.
validateSignatures=Habilitar/deshabilitar la validació de signatura en respostes SAML.
on=Activat
descriptionHelp=Indica la descripció del client. Per exemple ''My Client for TimeSheets''. També suporta claus per a valors localitzats. Per exemple\: ${my_client_description}
logoutUrlHelp=Punt de tancament de sessió per utilitzar en la desconnexió d''usuaris des d''un proveïdor d''identitat (IDP) extern.
descriptionHelp=Indica la descripció del client. Per exemple 'My Client for TimeSheets'. També suporta claus per a valors localitzats. Per exemple\: ${my_client_description}
logoutUrlHelp=Punt de tancament de sessió per utilitzar en la desconnexió d'usuaris des d'un proveïdor d'identitat (IDP) extern.
times.seconds=Segons
clear=Neteja
serviceAccount=Permetre autenticar aquest client contra Keycloak i rebre un token d''accés dedicat per a aquest client.
serviceAccount=Permetre autenticar aquest client contra Keycloak i rebre un token d'accés dedicat per a aquest client.
assertionConsumerServiceRedirectBindingURL=Assertion Consumer Service Redirect Binding URL
loginThemeHelp=Selecciona el tema per a les pàgines d''inici de sessió, OTP, permisos, registre i recordatori de contrasenya.
signatureAlgorithm=L''algorisme de signatura usat per signar els documents.
loginThemeHelp=Selecciona el tema per a les pàgines d'inici de sessió, OTP, permisos, registre i recordatori de contrasenya.
signatureAlgorithm=L'algorisme de signatura usat per signar els documents.
multivalued.label=Valors múltiples
accountTheme=Tema de compte
forceAuthentication=Forçar autenticació
clustering=Clustering
rememberMe=Mantenir connectat
category=Categoria
usermodel.prop.tooltip=Nom del mètode de propietat en la interfície UserModel. Per exemple, un valor de ''email'' faria referència al mètode UserModel.getEmail().
usermodel.prop.tooltip=Nom del mètode de propietat en la interfície UserModel. Per exemple, un valor de 'email' faria referència al mètode UserModel.getEmail().
times.days=Dies
user=Usuari
registeredClusterNodes=Registrar nodes de clúster
selectRole.tooltip=Introdueix el rol a la caixa de text de l''esquerra, o fes clic a aquest botó per navegar i buscar el rol que vols.
selectRole.tooltip=Introdueix el rol a la caixa de text de l'esquerra, o fes clic a aquest botó per navegar i buscar el rol que vols.
deleteConfirm_other=Esteu segur de voler suprimir aquests grups?
persistent=Persistent
cancel=Cancel·la

View File

@ -1,10 +1,10 @@
bruteForceDetection=Détection des attaques par force brute
sslType.all=Toutes les requêtes
themes=Thèmes
editUsernameHelp=Si actif, le champ du nom de l''utilisateur est modifiable.
editUsernameHelp=Si actif, le champ du nom de l'utilisateur est modifiable.
seconds=Secondes
password=Mot de passe
waitIncrementSecondsHelp=Quand le seuil des erreurs est atteint, combien de temps l''utilisateur est-il bloqué ?
waitIncrementSecondsHelp=Quand le seuil des erreurs est atteint, combien de temps l'utilisateur est-il bloqué ?
accountThemeHelp=Sélectionnez le thème pour la gestion des comptes.
events=Évènements
sessions=Sessions
@ -14,65 +14,65 @@ enableStartTls=Activer StartTLS
push=Appuyer
defaultLocale=Locale par défaut
htmlDisplayName=Nom d'affichage HTML
rememberMeHelpText=Affiche une case à cocher sur la page de connexion pour permettre aux utilisateurs de rester connectés entre deux redémarrages de leur navigateur, jusqu''à expiration de la session.
rememberMeHelpText=Affiche une case à cocher sur la page de connexion pour permettre aux utilisateurs de rester connectés entre deux redémarrages de leur navigateur, jusqu'à expiration de la session.
sslType.external=Les requêtes externes
securityDefences=Mesures de sécurité
realmSettings=Configurations du domaine
duplicateEmailsHelpText=Autorise plusieurs utilisateurs à avoir la même adresse de courriel. Changer cette configuration va vider le cache. Il est recommandé de mettre à jour manuellement les contraintes sur le courriel dans la base de données après la désactivation du support des doublons.
clients=Clients
accessTokenLifespanHelp=Durée maximale avant que le jeton d''accès n''expire. Cette valeur devrait être relativement plus petite que la durée d''inactivité (timeout) du SSO.
userRegistration=Enregistrement d''utilisateur
accessTokenLifespanHelp=Durée maximale avant que le jeton d'accès n'expire. Cette valeur devrait être relativement plus petite que la durée d'inactivité (timeout) du SSO.
userRegistration=Enregistrement d'utilisateur
save=Sauver
enabled=Actif
revocation=Révocation
maxDeltaTimeSeconds=Durée de remise à zéro des erreurs
SSOSessionIdle=Sessions SSO inactives
loginActionTimeout=Durée d''inactivité des actions de connexions
loginActionTimeout=Durée d'inactivité des actions de connexions
endpoints=Endpoints
supportedLocales=Locales supportées
maxFailureWaitSecondsHelp=Durée maximale de blocage du compte utilisateur
clientLoginTimeoutHelp=Durée maximale qu''a un client pour finir le protocole du jeton d''accès. Devrait être de l''ordre de la minute (1 min).
clientLoginTimeoutHelp=Durée maximale qu'a un client pour finir le protocole du jeton d'accès. Devrait être de l'ordre de la minute (1 min).
titleSessions=Sessions
ssoSessionIdle=Temps d''inactivité autorisé avant expiration de la session. Les jetons et les sessions navigateurs sont invalidées quand la session expire.
ssoSessionIdle=Temps d'inactivité autorisé avant expiration de la session. Les jetons et les sessions navigateurs sont invalidées quand la session expire.
xFrameOptions=X-Frame-Options
maxDeltaTimeSecondsHelp=Quand les erreurs sont-elles remises à zéro ?
contentSecurityPolicy=Content-Security-Policy
clientLoginTimeout=Durée d''inactivité de connexion (timeout)
clientLoginTimeout=Durée d'inactivité de connexion (timeout)
userFederation=Regroupement Utilisateur
emailTheme=Thème pour le courriel
times.minutes=Minutes
registrationEmailAsUsername=Courriel comme nom d''utilisateur
requireSslHelp=Niveau d''exigence HTTPS \: ''aucun'' signifie que le HTTPS n''est requis pour aucune adresse IP cliente. ''les requêtes externes'' signifie que localhost et les adresses IP privées peuvent accéder sans HTTPS. ''toutes les requêtes'' signifie que le protocole HTTPS est obligatoire pour toutes les adresses IP.
registrationEmailAsUsername=Courriel comme nom d'utilisateur
requireSslHelp=Niveau d'exigence HTTPS \: 'aucun' signifie que le HTTPS n'est requis pour aucune adresse IP cliente. 'les requêtes externes' signifie que localhost et les adresses IP privées peuvent accéder sans HTTPS. 'toutes les requêtes' signifie que le protocole HTTPS est obligatoire pour toutes les adresses IP.
notBefore=Pas avant
editUsername=Éditez le nom de l''utilisateur
editUsername=Éditez le nom de l'utilisateur
titleEvents=Évènements
requireSsl=SSL requis
impersonate=Usurper l''identité
impersonate=Usurper l'identité
host=Hôte
from=De
add=Ajouter
failureFactorHelp=Nombre d''erreurs avant de déclencher le temps d''attente.
failureFactorHelp=Nombre d'erreurs avant de déclencher le temps d'attente.
minutes=Minutes
userRegistrationHelpText=Activer/désactiver la page d''enregistrement. Un lien pour l''enregistrement sera visible sur la page de connexion.
minimumQuickLoginWaitSeconds=Durée minimale d''attente entre deux connexions
userRegistrationHelpText=Activer/désactiver la page d'enregistrement. Un lien pour l'enregistrement sera visible sur la page de connexion.
minimumQuickLoginWaitSeconds=Durée minimale d'attente entre deux connexions
port=Port
adminThemeHelp=Sélectionnez le thème de la UI d''administration.
adminThemeHelp=Sélectionnez le thème de la UI d'administration.
emailThemeHelp=Sélectionnez le thème pour les courriels envoyées par le serveur.
clientList=Clients
SSOSessionMax=Maximum de sessions SSO
minimumQuickLoginWaitSecondsHelp=Durée d''attente demandée après une erreur entre deux connexions.
waitIncrementSeconds=Temps d''attente
minimumQuickLoginWaitSecondsHelp=Durée d'attente demandée après une erreur entre deux connexions.
waitIncrementSeconds=Temps d'attente
certificate=Certificat
title=Authentification
verifyEmail=Vérification du courriel
enableSSL=Activer SSL/TLS
general=Général
failureFactor=Nombre maximal d''erreurs de connexion
failureFactor=Nombre maximal d'erreurs de connexion
loginTheme=Thème de connexion
adminTheme=Thème de la UI d''administration
accessTokenLifespan=Durée de vie du jeton d''accès
loginWithEmailHelpText=Autorise l''utilisateur à s''authentifier avec son adresse de courriel.
loginTimeout=Durée d''inactivité de connexion
adminTheme=Thème de la UI d'administration
accessTokenLifespan=Durée de vie du jeton d'accès
loginWithEmailHelpText=Autorise l'utilisateur à s'authentifier avec son adresse de courriel.
loginTimeout=Durée d'inactivité de connexion
tokens=Jetons
setToNow=Mettre à maintenant
authentication=Authentification
@ -80,34 +80,34 @@ times.seconds=Secondes
headers=En-têtes
hours=Heures
clear=Effacer
maxFailureWaitSeconds=Durée maximale d''attente
maxFailureWaitSeconds=Durée maximale d'attente
configure=Configurer
userName=Nom de l''utilisateur
loginThemeHelp=Sélectionnez le thème pour les pages de connexion, de mot de passe à usage unique basé sur le temps, des droits, de l''enregistrement, et du mot passe oublié.
userName=Nom de l'utilisateur
loginThemeHelp=Sélectionnez le thème pour les pages de connexion, de mot de passe à usage unique basé sur le temps, des droits, de l'enregistrement, et du mot passe oublié.
manage=Gérer
ssoSessionMax=Durée maximale avant que la session n''expire. Les jetons et les sessions navigateurs sont invalidées quand la session expire.
ssoSessionMax=Durée maximale avant que la session n'expire. Les jetons et les sessions navigateurs sont invalidées quand la session expire.
accountTheme=Thème du compte
times.hours=Heures
rememberMe=Se souvenir de moi
titleAuthentication=Authentification
times.days=Jours
username=Nom de l''utilisateur
username=Nom de l'utilisateur
passwordPoliciesHelp.regexPattern=Le mot de passe doit correspondre à une ou plusieurs des expressions régulières Java définies.
passwordPoliciesHelp.length=Le nombre minimum de caractères requis pour le mot de passe.
passwordPoliciesHelp.passwordBlacklist=Empêche l''utilisation d''un mot de passe présent dans la liste noire.
passwordPoliciesHelp.passwordBlacklist=Empêche l'utilisation d'un mot de passe présent dans la liste noire.
passwordPoliciesHelp.digits=Le nombre de caractères numériques requis dans le mot de passe.
passwordPoliciesHelp.notUsername=Le mot de passe ne peut pas être identique au nom d''utilisateur.
passwordPoliciesHelp.notContainsUsername=Le mot de passe ne peut pas contenir le nom d''utilisateur.
passwordPoliciesHelp.passwordHistory=Empêche un mot de passe récent d''être réutilisé.
passwordPoliciesHelp.notEmail=Le mot de passe ne peut pas être identique à l''adresse mail de l''utilisateur.
passwordPoliciesHelp.notUsername=Le mot de passe ne peut pas être identique au nom d'utilisateur.
passwordPoliciesHelp.notContainsUsername=Le mot de passe ne peut pas contenir le nom d'utilisateur.
passwordPoliciesHelp.passwordHistory=Empêche un mot de passe récent d'être réutilisé.
passwordPoliciesHelp.notEmail=Le mot de passe ne peut pas être identique à l'adresse mail de l'utilisateur.
passwordPoliciesHelp.maxLength=Le nombre maximum de caractères autorisés dans le mot de passe.
passwordPoliciesHelp.maxAuthAge=L''âge maximum d''une authentification avec laquelle un mot de passe peut être modifié sans réauthentification.
passwordPoliciesHelp.maxAuthAge=L'âge maximum d'une authentification avec laquelle un mot de passe peut être modifié sans réauthentification.
passwordPoliciesHelp.specialChars=Le nombre de caractères spéciaux requis dans le mot de passe.
passwordPoliciesHelp.lowerCase=Le nombre de lettres minuscules requises dans le mot de passe.
passwordPoliciesHelp.forceExpiredPasswordChange=Le nombre de jours pendant lesquels le mot de passe est valide avant qu''un nouveau mot de passe ne soit requis.
passwordPoliciesHelp.forceExpiredPasswordChange=Le nombre de jours pendant lesquels le mot de passe est valide avant qu'un nouveau mot de passe ne soit requis.
passwordPoliciesHelp.upperCase=Le nombre de lettres majuscules requises dans le mot de passe.
passwordPoliciesHelp.hashIterations=Le nombre de fois qu''un mot de passe est haché avant stockage ou vérification. Le nombre de rondes par défaut selon l'algorithme est : -1 pour Argon2, 210 000 pour pbkdf2-sha512, 600 000 pour pbkdf2-sha256 et 1 300 000 pour pbkdf2.
passwordPoliciesHelp.hashAlgorithm=Applique un algorithme de hachage aux mots de passe, afin qu''ils ne soient pas stockés en texte clair.
passwordPoliciesHelp.hashIterations=Le nombre de fois qu'un mot de passe est haché avant stockage ou vérification. Le nombre de rondes par défaut selon l'algorithme est : -1 pour Argon2, 210 000 pour pbkdf2-sha512, 600 000 pour pbkdf2-sha256 et 1 300 000 pour pbkdf2.
passwordPoliciesHelp.hashAlgorithm=Applique un algorithme de hachage aux mots de passe, afin qu'ils ne soient pas stockés en texte clair.
trusted-hosts.label=Hôtes de confiance
deletedSuccess=Fournisseur supprimé avec succès.
cancel=Annuler

View File

@ -31,6 +31,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
@Mojo(name = "verify-theme", defaultPhase = LifecyclePhase.INSTALL, threadSafe = true)
public class ThemeVerifierMojo extends AbstractMojo {
@ -38,6 +39,9 @@ public class ThemeVerifierMojo extends AbstractMojo {
@Parameter(defaultValue = "${project}", readonly = true)
private MavenProject mavenProject;
@Parameter(defaultValue = "false", readonly = true)
private boolean validateMessageFormatQuotes;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
Iterator<Resource> resources = mavenProject.getResources().iterator();
@ -48,11 +52,11 @@ public class ThemeVerifierMojo extends AbstractMojo {
Iterator<File> fileIterator = FileUtils.iterateFiles(dir, MessagePropertiesFilter.INSTANCE, DirectoryFileFilter.INSTANCE);
while (fileIterator.hasNext()) {
File file = fileIterator.next();
messages.addAll(new VerifyMessageProperties(file).verify());
messages.addAll(new VerifyMessageProperties(file).withValidateMessageFormatQuotes(validateMessageFormatQuotes).verify());
}
}
if (!messages.isEmpty()) {
throw new MojoFailureException("Validation errors: " + messages);
throw new MojoFailureException("Validation errors: " + messages.stream().collect(Collectors.joining(System.lineSeparator())));
}
}
}

View File

@ -38,6 +38,7 @@ public class VerifyMessageProperties {
private final File file;
private List<String> messages;
private boolean validateMessageFormatQuotes;
public VerifyMessageProperties(File file) {
this.file = file;
@ -50,12 +51,61 @@ public class VerifyMessageProperties {
verifyNoDuplicateKeys(contents);
verifySafeHtml();
verifyProblematicBlanks();
if (validateMessageFormatQuotes) {
verifyMessageFormatQuotes();
} else {
verifyNotMessageFormatQuotes();
}
} catch (IOException e) {
throw new MojoExecutionException("Can not read file " + file, e);
}
return messages;
}
private final static Pattern DOUBLE_SINGLE_QUOTES = Pattern.compile("''");
private void verifyNotMessageFormatQuotes() {
PropertyResourceBundle bundle;
try (FileInputStream fis = new FileInputStream(file)) {
bundle = new PropertyResourceBundle(fis);
} catch (IOException e) {
throw new RuntimeException("unable to read file " + file, e);
}
bundle.getKeys().asIterator().forEachRemaining(key -> {
String value = bundle.getString(key);
if (DOUBLE_SINGLE_QUOTES.matcher(value).find()) {
messages.add("Double single quotes are not allowed in message formats as they might be shown in frontends as-is in '" + key + "' for file " + file + ": " + value);
}
});
}
private static final Pattern SINGLE_QUOTE_MIDDLE = Pattern.compile("[^']'[^']");
private static final Pattern SINGLE_QUOTE_END = Pattern.compile("[^']'$");
private static final Pattern SINGLE_QUOTE_START = Pattern.compile("^'[^']");
private void verifyMessageFormatQuotes() {
PropertyResourceBundle bundle;
try (FileInputStream fis = new FileInputStream(file)) {
bundle = new PropertyResourceBundle(fis);
} catch (IOException e) {
throw new RuntimeException("unable to read file " + file, e);
}
bundle.getKeys().asIterator().forEachRemaining(key -> {
String value = bundle.getString(key);
if (SINGLE_QUOTE_START.matcher(value).find()
|| SINGLE_QUOTE_MIDDLE.matcher(value).find()
|| SINGLE_QUOTE_END.matcher(value).find()) {
messages.add("Single quotes are not allowed in message formats due to unexpected behaviors in '" + key + "' for file " + file + ": " + value);
}
});
}
PolicyFactory POLICY_SOME_HTML = new org.owasp.html.HtmlPolicyBuilder()
.allowElements(
"br", "p", "strong", "b"
@ -135,7 +185,7 @@ public class VerifyMessageProperties {
String value = bundle.getString(key);
if (value.contains(" ")) {
messages.add("Duplicate blanks in " + key + " for file " + file + ": '" + value);
messages.add("Duplicate blanks in '" + key + "' for file " + file + ": '" + value);
}
if (value.startsWith(" ")) {
@ -224,4 +274,10 @@ public class VerifyMessageProperties {
messages.add("Duplicate keys in file '" + file.getAbsolutePath() + "': " + duplicateKeys);
}
}
public VerifyMessageProperties withValidateMessageFormatQuotes(boolean validateMessageFormatQuotes) {
this.validateMessageFormatQuotes = validateMessageFormatQuotes;
return this;
}
}

View File

@ -51,6 +51,25 @@ class VerifyMessagePropertiesTest {
MatcherAssert.assertThat(verify, Matchers.hasItem(Matchers.containsString("Didn't find anchor tag")));
}
@Test
void verifyNoSingleQuoteForMessageFormat() throws MojoExecutionException {
List<String> verify = getFile("singleQuotesStart_en.properties").withValidateMessageFormatQuotes(true).verify();
MatcherAssert.assertThat(verify, Matchers.hasItem(Matchers.containsString("Single quotes are not allowed")));
verify = getFile("singleQuotesMiddle_en.properties").withValidateMessageFormatQuotes(true).verify();
MatcherAssert.assertThat(verify, Matchers.hasItem(Matchers.containsString("Single quotes are not allowed")));
verify = getFile("singleQuotesEnd_en.properties").withValidateMessageFormatQuotes(true).verify();
MatcherAssert.assertThat(verify, Matchers.hasItem(Matchers.containsString("Single quotes are not allowed")));
}
@Test
void verifyNoDoubleQuoteForUIMessages() throws MojoExecutionException {
List<String> verify = getFile("doubleSingleQuotes_en.properties").withValidateMessageFormatQuotes(false).verify();
MatcherAssert.assertThat(verify, Matchers.hasItem(Matchers.containsString("Double single quotes are not allowed")));
}
@Test
void verifyNoExtraBlanks() throws MojoExecutionException {
List<String> verify = getFile("blanks_en.properties").verify();

View File

@ -0,0 +1,17 @@
#
# Copyright 2025 Red Hat, Inc. and/or its affiliates
# and other contributors as indicated by the @author tags.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
key=test''test

View File

@ -0,0 +1,17 @@
#
# Copyright 2025 Red Hat, Inc. and/or its affiliates
# and other contributors as indicated by the @author tags.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
key='value

View File

@ -0,0 +1,17 @@
#
# Copyright 2025 Red Hat, Inc. and/or its affiliates
# and other contributors as indicated by the @author tags.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
key=va'lue

View File

@ -0,0 +1,17 @@
#
# Copyright 2025 Red Hat, Inc. and/or its affiliates
# and other contributors as indicated by the @author tags.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
key='value

View File

@ -381,7 +381,7 @@ public class OrganizationInvitationLinkTest extends AbstractOrganizationTest {
assertThat(text, Matchers.containsString(("<a href=\"" + link + "\" rel=\"nofollow\">Link to join the organization</a></p>")));
assertThat(text, Matchers.containsString(("Link to join the organization")));
assertThat(text, Matchers.containsString(("This link will expire within 12 hours")));
assertThat(text, Matchers.containsString(("<p>If you dont want to join the organization, just ignore this message.</p>")));
assertThat(text, Matchers.containsString(("<p>If you don&#39;t want to join the organization, just ignore this message.</p>")));
String orgToken = UriUtils.parseQueryParameters(link, false).values().stream().map(strings -> strings.get(0)).findFirst().orElse(null);
Assert.assertNotNull(orgToken);

View File

@ -44,6 +44,9 @@
<goals>
<goal>verify-theme</goal>
</goals>
<configuration>
<validateMessageFormatQuotes>true</validateMessageFormatQuotes>
</configuration>
</execution>
</executions>
</plugin>

View File

@ -61,13 +61,13 @@ gender=Gènere
birthday=Natalici
zoneinfo=Fus horari
gssDelegationCredential=Credencial de delegació GSS
profileScopeConsentText=Perfil d'usuari
profileScopeConsentText=Perfil dusuari
emailScopeConsentText=Adreça de correu electrònic
addressScopeConsentText=Adreça
phoneScopeConsentText=Número de telèfon
offlineAccessScopeConsentText=Accés fora de línia
samlRoleListScopeConsentText=Els meus rols
rolesScopeConsentText=Rols d'usuari
rolesScopeConsentText=Rols dusuari
role_admin=Administrador
role_realm-admin=Administrador del domini
role_create-realm=Crea un domini
@ -354,6 +354,6 @@ error-user-attribute-read-only=El camp {0} és només de lectura.
error-username-invalid-character=El nom d''usuari conté un caràcter no vàlid.
error-person-name-invalid-character=El nom conté un caràcter no vàlid.
organizationScopeConsentText=Organització
invalidPasswordNotContainsUsernameMessage=La contrasenya no és vàlida: no pot contenir el nom d'usuari.
accountManagementBaseThemeCannotBeUsedDirectly=El tema de compte base només conté traduccions per a la consola de compte. Per a mostrar la consola de compte, heu d'establir el pare del vostre tema a un altre tema de compte, o proveir el vostre fitxer intdex.ftl.
federatedIdentityBoundOrganization=No podeu suprimir l'enllaç a un proveïdor d'identitat sense una organització.
invalidPasswordNotContainsUsernameMessage=La contrasenya no és vàlida: no pot contenir el nom dusuari.
accountManagementBaseThemeCannotBeUsedDirectly=El tema de compte base només conté traduccions per a la consola de compte. Per a mostrar la consola de compte, heu destablir el pare del vostre tema a un altre tema de compte, o proveir el vostre fitxer intdex.ftl.
federatedIdentityBoundOrganization=No podeu suprimir lenllaç a un proveïdor didentitat sense una organització.

View File

@ -204,7 +204,7 @@ backTo={0}-ზე დაბრუნება
backToApplication=&laquo; აპლიკაციაზე დაბრუნება
grantedPersonalInfo=მინიჭებული პირადი ინფორმაცია
totpStep1=დააყენეთ ერთ-ერთი ამ აპლიკაციათაგანი თქვენს მობილურზე:
totpStep3=შეიყვანეთ ერთჯერადი კოდი, რომელიც აპლიკაციამ მოგაწოდათ და დააწკაპუნეთ ღილაკზე 'შენახვა', რომ მორგება დაასრულოთ.
totpStep3=შეიყვანეთ ერთჯერადი კოდი, რომელიც აპლიკაციამ მოგაწოდათ და დააწკაპუნეთ ღილაკზე ''შენახვა'', რომ მორგება დაასრულოთ.
totpUnableToScan=ვერ დაასკანერეთ?
totpManualStep2=გახსენით აპლიკაცია და შეიყვანეთ კოდი:
irreversibleAction=ეს ქმედება შეუქცევადია
@ -269,7 +269,7 @@ mobileSetupStep2=გახსენით აპლიკაცია და დ
#Authenticator - SMS Code setup
authenticatorSMSCodeSetupTitle=SMS კოდის მორგება
chooseYourCountry=აირჩიეთ თქვენი ქვეყანა
mobileSetupStep3=შეიყვანეთ ერთჯერადი კოდი, რომელიც აპლიკაციამ მოგაწოდათ და დააწკაპუნეთ ღილაკზე 'შენახვა', რომ მორგება დაასრულოთ.
mobileSetupStep3=შეიყვანეთ ერთჯერადი კოდი, რომელიც აპლიკაციამ მოგაწოდათ და დააწკაპუნეთ ღილაკზე ''შენახვა'', რომ მორგება დაასრულოთ.
scanBarCode=გნებავთ ბარკოდის დასკანირება?
enterBarCode=შეიყვანეთ ერთჯერადი კოდი
sendVerficationCode=გადამოწმების კოდის გაგზავნა

View File

@ -126,7 +126,7 @@ configureAuthenticators=Ingestelde authenticators
mobile=Mobiel
totpStep1=Installeer een van de volgende applicaties op je mobiele apparaat:
totpStep2=Open de applicatie en scan de barcode:
totpStep3=Voer de eenmalige code in gegenereerd door de applicatie en tik op 'Opslaan' om de installatie te voltooien.
totpStep3=Voer de eenmalige code in gegenereerd door de applicatie en tik op ''Opslaan'' om de installatie te voltooien.
totpStep3DeviceName=Geef je apparaat een naam om je OTP-apparaten overzichtelijk te houden.
totpManualStep2=Open de applicatie en voer de sleutel in:
totpManualStep3=Gebruik de volgende configuratiewaarden als de applicatie deze instellingen toestaat:

View File

@ -61,5 +61,5 @@ error-invalid-date=L''atribut {0} és una data invàlida.
error-user-attribute-read-only=L''atribut {0} és només de lectura.
error-username-invalid-character={0} conté un caràcter no vàlid.
error-person-name-invalid-character={0} conté un caràcter no vàlid.
invalidPasswordNotContainsUsernameMessage=La contrasenya no és vàlida: no pot contenir el nom d'usuari.
invalidPasswordNotContainsUsernameMessage=La contrasenya no és vàlida: no pot contenir el nom d''usuari.
error-invalid-multivalued-size=L''atribut {0} ha de tenir almenys {1} i com a molt {2} valor(s).

View File

@ -11,17 +11,17 @@ ldapErrorEditModeMandatory=La modalità di modifica è obbligatoria
ldapErrorInvalidCustomFilter=Il filtro LDAP configurato non inizia con "(" o non finisce con ")".
ldapErrorConnectionTimeoutNotNumber=Il timeout della connessione deve essere un numero
ldapErrorReadTimeoutNotNumber=Il timeout della lettura deve essere un numero
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Non è possibile preservare l'ereditarietà del gruppo e contemporaneamente utilizzare l'appartenenza UID.
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Non è possibile preservare l''ereditarietà del gruppo e contemporaneamente utilizzare l''appartenenza UID.
ldapErrorCantWriteOnlyForReadOnlyLdap=Non è possibile impostare la sola scrittura quando la modalità del provider LDAP non è WRITABLE
ldapErrorCantWriteOnlyAndReadOnly=Non è possibile impostare contemporaneamente sola lettura e sola scrittura
ldapErrorCantEnableStartTlsAndConnectionPooling=Non è possibile abilitare sia StartTLS che il pooling delle connessioni.
ldapErrorCantEnableUnsyncedAndImportOff=Non è possibile disattivare l'importazione degli utenti quando la modalità del provider LDAP è UNSYNCED
clientRootURLIllegalSchemeError=L'URL di root usa un protocollo vietato
ldapErrorCantEnableUnsyncedAndImportOff=Non è possibile disattivare l''importazione degli utenti quando la modalità del provider LDAP è UNSYNCED
clientRootURLIllegalSchemeError=L''URL di root usa un protocollo vietato
clientRedirectURIsIllegalSchemeError=Un URI di redirect usa un protocollo vietato
clientBaseURLInvalid=L'URL di base non è valido
clientRootURLInvalid=L'URL di root non è valido
clientBaseURLInvalid=L''URL di base non è valido
clientRootURLInvalid=L''URL di root non è valido
clientRedirectURIsInvalid=Un URI di redirect non è valido
backchannelLogoutUrlIsInvalid=L'URL di disconnessione non è valido
backchannelLogoutUrlIsInvalid=L''URL di disconnessione non è valido
pairwiseMalformedClientRedirectURI=Il client contiene un URI di redirect non valido.
pairwiseClientRedirectURIsMissingHost=Gli URI di redirect del client devono contenere un host valido.
pairwiseClientRedirectURIsMultipleHosts=Senza un Sector Identifier URI, gli URI di reindirizzamento del client non devono contenere più host.
@ -38,19 +38,19 @@ error-username-invalid-character={0} contiene caratteri non validi.
error-person-name-invalid-character={0} contiene caratteri non validi.
error-invalid-multivalued-size=Il campo {0} deve avere almeno {1} e al massimo {2} {2,choice,0#valori|1#valore|1<valori}.
invalidPasswordMaxLengthMessage=Password non valida: la lunghezza massima è {0}.
clientRootURLFragmentError=L'URL di root non deve contenere un URL fragment
ldapErrorMissingClientId=Se non si usa la mappatura dei ruoli del realm è obbligatorio fornire l'ID del client.
clientRootURLFragmentError=L''URL di root non deve contenere un URL fragment
ldapErrorMissingClientId=Se non si usa la mappatura dei ruoli del realm è obbligatorio fornire l''ID del client.
invalidPasswordMinLowerCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri minuscoli.
error-invalid-email=Indirizzo email non valido.
invalidPasswordNotEmailMessage=Password non valida: non può essere uguale all''email.
invalidPasswordMinSpecialCharsMessage=Password non valida: deve contenere almeno {0} caratteri speciali.
clientRedirectURIsFragmentError=Gli URI di reindirizzamento non devono contenere un URI fragment
ldapErrorValidatePasswordPolicyAvailableForWritableOnly=Il criterio di convalida della password è applicabile solo con la modalità di modifica WRITABLE
clientBaseURLIllegalSchemeError=L'URL di base usa un protocollo vietato
clientBaseURLIllegalSchemeError=L''URL di base usa un protocollo vietato
error-invalid-value=Valore non valido.
error-user-attribute-required=Si prega di specificare il campo {0}.
ldapErrorMissingGroupsPathGroup=Il percorso del gruppo non esiste: creare prima il gruppo con il percorso desiderato
backchannelLogoutUrlIllegalSchemeError=L'URL di disconnessione usa un protocollo vietato
backchannelLogoutUrlIllegalSchemeError=L''URL di disconnessione usa un protocollo vietato
error-invalid-number=Numero non valido.
pairwiseRedirectURIsMismatch=Gli URI di redirect del client non corrispondono agli URI di redirect del Sector Identifier URI.
error-invalid-length=Il campo {0} deve avere una lunghezza compresa fra {1} e {2}.

View File

@ -48,14 +48,14 @@ emailVerificationBodyCodeHtml=<p>Verifiqueu el vostre correu electrònic introdu
orgInviteBodyPersonalized=Hola, {5} {6}.\n\nHeu estat convidat a unir-vos a l''organització «{3}». Feu clic a l''enllaç següent per a unir-vos-hi.\n\n{0}\n\nAquest enllaç caducarà el {4}.\n\nSi no us voleu unir a l''organització, podeu ignorar aquest missatge.
orgInviteBodyHtml=<p>Heu estat convidat a unir-vos a l'organització «{3}». Feu clic a l'enllaç següent per a unir-vos-hi.</p><p><a href="{0}">Enllaç per a unir-se a l'organització</a></p><p>Aquest enllaç caducarà el {4}.</p><p>Si no us voleu unir a l'organització, podeu ignorar aquest missatge.</p>
orgInviteBodyHtml=<p>Heu estat convidat a unir-vos a l''organització «{3}». Feu clic a l''enllaç següent per a unir-vos-hi.</p><p><a href="{0}">Enllaç per a unir-se a l''organització</a></p><p>Aquest enllaç caducarà el {4}.</p><p>Si no us voleu unir a l''organització, podeu ignorar aquest missatge.</p>
orgInviteBody=Heu estat convidat a unir-vos a l''organització «{3}». Feu clic a l''enllaç següent per a unir-vos-hi.\n\n{0}\n\nAquest enllaç caducarà el {4}.\n\nSi no us voleu unir a l''organització, podeu ignorar aquest missatge.
orgInviteBodyPersonalizedHtml=<p>Hola, {5} {6}</p><p>Heu estat convidat a unir-vos a l''organització «{3}». Feu clic a l''enllaç següent per a unir-vos-hi.</p><p><a href="{0}">Enllaç per a unir-se a l''organització</a></p><p>Aquest enllaç caducarà el {4}.</p><p>Si no us voleu unir a l''organització, podeu ignorar aquest missatge.</p>
orgInviteSubject=Invitació per a unir-vos a l''organització {0}
eventUpdateCredentialSubject=Actualització de la credencial
eventRemoveCredentialSubject=Supressió de la credencial
eventUserDisabledByTemporaryLockoutSubject=L''usuari és inhabilitat per un bloqueig temporal
eventUserDisabledByPermanentLockoutSubject=L'usuari és inhabilitat per un bloqueig permanent
eventUserDisabledByPermanentLockoutSubject=L''usuari és inhabilitat per un bloqueig permanent
eventUserDisabledByTemporaryLockoutBody=El vostre usuari ha estat inhabilitat temporalment per múltiples atempts fallits en {0}. Contacteu amb un administrador si ho necessiteu.
eventUpdateCredentialBody=S''han canviat les vostres credencials {0} el {1} des de {2}. Si no en sabeu res, contacteu amb l''administrador.
eventUserDisabledByTemporaryLockoutHtml=<p>El vostre usuari ha estat inhabilitat temporalment per múltiples intents fallits en {0}. Contacteu amb un administrador si ho necessiteu.</p>

View File

@ -103,13 +103,13 @@ birthday=Natalici
zoneinfo=Fus horari
gssDelegationCredential=Credencial de delegació GSS
logoutOtherSessions=Surt d''altres dispositius
profileScopeConsentText=Perfil d'usuari
profileScopeConsentText=Perfil d''usuari
emailScopeConsentText=Adreça de correu electrònic
addressScopeConsentText=Adreça
phoneScopeConsentText=Número de telèfon
offlineAccessScopeConsentText=Accés fora de línia
samlRoleListScopeConsentText=Els meus rols
rolesScopeConsentText=Rols d'usuari
rolesScopeConsentText=Rols d''usuari
restartLoginTooltip=Torna a iniciar l''entrada
loginTotpIntro=Heu de configurar un generador de contrasenyes d''un sol ús per a accedir a aquest compte
loginTotpStep1=Instal·leu una de les aplicacions següents al vostre mòbil:
@ -454,21 +454,21 @@ authenticateStrong=Es requereix autenticació forta per a continuar
deleteCredentialMessage=Voleu suprimir {0}?
showPassword=Mostra la contrasenya
organizationScopeConsentText=Organització
confirmOverrideIdpContinue=Sí, sobreescriu l'enllaç amb el compte actual
confirmOverrideIdpContinue=Sí, sobreescriu l''enllaç amb el compte actual
passkey-login-title=Entrada amb Passkey
passkey-available-authenticators=Passkeys disponibles
passkey-unsupported-browser-text=Aquest navegador no implementa Passkey. Proveu-ho amb un altre, o contacteu amb l'administrador.
passkey-unsupported-browser-text=Aquest navegador no implementa Passkey. Proveu-ho amb un altre, o contacteu amb l''administrador.
passkey-doAuthenticate=Entra amb Passkey
passkey-createdAt-label=Creada
passkey-autofill-select=Seleccioneu la vostra passkey
organization.confirm-membership.title=Esteu a punt d'unir-vos a l'organització ${kc.org.name}
organization.confirm-membership.title=Esteu a punt d''unir-vos a l''organització ${kc.org.name}
organization.member.register.title=Creeu un compte per a unir-vos a l''organització ${kc.org.name}
organization.select=Seleccioneu una organització per a continuar:
deleteCredentialTitle=Suprimeix {0}
invalidPasswordNotContainsUsernameMessage=La contrasenya no és vàlida: no pot contenir el nom d'usuari.
identityProviderMissingCodeOrErrorMessage=Manca el paràmetre o codi d'error a la resposta del proveïdor d'identitat.
invalidPasswordNotContainsUsernameMessage=La contrasenya no és vàlida: no pot contenir el nom d''usuari.
identityProviderMissingCodeOrErrorMessage=Manca el paràmetre o codi d''error a la resposta del proveïdor d''identitat.
hidePassword=Amaga la contrasenya
identityProviderLogoutFailure=Error de sortida de l'IdP SAML
identityProviderLogoutFailure=Error de sortida de l''IdP SAML
emailVerifiedAlreadyMessage=La vostra adreça de correu electrònic ja està verificada.
requiredAction.webauthn-register=Registre de WebAuthn
webauthn-registration-init-label-prompt=Inseriu l''etiqueta de la vostra passkey registrada
@ -478,5 +478,5 @@ auth-x509-client-username-form-display-name=Certificat X509
webauthn-registration-init-label=Passkey (Etiqueta per defecte)
auth-x509-client-username-form-help-text=Entra amb un certificat de client X509.
error-invalid-multivalued-size=L''atribut {0} ha de tenir almenys {1} i com a molt {2} valor(s).
confirmOverrideIdpTitle=L'enllaç de l'agent ja existeix
notMemberOfOrganization=L'usuari no és membre de l'organització {0}
confirmOverrideIdpTitle=L''enllaç de l''agent ja existeix
notMemberOfOrganization=L''usuari no és membre de l''organització {0}

View File

@ -352,7 +352,7 @@ invalidPasswordGenericMessage=Contraseña no válida: la nueva contraseña no co
successLogout=Está desconectado
standardFlowDisabledMessage=El cliente no puede iniciar el inicio de sesión del navegador con el tipo de respuesta dado. El flujo estándar está deshabilitado para el cliente.
implicitFlowDisabledMessage=El cliente no puede iniciar el inicio de sesión del navegador con el tipo de respuesta dado. El flujo implícito está deshabilitado para el cliente.
cookieNotFoundMessage=Cookie de reinicio de inicio de sesión no encontrado. Puede que haya expirado, que haya sido eliminado o que las cookies estén deshabilitadas en tu navegador. Si las cookies están deshabilitadas, habilítalas. Haz clic en 'Volver a la aplicación' para iniciar sesión nuevamente.
cookieNotFoundMessage=Cookie de reinicio de inicio de sesión no encontrado. Puede que haya expirado, que haya sido eliminado o que las cookies estén deshabilitadas en tu navegador. Si las cookies están deshabilitadas, habilítalas. Haz clic en ''Volver a la aplicación'' para iniciar sesión nuevamente.
insufficientLevelOfAuthentication=El nivel de autenticación solicitado no se ha cumplido.
identityProviderMissingCodeOrErrorMessage=Código faltante o parámetro de error en respuesta del proveedor de identidad.
identityProviderInvalidSignatureMessage=Firma no válida en respuesta del proveedor de identidad.

View File

@ -185,7 +185,7 @@ identity-provider-login-label=ან შედით მეთოდით
idp-username-password-form-help-text=მიაბით თქვენი ანგარიში სისტემაში შესვლით.
frontchannel-logout.message=მიმდინარეობს თქვენი გასვლა შემდეგი აპებიდან
logoutConfirmTitle=მიმდინარეობს გასვლა
finalDeletionConfirmation=თუ თქვენს ანგარიშს წაშლით, მას ვეღარ აღადგენთ. ანგარიშის შესანარჩუნებლად დააწკაპუნეთ ღილაკზე 'გაუქმება'.
finalDeletionConfirmation=თუ თქვენს ანგარიშს წაშლით, მას ვეღარ აღადგენთ. ანგარიშის შესანარჩუნებლად დააწკაპუნეთ ღილაკზე ''გაუქმება''.
deleteAccountConfirm=ანგარიშის ინფორმაციის წაშლა
loggingOutImmediately=დაუყოვნებლივ გაგდებას
userDeletedSuccessfully=მომხმარებელი წარმატებით წაიშალა
@ -298,7 +298,7 @@ loginChooseAuthenticator=აირჩიეთ შესვლის მეთ
oauthGrantRequest=ანიჭებთ ამ წვდომის უფლებებს?
inResource=სად
oauth2DeviceVerificationTitle=მოწყობილობის შესვლა
verifyOAuth2DeviceUserCode=შეიყვანეთ კოდი, რომელიც თქვენმა მოწყობილობამ მოგაწოდათ და დააწკაპუნეთ ღილაკზე 'გადაცემა'
verifyOAuth2DeviceUserCode=შეიყვანეთ კოდი, რომელიც თქვენმა მოწყობილობამ მოგაწოდათ და დააწკაპუნეთ ღილაკზე ''გადაცემა''
oauth2DeviceInvalidUserCodeMessage=არასწორი კოდი. თავიდან სცადეთ.
oauth2DeviceVerificationCompleteHeader=მოწყობილობის შესვლა წარმატებულია
emailVerifyInstruction1=ელფოსტა ინსტრუქციებით, რომ გადავამოწმოთ თქვენი ელფოსტის მისამართი, გაიგზავნა მისამართზე {0}.
@ -403,7 +403,7 @@ couldNotSendAuthenticationRequestMessage=ვერ გავაგზავნ
invalidAccessCodeMessage=არასწორი წვდომის კოდი.
sessionNotActiveMessage=სესია აქტიური არაა.
invalidCodeMessage=აღმოჩენილია შეცდომა. შედით თავიდან თქვენი აპლიკაციით.
cookieNotFoundMessage=გადატვირთვის შესვლის ქუქი აღმოჩენილი არაა. შეიძლება, მისი ვადა ამოიწურა. ასევე, შეიძლება, ის წაშალეს, ან ბრაუზერში ქუქიები გათიშულია. თუ ქუქიები გათიშულია, ჩართეთ ისინი. დააწკაპუნეთ 'აპლიკაციაზე დაბრუნებაზე', რომ თავიდან შეხვიდეთ.
cookieNotFoundMessage=გადატვირთვის შესვლის ქუქი აღმოჩენილი არაა. შეიძლება, მისი ვადა ამოიწურა. ასევე, შეიძლება, ის წაშალეს, ან ბრაუზერში ქუქიები გათიშულია. თუ ქუქიები გათიშულია, ჩართეთ ისინი. დააწკაპუნეთ ''აპლიკაციაზე დაბრუნებაზე'', რომ თავიდან შეხვიდეთ.
insufficientLevelOfAuthentication=ავთენტიკაციის მოთხოვნილი დონე არ დაკმაყოფილებულა.
identityProviderUnexpectedErrorMessage=მოულოდნელი შეცდომა იდენტიფიკატორის მომწოდებლით ავთენტიკაციისას
identityProviderMissingStateMessage=იდენტიფიკატორის მომწოდებლის პასუხში მდგომარეობის პარამეტრი მითითებული არაა.

View File

@ -20,7 +20,7 @@ errorDeletingAccount=Onverwachte fout bij het verwijderen van account
deletingAccountForbidden=U heeft onvoldoende rechten om dit account te verwijderen, neem contact op met beheer.
kerberosNotConfigured=Kerberos is niet geconfigureerd
kerberosNotConfiguredTitle=Kerberos is niet geconfigureerd
bypassKerberosDetail=U bent niet ingelogd via Kerberos of uw browser kan niet met Kerberos inloggen. Klik op 'doorgaan' om via een andere manier in te loggen
bypassKerberosDetail=U bent niet ingelogd via Kerberos of uw browser kan niet met Kerberos inloggen. Klik op ''doorgaan'' om via een andere manier in te loggen
kerberosNotSetUp=Kerberos is onjuist geconfigureerd. U kunt niet inloggen.
registerTitle=Registreer
loginAccountTitle=Inloggen met uw account
@ -89,7 +89,7 @@ rolesScopeConsentText=Gebruikersrollen
loginTotpIntro=U bent verplicht om tweefactor-authenticatie in te stellen om dit account te kunnen gebruiken
loginTotpStep1=Installeer een van de volgende applicaties op uw mobile telefoon:
loginTotpStep2=Open de applicatie en scan de barcode:
loginTotpStep3=Voer de eenmalige code die door de applicatie is aangeleverd in en klik op 'Verzenden' om de setup te voltooien.
loginTotpStep3=Voer de eenmalige code die door de applicatie is aangeleverd in en klik op ''Verzenden'' om de setup te voltooien.
loginTotpManualStep2=Open de applicatie en voer de sleutel in:
loginTotpManualStep3=Gebruik de volgende configuratiewaarden (als de applicatie dit ondersteund):
loginTotpUnableToScan=Lukt het scannen niet?

View File

@ -13,7 +13,7 @@ doClickHere=Нажмите сюда
doImpersonate=Имперсонализироваться
kerberosNotConfigured=Kerberos не сконфигурирован
kerberosNotConfiguredTitle=Kerberos не сконфигурирован
bypassKerberosDetail=Либо вы не вошли в систему с помощью Kerberos, либо ваш браузер не настроен для входа в систему Kerberos. Пожалуйста, нажмите кнопку 'Продолжить' для входа в с помощью других средств
bypassKerberosDetail=Либо вы не вошли в систему с помощью Kerberos, либо ваш браузер не настроен для входа в систему Kerberos. Пожалуйста, нажмите кнопку ''Продолжить'' для входа в с помощью других средств
kerberosNotSetUp=Kerberos не настроен. Вы не можете войти.
registerWithTitle=Зарегистрироваться с {0}
registerWithTitleHtml={0}

View File

@ -267,7 +267,7 @@ permissionRequestion=Permission Requestion
permission=Permission
shares=share(s)
notBeingShared=This resource is not being shared.
notHaveAnyResource=You don't have any resources
notHaveAnyResource=You dont have any resources
noResourcesSharedWithYou=There are no resources shared with you
havePermissionRequestsWaitingForApproval=You have {0} permission request(s) waiting for approval.
clickHereForDetails=Click here for details.

View File

@ -2,10 +2,10 @@ emailVerificationSubject=Verify email
emailVerificationBody=Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {3}.\n\nIf you didn''t create this account, just ignore this message.
emailVerificationBodyHtml=<p>Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address</p><p><a href="{0}">Link to e-mail address verification</a></p><p>This link will expire within {3}.</p><p>If you didn''t create this account, just ignore this message.</p>
orgInviteSubject=Invitation to join the {0} organization
orgInviteBody=You were invited to join the "{3}" organization. Click the link below to join.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you don't want to join the organization, just ignore this message.
orgInviteBodyHtml=<p>You were invited to join the {3} organization. Click the link below to join. </p><p><a href="{0}">Link to join the organization</a></p><p>This link will expire within {4}.</p><p>If you don't want to join the organization, just ignore this message.</p>
orgInviteBodyPersonalized=Hi, "{5}" "{6}".\n\n You were invited to join the "{3}" organization. Click the link below to join.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you don't want to join the organization, just ignore this message.
orgInviteBodyPersonalizedHtml=<p>Hi, {5} {6}.</p><p>You were invited to join the {3} organization. Click the link below to join. </p><p><a href="{0}">Link to join the organization</a></p><p>This link will expire within {4}.</p><p>If you don't want to join the organization, just ignore this message.</p>
orgInviteBody=You were invited to join the "{3}" organization. Click the link below to join.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you don''t want to join the organization, just ignore this message.
orgInviteBodyHtml=<p>You were invited to join the {3} organization. Click the link below to join. </p><p><a href="{0}">Link to join the organization</a></p><p>This link will expire within {4}.</p><p>If you don''t want to join the organization, just ignore this message.</p>
orgInviteBodyPersonalized=Hi, "{5}" "{6}".\n\n You were invited to join the "{3}" organization. Click the link below to join.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you don''t want to join the organization, just ignore this message.
orgInviteBodyPersonalizedHtml=<p>Hi, {5} {6}.</p><p>You were invited to join the {3} organization. Click the link below to join. </p><p><a href="{0}">Link to join the organization</a></p><p>This link will expire within {4}.</p><p>If you don''t want to join the organization, just ignore this message.</p>
emailUpdateConfirmationSubject=Verify new email
emailUpdateConfirmationBody=To update your {2} account with email address {1}, click the link below\n\n{0}\n\nThis link will expire within {3}.\n\nIf you don''t want to proceed with this modification, just ignore this message.
emailUpdateConfirmationBodyHtml=<p>To update your {2} account with email address {1}, click the link below</p><p><a href="{0}">{0}</a></p><p>This link will expire within {3}.</p><p>If you don''t want to proceed with this modification, just ignore this message.</p>

View File

@ -176,7 +176,7 @@ emailLinkIdpTitle=Link {0}
emailLinkIdp1=An email with instructions to link {0} account {1} with your {2} account has been sent to you.
emailLinkIdp2=Haven''t received a verification code in your email?
emailLinkIdp3=to re-send the email.
emailLinkIdp4=If you already verified the email in different browser
emailLinkIdp4=If you already verified the email in a different browser
emailLinkIdp5=to continue.
backToLogin=&laquo; Back to Login
@ -453,7 +453,7 @@ auth-recovery-code-prompt=Recovery code #{0}
auth-recovery-code-header=Login with a recovery authentication code
recovery-codes-error-invalid=Invalid recovery authentication code
recovery-code-config-header=Recovery Authentication Codes
recovery-code-config-warning-title=These recovery codes won't appear again after leaving this page
recovery-code-config-warning-title=These recovery codes won''t appear again after leaving this page
recovery-code-config-warning-message=Make sure to print, download, or copy them to a password manager and keep them save. Canceling this setup will remove these recovery codes from your account.
recovery-codes-print=Print
recovery-codes-download=Download