diff options
author | 2020-05-22 16:57:43 +0200 | |
---|---|---|
committer | 2020-05-22 16:57:43 +0200 | |
commit | a005ba8e29ff68950bc6b9c93898ddb34fb25d60 (patch) | |
tree | 24e4051efc3e19c04095aa0ce3695c5c7dd43110 /account | |
download | tyrian-keycloak-theme-a005ba8e29ff68950bc6b9c93898ddb34fb25d60.tar.gz tyrian-keycloak-theme-a005ba8e29ff68950bc6b9c93898ddb34fb25d60.tar.bz2 tyrian-keycloak-theme-a005ba8e29ff68950bc6b9c93898ddb34fb25d60.zip |
Initial version of the theme
Please note that this is currently still a WIP
and likely to change a lot in future.
Signed-off-by: Max Magorsch <arzano@gentoo.org>
Diffstat (limited to 'account')
28 files changed, 4329 insertions, 0 deletions
diff --git a/account/account.ftl b/account/account.ftl new file mode 100644 index 0000000..9254b96 --- /dev/null +++ b/account/account.ftl @@ -0,0 +1,70 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='account' bodyClass='user'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("editAccountHtmlTitle")}</h2> + </div> + <div class="col-md-2 subtitle"> + <span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span> + </div> + </div> + + <form action="${url.accountUrl}" class="form-horizontal" method="post"> + + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + + <#if !realm.registrationEmailAsUsername> + <div class="form-group ${messagesPerField.printIfExists('username','has-error')}"> + <div class="col-sm-2 col-md-2"> + <label for="username" class="control-label">${msg("username")}</label> <#if realm.editUsernameAllowed><span class="required">*</span></#if> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="text" class="form-control" id="username" name="username" <#if !realm.editUsernameAllowed>disabled="disabled"</#if> value="${(account.username!'')}"/> + </div> + </div> + </#if> + + <div class="form-group ${messagesPerField.printIfExists('email','has-error')}"> + <div class="col-sm-2 col-md-2"> + <label for="email" class="control-label">${msg("email")}</label> <span class="required">*</span> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="text" class="form-control" id="email" name="email" autofocus value="${(account.email!'')}"/> + </div> + </div> + + <div class="form-group ${messagesPerField.printIfExists('firstName','has-error')}"> + <div class="col-sm-2 col-md-2"> + <label for="firstName" class="control-label">${msg("firstName")}</label> <span class="required">*</span> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="text" class="form-control" id="firstName" name="firstName" value="${(account.firstName!'')}"/> + </div> + </div> + + <div class="form-group ${messagesPerField.printIfExists('lastName','has-error')}"> + <div class="col-sm-2 col-md-2"> + <label for="lastName" class="control-label">${msg("lastName")}</label> <span class="required">*</span> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="text" class="form-control" id="lastName" name="lastName" value="${(account.lastName!'')}"/> + </div> + </div> + + <div class="form-group"> + <div id="kc-form-buttons" class="col-md-offset-2 col-md-10 submit"> + <div class=""> + <#if url.referrerURI??><a href="${url.referrerURI}">${kcSanitize(msg("backToApplication")?no_esc)}</a></#if> + <button type="submit" class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="Save">${msg("doSave")}</button> + <button type="submit" class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="Cancel">${msg("doCancel")}</button> + </div> + </div> + </div> + </form> + +</@layout.mainLayout> diff --git a/account/applications.ftl b/account/applications.ftl new file mode 100644 index 0000000..a8edc38 --- /dev/null +++ b/account/applications.ftl @@ -0,0 +1,76 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='applications' bodyClass='applications'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("applicationsHtmlTitle")}</h2> + </div> + </div> + + <form action="${url.applicationsUrl}" method="post"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <input type="hidden" id="referrer" name="referrer" value="${stateChecker}"> + + <table class="table table-striped table-bordered"> + <thead> + <tr> + <td>${msg("application")}</td> + <td>${msg("availableRoles")}</td> + <td>${msg("grantedPermissions")}</td> + <td>${msg("additionalGrants")}</td> + <td>${msg("action")}</td> + </tr> + </thead> + + <tbody> + <#list applications.applications as application> + <tr> + <td> + <#if application.effectiveUrl?has_content><a href="${application.effectiveUrl}"></#if> + <#if application.client.name?has_content>${advancedMsg(application.client.name)}<#else>${application.client.clientId}</#if> + <#if application.effectiveUrl?has_content></a></#if> + </td> + + <td> + <#list application.realmRolesAvailable as role> + <#if role.description??>${advancedMsg(role.description)}<#else>${advancedMsg(role.name)}</#if> + <#if role_has_next>, </#if> + </#list> + <#list application.resourceRolesAvailable?keys as resource> + <#if application.realmRolesAvailable?has_content>, </#if> + <#list application.resourceRolesAvailable[resource] as clientRole> + <#if clientRole.roleDescription??>${advancedMsg(clientRole.roleDescription)}<#else>${advancedMsg(clientRole.roleName)}</#if> + ${msg("inResource")} <strong><#if clientRole.clientName??>${advancedMsg(clientRole.clientName)}<#else>${clientRole.clientId}</#if></strong> + <#if clientRole_has_next>, </#if> + </#list> + </#list> + </td> + + <td> + <#if application.client.consentRequired> + <#list application.clientScopesGranted as claim> + ${advancedMsg(claim)}<#if claim_has_next>, </#if> + </#list> + <#else> + <strong>${msg("fullAccess")}</strong> + </#if> + </td> + + <td> + <#list application.additionalGrants as grant> + ${advancedMsg(grant)}<#if grant_has_next>, </#if> + </#list> + </td> + + <td> + <#if (application.client.consentRequired && application.clientScopesGranted?has_content) || application.additionalGrants?has_content> + <button type='submit' class='${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!}' id='revoke-${application.client.clientId}' name='clientId' value="${application.client.id}">${msg("revoke")}</button> + </#if> + </td> + </tr> + </#list> + </tbody> + </table> + </form> + +</@layout.mainLayout>
\ No newline at end of file diff --git a/account/federatedIdentity.ftl b/account/federatedIdentity.ftl new file mode 100644 index 0000000..c2eb769 --- /dev/null +++ b/account/federatedIdentity.ftl @@ -0,0 +1,42 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='social' bodyClass='social'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("federatedIdentitiesHtmlTitle")}</h2> + </div> + </div> + + <div id="federated-identities"> + <#list federatedIdentity.identities as identity> + <div class="row margin-bottom"> + <div class="col-sm-2 col-md-2"> + <label for="${identity.providerId!}" class="control-label">${identity.displayName!}</label> + </div> + <div class="col-sm-5 col-md-5"> + <input disabled="true" class="form-control" value="${identity.userName!}"> + </div> + <div class="col-sm-5 col-md-5"> + <#if identity.connected> + <#if federatedIdentity.removeLinkPossible> + <form action="${url.socialUrl}" method="post" class="form-inline"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <input type="hidden" id="action" name="action" value="remove"> + <input type="hidden" id="providerId" name="providerId" value="${identity.providerId!}"> + <button id="remove-link-${identity.providerId!}" class="btn btn-default">${msg("doRemove")}</button> + </form> + </#if> + <#else> + <form action="${url.socialUrl}" method="post" class="form-inline"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <input type="hidden" id="action" name="action" value="add"> + <input type="hidden" id="providerId" name="providerId" value="${identity.providerId!}"> + <button id="add-link-${identity.providerId!}" class="btn btn-default">${msg("doAdd")}</button> + </form> + </#if> + </div> + </div> + </#list> + </div> + +</@layout.mainLayout> diff --git a/account/log.ftl b/account/log.ftl new file mode 100644 index 0000000..29046cf --- /dev/null +++ b/account/log.ftl @@ -0,0 +1,35 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='log' bodyClass='log'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("accountLogHtmlTitle")}</h2> + </div> + </div> + + <table class="table table-striped table-bordered"> + <thead> + <tr> + <td>${msg("date")}</td> + <td>${msg("event")}</td> + <td>${msg("ip")}</td> + <td>${msg("client")}</td> + <td>${msg("details")}</td> + </tr> + </thead> + + <tbody> + <#list log.events as event> + <tr> + <td>${event.date?datetime}</td> + <td>${event.event}</td> + <td>${event.ipAddress}</td> + <td>${event.client!}</td> + <td><#list event.details as detail>${detail.key} = ${detail.value} <#if detail_has_next>, </#if></#list></td> + </tr> + </#list> + </tbody> + + </table> + +</@layout.mainLayout>
\ No newline at end of file diff --git a/account/messages/messages_ca.properties b/account/messages/messages_ca.properties new file mode 100644 index 0000000..a1b8f91 --- /dev/null +++ b/account/messages/messages_ca.properties @@ -0,0 +1,147 @@ +doSave=Desa +doCancel=Cancel\u00B7la +doLogOutAllSessions=Desconnecta de totes les sessions +doRemove=Elimina +doAdd=Afegeix +doSignOut=Desconnectar + +editAccountHtmlTitle=Edita compte +federatedIdentitiesHtmlTitle=Identitats federades +accountLogHtmlTitle=Registre del compte +changePasswordHtmlTitle=Canvia contrasenya +sessionsHtmlTitle=Sessions +accountManagementTitle=Gesti\u00F3 de Compte Keycloak +authenticatorTitle=Autenticador +applicationsHtmlTitle=Aplicacions + +authenticatorCode=Codi d''un sol \u00FAs +email=Email +firstName=Nom +givenName=Nom de pila +fullName=Nom complet +lastName=Cognoms +familyName=Cognom +password=Contrasenya +passwordConfirm=Confirma la contrasenya +passwordNew=Nova contrasenya +username=Usuari +address=Adre\u00E7a +street=Carrer +locality=Ciutat o Municipi +region=Estat, Prov\u00EDncia, o Regi\u00F3 +postal_code=Postal code +country=Pa\u00EDs +emailVerified=Email verificat +gssDelegationCredential=GSS Delegation Credential + +role_admin=Administrador +role_realm-admin=Administrador del domini +role_create-realm=Crear domini +role_view-realm=Veure domini +role_view-users=Veure usuaris +role_view-applications=Veure aplicacions +role_view-clients=Veure clients +role_view-events=Veure events +role_view-identity-providers=Veure prove\u00EFdors d''identitat +role_manage-realm=Gestionar domini +role_manage-users=Gestinar usuaris +role_manage-applications=Gestionar aplicacions +role_manage-identity-providers=Gestionar prove\u00EFdors d''identitat +role_manage-clients=Gestionar clients +role_manage-events=Gestionar events +role_view-profile=Veure perfil +role_manage-account=Gestionar compte +role_read-token=Llegir token +role_offline-access=Acc\u00E9s sense connexi\u00F3 +client_account=Compte +client_security-admin-console=Consola d''Administraci\u00F3 de Seguretat +client_realm-management=Gesti\u00F3 de domini +client_broker=Broker + + +requiredFields=Camps obligatoris +allFieldsRequired=Tots els camps obligatoris + +backToApplication=« Torna a l''aplicaci\u00F3 +backTo=Torna a {0} + +date=Data +event=Event +ip=IP +client=Client +clients=Clients +details=Detalls +started=Iniciat +lastAccess=\u00DAltim acc\u00E9s +expires=Expira +applications=Aplicacions + +account=Compte +federatedIdentity=Identitat federada +authenticator=Autenticador +sessions=Sessions +log=Registre + +application=Aplicaci\u00F3 +availablePermissions=Permisos disponibles +grantedPermissions=Permisos concedits +grantedPersonalInfo=Informaci\u00F3 personal concedida +additionalGrants=Permisos addicionals +action=Acci\u00F3 +inResource=a +fullAccess=Acc\u00E9s total +offlineToken=Codi d''autoritzaci\u00F3 offline +revoke=Revocar perm\u00EDs + +configureAuthenticators=Autenticadors configurats +mobile=M\u00F2bil +totpStep1=Instal\u00B7la <a href=\"https://freeotp.github.io/\" target=\"_blank\">FreeOTP</a> o Google Authenticator al teu tel\u00E8fon m\u00F2bil. Les dues aplicacions estan disponibles a <a href=\"https://play.google.com\">Google Play</a> i en l''App Store d''Apple. +totpStep2=Obre l''aplicaci\u00F3 i escaneja el codi o introdueix la clau. +totpStep3=Introdueix el codi \u00FAnic que et mostra l''aplicaci\u00F3 d''autenticaci\u00F3 i fes clic a Envia per finalitzar la configuraci\u00F3 + +missingUsernameMessage=Si us plau indica el teu usuari. +missingFirstNameMessage=Si us plau indica el nom. +invalidEmailMessage=Email no v\u00E0lid +missingLastNameMessage=Si us plau indica els teus cognoms. +missingEmailMessage=Si us plau indica l''email. +missingPasswordMessage=Si us plau indica la contrasenya. +notMatchPasswordMessage=Les contrasenyes no coincideixen. + +missingTotpMessage=Si us plau indica el teu codi d''autenticaci\u00F3 +invalidPasswordExistingMessage=La contrasenya actual no \u00E9s correcta. +invalidPasswordConfirmMessage=La confirmaci\u00F3 de contrasenya no coincideix. +invalidTotpMessage=El c\u00F3digo de autenticaci\u00F3n no es v\u00E1lido. + +usernameExistsMessage=L''usuari ja existeix +emailExistsMessage=L''email ja existeix + +readOnlyUserMessage=No pots actualitzar el teu usuari perqu\u00E8 el teu compte \u00E9s de nom\u00E9s lectura. +readOnlyPasswordMessage=No pots actualitzar la contrasenya perqu\u00E8 el teu compte \u00E9s de nom\u00E9s lectura. + +successTotpMessage=Aplicaci\u00F3 d''autenticaci\u00F3 m\u00F2bil configurada. +successTotpRemovedMessage=Aplicaci\u00F3 d''autenticaci\u00F3 m\u00F2bil eliminada. + +successGrantRevokedMessage=Perm\u00EDs revocat correctament + +accountUpdatedMessage=El teu compte s''ha actualitzat. +accountPasswordUpdatedMessage=La contrasenya s''ha actualitzat. + +missingIdentityProviderMessage=Prove\u00EFdor d''identitat no indicat. +invalidFederatedIdentityActionMessage=Acci\u00F3 no v\u00E0lida o no indicada. +identityProviderNotFoundMessage=No s''ha trobat un prove\u00EFdor d''identitat. +federatedIdentityLinkNotActiveMessage=Aquesta identitat ja no est\u00E0 activa +federatedIdentityRemovingLastProviderMessage=No pots eliminar l''\u00FAltima identitat federada perqu\u00E8 no tens fixada una contrasenya. +identityProviderRedirectErrorMessage=Error en la redirecci\u00F3 al prove\u00EFdor d''identitat +identityProviderRemovedMessage=Prove\u00EFdor d''identitat esborrat correctament. + +accountDisabledMessage=El compte est\u00E0 desactivada, contacteu amb l''administrador. + +accountTemporarilyDisabledMessage=El compte est\u00E0 temporalment desactivat, contacta amb l''administrador o intenta-ho de nou m\u00E9s tard. +invalidPasswordMinLengthMessage=Contrasenya incorrecta: longitud m\u00EDnima {0}. +invalidPasswordMinLowerCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres min\u00FAscules. +invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres num\u00E9ricos. +invalidPasswordMinUpperCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres maj\u00FAscules. +invalidPasswordMinSpecialCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} car\u00E0cters especials. +invalidPasswordNotUsernameMessage=Contrasenya incorrecta: no pot ser igual al nom d''usuari. +invalidPasswordRegexPatternMessage=Contrasenya incorrecta: no compleix l''expressi\u00F3 regular. +invalidPasswordHistoryMessage=Contrasenya incorrecta: no pot ser igual a cap de les \u00FAltimes {0} contrasenyes.
\ No newline at end of file diff --git a/account/messages/messages_de.properties b/account/messages/messages_de.properties new file mode 100644 index 0000000..0c8b087 --- /dev/null +++ b/account/messages/messages_de.properties @@ -0,0 +1,169 @@ +doSave=Speichern +doCancel=Abbrechen +doLogOutAllSessions=Alle Sitzungen abmelden +doRemove=Entfernen +doAdd=Hinzuf\u00FCgen +doSignOut=Abmelden + +editAccountHtmlTitle=Benutzerkonto bearbeiten +federatedIdentitiesHtmlTitle=F\u00F6derierte Identit\u00E4ten +accountLogHtmlTitle=Benutzerkonto Log +changePasswordHtmlTitle=Passwort \u00C4ndern +sessionsHtmlTitle=Sitzungen +accountManagementTitle=Keycloak Benutzerkontoverwaltung +authenticatorTitle=Mehrfachauthentifizierung +applicationsHtmlTitle=Applikationen + +authenticatorCode=One-time Code +email=E-Mail +firstName=Vorname +givenName=Vorname +fullName=Voller Name +lastName=Nachname +familyName=Nachname +password=Passwort +passwordConfirm=Passwort best\u00E4tigen +passwordNew=Neues Passwort +username=Benutzername +address=Adresse +street=Stra\u00DFe +region=Staat, Provinz, Region +postal_code=PLZ +locality=Stadt oder Ortschaft +country=Land +emailVerified=E-Mail verifiziert +gssDelegationCredential=GSS delegierte Berechtigung + +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Realm erstellen +role_view-realm=Realm ansehen +role_view-users=Benutzer ansehen +role_view-applications=Applikationen ansehen +role_view-clients=Clients ansehen +role_view-events=Events ansehen +role_view-identity-providers=Identity Provider ansehen +role_manage-realm=Realm verwalten +role_manage-users=Benutzer verwalten +role_manage-applications=Applikationen verwalten +role_manage-identity-providers=Identity Provider verwalten +role_manage-clients=Clients verwalten +role_manage-events=Events verwalten +role_view-profile=Profile ansehen +role_manage-account=Profile verwalten +role_manage-account-links=Profil-Links verwalten +role_read-token=Token lesen +role_offline-access=Offline-Zugriff +role_uma_authorization=Berechtigungen einholen +client_account=Clientkonto +client_security-admin-console=Security Adminkonsole +client_realm-management=Realm-Management +client_broker=Broker + + +requiredFields=Erforderliche Felder +allFieldsRequired=Alle Felder sind erforderlich + +backToApplication=« Zur\u00FCck zur Applikation +backTo=Zur\u00FCck zu {0} + +date=Datum +event=Ereignis +ip=IP +client=Client +clients=Clients +details=Details +started=Startdatum +lastAccess=Letzter Zugriff +expires=Ablaufdatum +applications=Applikationen + +account=Benutzerkonto +federatedIdentity=F\u00F6derierte Identit\u00E4t +authenticator=Mehrfachauthentifizierung +sessions=Sitzungen +log=Log + +application=Applikation +availablePermissions=verf\u00FCgbare Berechtigungen +grantedPermissions=gew\u00E4hrte Berechtigungen +grantedPersonalInfo=gew\u00E4hrte pers\u00F6nliche Informationen +additionalGrants=zus\u00E4tzliche Berechtigungen +action=Aktion +inResource=in +fullAccess=Vollzugriff +offlineToken=Offline-Token +revoke=Berechtigung widerrufen + +configureAuthenticators=Mehrfachauthentifizierung konfigurieren +mobile=Mobil +totpStep1=Installieren Sie eine der folgenden Applikationen auf Ihrem Smartphone: +totpStep2=\u00D6ffnen Sie die Applikation und scannen Sie den Barcode. +totpStep3=Geben Sie den von der Applikation generierten One-time Code ein und klicken Sie auf Speichern. + +totpManualStep2=\u00D6ffnen Sie die Applikation und geben Sie den folgenden Schl\u00FCssel ein. +totpManualStep3=Verwenden Sie die folgenden Konfigurationswerte, falls Sie diese f\u00FCr die Applikation anpassen k\u00F6nnen: +totpUnableToScan=Sie k\u00F6nnen den Barcode nicht scannen? +totpScanBarcode=Barcode scannen? + +totp.totp=zeitbasiert (time-based) +totp.hotp=z\u00E4hlerbasiert (counter-based) + +totpType=Typ +totpAlgorithm=Algorithmus +totpDigits=Ziffern +totpInterval=Intervall +totpCounter=Z\u00E4hler + +missingUsernameMessage=Bitte geben Sie einen Benutzernamen ein. +missingFirstNameMessage=Bitte geben Sie einen Vornamen ein. +invalidEmailMessage=Ung\u00FCltige E-Mail Adresse. +missingLastNameMessage=Bitte geben Sie einen Nachnamen ein. +missingEmailMessage=Bitte geben Sie eine E-Mail Adresse ein. +missingPasswordMessage=Bitte geben Sie ein Passwort ein. +notMatchPasswordMessage=Die Passw\u00F6rter sind nicht identisch. + +missingTotpMessage=Bitte geben Sie den One-time Code ein. +invalidPasswordExistingMessage=Das aktuelle Passwort ist ung\u00FCltig. +invalidPasswordConfirmMessage=Die Passwortbest\u00E4tigung ist nicht identisch. +invalidTotpMessage=Ung\u00FCltiger One-time Code. + +usernameExistsMessage=Der Benutzername existiert bereits. +emailExistsMessage=Die E-Mail-Adresse existiert bereits. + +readOnlyUserMessage=Sie k\u00F6nnen Ihr Benutzerkonto nicht \u00E4ndern, da es schreibgesch\u00FCtzt ist. +readOnlyUsernameMessage=Sie k\u00F6nnen Ihren Benutzernamen nicht \u00E4ndern, da er schreibgesch\u00FCtzt ist. +readOnlyPasswordMessage=Sie k\u00F6nnen Ihr Passwort nicht \u00E4ndern, da es schreibgesch\u00FCtzt ist. + +successTotpMessage=Mehrfachauthentifizierung erfolgreich konfiguriert. +successTotpRemovedMessage=Mehrfachauthentifizierung erfolgreich entfernt. + +successGrantRevokedMessage=Berechtigung erfolgreich widerrufen. + +accountUpdatedMessage=Ihr Benutzerkonto wurde aktualisiert. +accountPasswordUpdatedMessage=Ihr Passwort wurde aktualisiert. + +missingIdentityProviderMessage=Identity Provider nicht angegeben. +invalidFederatedIdentityActionMessage=Ung\u00FCltige oder fehlende Aktion. +identityProviderNotFoundMessage=Angegebener Identity Provider nicht gefunden. +federatedIdentityLinkNotActiveMessage=Diese Identit\u00E4t ist nicht mehr aktiv. +federatedIdentityRemovingLastProviderMessage=Sie k\u00F6nnen den letzten Eintrag nicht entfernen, da Sie kein Passwort haben. +identityProviderRedirectErrorMessage=Fehler bei der Weiterleitung zum Identity Provider. +identityProviderRemovedMessage=Identity Provider erfolgreich entfernt. +identityProviderAlreadyLinkedMessage=Die f\u00F6derierte Identit\u00E4t von {0} ist bereits einem anderen Benutzer zugewiesen. +staleCodeAccountMessage=Diese Seite ist nicht mehr g\u00FCltig, bitte versuchen Sie es noch einmal. +consentDenied=Einverst\u00E4ndnis verweigert. + +accountDisabledMessage=Ihr Benutzerkonto ist gesperrt, bitte kontaktieren Sie den Admin. + +accountTemporarilyDisabledMessage=Ihr Benutzerkonto ist tempor\u00E4r gesperrt, bitte kontaktieren Sie den Admin oder versuchen Sie es sp\u00E4ter noch einmal. +invalidPasswordMinLengthMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Zeichen lang sein. +invalidPasswordMinLowerCaseCharsMessage=Ung\u00FCltiges Passwort\: Es muss mindestens {0} Kleinbuchstaben beinhalten. +invalidPasswordMinDigitsMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Zahl(en) beinhalten. +invalidPasswordMinUpperCaseCharsMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Gro\u00DFbuchstaben beinhalten. +invalidPasswordMinSpecialCharsMessage=Ung\u00FCltiges Passwort: Es muss mindestens {0} Sonderzeichen beinhalten. +invalidPasswordNotUsernameMessage=Ung\u00FCltiges Passwort: Es darf nicht gleich sein wie der Benutzername. +invalidPasswordRegexPatternMessage=Ung\u00FCltiges Passwort: Es entspricht nicht dem Regex-Muster. +invalidPasswordHistoryMessage=Ung\u00FCltiges Passwort: Es darf nicht einem der letzten {0} Passw\u00F6rter entsprechen. +invalidPasswordBlacklistedMessage=Ung\u00FCltiges Passwort: Das Passwort steht auf der Blocklist (schwarzen Liste). +invalidPasswordGenericMessge=Ung\u00FCltiges Passwort: Das neue Passwort verletzt die Passwort-Richtlinien.
\ No newline at end of file diff --git a/account/messages/messages_en.properties b/account/messages/messages_en.properties new file mode 100644 index 0000000..9a04144 --- /dev/null +++ b/account/messages/messages_en.properties @@ -0,0 +1,358 @@ +doSave=Save +doCancel=Cancel +doLogOutAllSessions=Log out all sessions +doRemove=Remove +doAdd=Add +doSignOut=Sign Out +doLogIn=Log In +doLink=Link + + +editAccountHtmlTitle=Edit Account +personalInfoHtmlTitle=Personal Info +federatedIdentitiesHtmlTitle=Federated Identities +accountLogHtmlTitle=Account Log +changePasswordHtmlTitle=Change Password +deviceActivityHtmlTitle=Device Activity +sessionsHtmlTitle=Sessions +accountManagementTitle=Keycloak Account Management +authenticatorTitle=Authenticator +applicationsHtmlTitle=Applications +linkedAccountsHtmlTitle=Linked Accounts + +accountManagementWelcomeMessage=Welcome to Keycloak Account Management +personalInfoIntroMessage=Manage your basic information +accountSecurityTitle=Account Security +accountSecurityIntroMessage=Control your password and account access +applicationsIntroMessage=Track and manage your app permission to access your account +resourceIntroMessage=Share your resources among team members +passwordLastUpdateMessage=Your password was updated at +updatePasswordTitle=Update Password +updatePasswordMessageTitle=Make sure you choose a strong password +updatePasswordMessage=A strong password contains a mix of numbers, letters, and symbols. It is hard to guess, does not resemble a real word, and is only used for this account. +personalSubTitle=Your Personal Info +personalSubMessage=Manage this basic information: your first name, last name and email + +authenticatorCode=One-time code +email=Email +firstName=First name +givenName=Given name +fullName=Full name +lastName=Last name +familyName=Family name +password=Password +currentPassword=Current Password +passwordConfirm=Confirmation +passwordNew=New Password +username=Username +address=Address +street=Street +locality=City or Locality +region=State, Province, or Region +postal_code=Zip or Postal code +country=Country +emailVerified=Email verified +gssDelegationCredential=GSS Delegation Credential + +profileScopeConsentText=User profile +emailScopeConsentText=Email address +addressScopeConsentText=Address +phoneScopeConsentText=Phone number +offlineAccessScopeConsentText=Offline Access +samlRoleListScopeConsentText=My Roles +rolesScopeConsentText=User roles + +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Create realm +role_view-realm=View realm +role_view-users=View users +role_view-applications=View applications +role_view-clients=View clients +role_view-events=View events +role_view-identity-providers=View identity providers +role_view-consent=View consents +role_manage-realm=Manage realm +role_manage-users=Manage users +role_manage-applications=Manage applications +role_manage-identity-providers=Manage identity providers +role_manage-clients=Manage clients +role_manage-events=Manage events +role_view-profile=View profile +role_manage-account=Manage account +role_manage-account-links=Manage account links +role_manage-consent=Manage consents +role_read-token=Read token +role_offline-access=Offline access +role_uma_authorization=Obtain permissions +client_account=Account +client_account-console=Account Console +client_security-admin-console=Security Admin Console +client_admin-cli=Admin CLI +client_realm-management=Realm Management +client_broker=Broker + + +requiredFields=Required fields +allFieldsRequired=All fields required + +backToApplication=« Back to application +backTo=Back to {0} + +date=Date +event=Event +ip=IP +client=Client +clients=Clients +details=Details +started=Started +lastAccess=Last Access +expires=Expires +applications=Applications + +account=Account +federatedIdentity=Federated Identity +authenticator=Authenticator +device-activity=Device Activity +sessions=Sessions +log=Log + +application=Application +availableRoles=Available Roles +grantedPermissions=Granted Permissions +grantedPersonalInfo=Granted Personal Info +additionalGrants=Additional Grants +action=Action +inResource=in +fullAccess=Full Access +offlineToken=Offline Token +revoke=Revoke Grant + +configureAuthenticators=Configured Authenticators +mobile=Mobile +totpStep1=Install one of the following applications on your mobile: +totpStep2=Open the application and scan the barcode: +totpStep3=Enter the one-time code provided by the application and click Save to finish the setup. +totpStep3DeviceName=Provide a Device Name to help you manage your OTP devices. + +totpManualStep2=Open the application and enter the key: +totpManualStep3=Use the following configuration values if the application allows setting them: +totpUnableToScan=Unable to scan? +totpScanBarcode=Scan barcode? + +totp.totp=Time-based +totp.hotp=Counter-based + +totpType=Type +totpAlgorithm=Algorithm +totpDigits=Digits +totpInterval=Interval +totpCounter=Counter +totpDeviceName=Device Name + +missingUsernameMessage=Please specify username. +missingFirstNameMessage=Please specify first name. +invalidEmailMessage=Invalid email address. +missingLastNameMessage=Please specify last name. +missingEmailMessage=Please specify email. +missingPasswordMessage=Please specify password. +notMatchPasswordMessage=Passwords don''t match. +invalidUserMessage=Invalid user + +missingTotpMessage=Please specify authenticator code. +missingTotpDeviceNameMessage=Please specify device name. +invalidPasswordExistingMessage=Invalid existing password. +invalidPasswordConfirmMessage=Password confirmation doesn''t match. +invalidTotpMessage=Invalid authenticator code. + +usernameExistsMessage=Username already exists. +emailExistsMessage=Email already exists. + +readOnlyUserMessage=You can''t update your account as it is read-only. +readOnlyUsernameMessage=You can''t update your username as it is read-only. +readOnlyPasswordMessage=You can''t update your password as your account is read-only. + +successTotpMessage=Mobile authenticator configured. +successTotpRemovedMessage=Mobile authenticator removed. + +successGrantRevokedMessage=Grant revoked successfully. + +accountUpdatedMessage=Your account has been updated. +accountPasswordUpdatedMessage=Your password has been updated. + +missingIdentityProviderMessage=Identity provider not specified. +invalidFederatedIdentityActionMessage=Invalid or missing action. +identityProviderNotFoundMessage=Specified identity provider not found. +federatedIdentityLinkNotActiveMessage=This identity is not active anymore. +federatedIdentityRemovingLastProviderMessage=You can''t remove last federated identity as you don''t have a password. +identityProviderRedirectErrorMessage=Failed to redirect to identity provider. +identityProviderRemovedMessage=Identity provider removed successfully. +identityProviderAlreadyLinkedMessage=Federated identity returned by {0} is already linked to another user. +staleCodeAccountMessage=The page expired. Please try one more time. +consentDenied=Consent denied. + +accountDisabledMessage=Account is disabled, contact your administrator. + +accountTemporarilyDisabledMessage=Account is temporarily disabled, contact your administrator or try again later. +invalidPasswordMinLengthMessage=Invalid password: minimum length {0}. +invalidPasswordMinLowerCaseCharsMessage=Invalid password: must contain at least {0} lower case characters. +invalidPasswordMinDigitsMessage=Invalid password: must contain at least {0} numerical digits. +invalidPasswordMinUpperCaseCharsMessage=Invalid password: must contain at least {0} upper case characters. +invalidPasswordMinSpecialCharsMessage=Invalid password: must contain at least {0} special characters. +invalidPasswordNotUsernameMessage=Invalid password: must not be equal to the username. +invalidPasswordRegexPatternMessage=Invalid password: fails to match regex pattern(s). +invalidPasswordHistoryMessage=Invalid password: must not be equal to any of last {0} passwords. +invalidPasswordBlacklistedMessage=Invalid password: password is blacklisted. +invalidPasswordGenericMessage=Invalid password: new password doesn''t match password policies. + +# Authorization +myResources=My Resources +myResourcesSub=My resources +doDeny=Deny +doRevoke=Revoke +doApprove=Approve +doRemoveSharing=Remove Sharing +doRemoveRequest=Remove Request +peopleAccessResource=People with access to this resource +resourceManagedPolicies=Permissions granting access to this resource +resourceNoPermissionsGrantingAccess=No permissions granting access to this resource +anyAction=Any action +description=Description +name=Name +scopes=Scopes +resource=Resource +user=User +peopleSharingThisResource=People sharing this resource +shareWithOthers=Share with others +needMyApproval=Need my approval +requestsWaitingApproval=Your requests waiting approval +icon=Icon +requestor=Requestor +owner=Owner +resourcesSharedWithMe=Resources shared with me +permissionRequestion=Permission Requestion +permission=Permission +shares=share(s) +notBeingShared=This resource is not being shared. +notHaveAnyResource=You don't 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. +resourceIsNotBeingShared=The resource is not being shared + +locale_ca=Catal\u00e0 +locale_de=Deutsch +locale_en=English +locale_es=Espa\u00f1ol +locale_fr=Fran\u00e7ais +locale_it=Italian +locale_ja=\u65e5\u672c\u8a9e +locale_nl=Nederlands +locale_no=Norsk +locale_lt=Lietuvi\u0173 +locale_pt-BR=Portugu\u00eas (Brasil) +locale_ru=\u0420\u0443\u0441\u0441\u043a\u0438\u0439 +locale_sk=Sloven\u010dina +locale_sv=Svenska +locale_tr=Turkish +locale_zh-CN=\u4e2d\u6587\u7b80\u4f53 + +# Applications +applicaitonName=Name +applicationType=Application Type +applicationInUse=In-use app only +clearAllFilter=Clear all filters +activeFilters=Active filters +filterByName=Filter By Name ... +allApps=All applications +internalApps=Internal applications +thirdpartyApps=Third-Party applications +appResults=Results +clientNotFoundMessage=Client not found. + +# Linked account +authorizedProvider=Authorized Provider +authorizedProviderMessage=Authorized Providers linked with your account +identityProvider=Identity Provider +identityProviderMessage=To link your account with identity providers you have configured +socialLogin=Social Login +userDefined=User Defined +removeAccess=Remove Access +removeAccessMessage=You will need to grant access again, if you want to use this app account. + +#Authenticator +authenticatorStatusMessage=Two-factor authentication is currently +authenticatorFinishSetUpTitle=Your Two-Factor Authentication +authenticatorFinishSetUpMessage=Each time you sign in to your Keycloak account, you will be asked to provide a two-factor authentication code. +authenticatorSubTitle=Set Up Two-Factor Authentication +authenticatorSubMessage=To enhance the security of your account, enable at least one of the available two-factor authentication methods. +authenticatorMobileTitle=Mobile Authenticator +authenticatorMobileMessage=Use mobile Authenticator to get Verification codes as the two-factor authentication. +authenticatorMobileFinishSetUpMessage=The authenticator has been bound to your phone. +authenticatorActionSetup=Set up +authenticatorSMSTitle=SMS Code +authenticatorSMSMessage=Keycloak will send the Verification code to your phone as the two-factor authentication. +authenticatorSMSFinishSetUpMessage=Text messages are sent to +authenticatorDefaultStatus=Default +authenticatorChangePhone=Change Phone Number +authenticatorBackupCodesTitle=Backup Codes +authenticatorBackupCodesMessage=Get your 8-digit backup codes +authenticatorBackupCodesFinishSetUpMessage=12 backup codes were generated at this time. Each one can be used once. + +#Authenticator - Mobile Authenticator setup +authenticatorMobileSetupTitle=Mobile Authenticator Setup +smscodeIntroMessage=Enter your phone number and a verification code will be sent to your phone. +mobileSetupStep1=Install an authenticator application on your phone. The applications listed here are supported. +mobileSetupStep2=Open the application and scan the barcode: +mobileSetupStep3=Enter the one-time code provided by the application and click Save to finish the setup. +scanBarCode=Want to scan the barcode? +enterBarCode=Enter the one-time code +doCopy=Copy +doFinish=Finish + +#Authenticator - SMS Code setup +authenticatorSMSCodeSetupTitle=SMS Code Setup +chooseYourCountry=Choose your country +enterYourPhoneNumber=Enter your phone number +sendVerficationCode=Send Verification Code +enterYourVerficationCode=Enter your verification code + +#Authenticator - backup Code setup +authenticatorBackupCodesSetupTitle=Backup Codes Setup +backupcodesIntroMessage=If you lose access to your phone, you can still log into your account through backup codes. Keep them somewhere safe and accessible. +realmName=Realm +doDownload=Download +doPrint=Print +backupCodesTips-1=Each backup code can be used once. +backupCodesTips-2=These codes were generated on +generateNewBackupCodes=Generate New Backup Codes +backupCodesTips-3=When you generate new backup codes, the current codes will not work anymore. +backtoAuthenticatorPage=Back to Authenticator Page + + +#Resources +resources=Resources +sharedwithMe=Shared with Me +share=Share +sharedwith=Shared with +accessPermissions=Access Permissions +permissionRequests=Permission Requests +approve=Approve +approveAll=Approve all +people=people +perPage=per page +currentPage=Current Page +sharetheResource=Share the resource +group=Group +selectPermission=Select Permission +addPeople=Add people to share your resource with +addTeam=Add team to share your resource with +myPermissions=My Permissions +waitingforApproval=Waiting for approval +anyPermission=Any Permission + +# Openshift messages +openshift.scope.user_info=User information +openshift.scope.user_check-access=User access information +openshift.scope.user_full=Full Access +openshift.scope.list-projects=List projects diff --git a/account/messages/messages_es.properties b/account/messages/messages_es.properties new file mode 100644 index 0000000..fd36e59 --- /dev/null +++ b/account/messages/messages_es.properties @@ -0,0 +1,147 @@ +doSave=Guardar +doCancel=Cancelar +doLogOutAllSessions=Desconectar de todas las sesiones +doRemove=Eliminar +doAdd=A\u00F1adir +doSignOut=Desconectar + +editAccountHtmlTitle=Editar cuenta +federatedIdentitiesHtmlTitle=Identidades federadas +accountLogHtmlTitle=Registro de la cuenta +changePasswordHtmlTitle=Cambiar contrase\u00F1a +sessionsHtmlTitle=Sesiones +accountManagementTitle=Gesti\u00F3n de Cuenta Keycloak +authenticatorTitle=Autenticador +applicationsHtmlTitle=Aplicaciones + +authenticatorCode=C\u00F3digo de un solo uso +email=Email +firstName=Nombre +givenName=Nombre de pila +fullName=Nombre completo +lastName=Apellidos +familyName=Apellido +password=Contrase\u00F1a +passwordConfirm=Confirma la contrase\u00F1a +passwordNew=Nueva contrase\u00F1a +username=Usuario +address=Direcci\u00F3n +street=Calle +locality=Ciudad o Municipio +region=Estado, Provincia, o Regi\u00F3n +postal_code=C\u00F3digo Postal +country=Pa\u00EDs +emailVerified=Email verificado +gssDelegationCredential=GSS Delegation Credential + +role_admin=Administrador +role_realm-admin=Administrador del dominio +role_create-realm=Crear dominio +role_view-realm=Ver dominio +role_view-users=Ver usuarios +role_view-applications=Ver aplicaciones +role_view-clients=Ver clientes +role_view-events=Ver eventos +role_view-identity-providers=Ver proveedores de identidad +role_manage-realm=Gestionar dominio +role_manage-users=Gestionar usuarios +role_manage-applications=Gestionar aplicaciones +role_manage-identity-providers=Gestionar proveedores de identidad +role_manage-clients=Gestionar clientes +role_manage-events=Gestionar eventos +role_view-profile=Ver perfil +role_manage-account=Gestionar cuenta +role_read-token=Leer token +role_offline-access=Acceso sin conexi\u00F3n +client_account=Cuenta +client_security-admin-console=Consola de Administraci\u00F3n de Seguridad +client_realm-management=Gesti\u00F3n de dominio +client_broker=Broker + + +requiredFields=Campos obligatorios +allFieldsRequired=Todos los campos obligatorios + +backToApplication=« Volver a la aplicaci\u00F3n +backTo=Volver a {0} + +date=Fecha +event=Evento +ip=IP +client=Cliente +clients=Clientes +details=Detalles +started=Iniciado +lastAccess=\u00DAltimo acceso +expires=Expira +applications=Aplicaciones + +account=Cuenta +federatedIdentity=Identidad federada +authenticator=Autenticador +sessions=Sesiones +log=Regisro + +application=Aplicaci\u00F3n +availablePermissions=Permisos disponibles +grantedPermissions=Permisos concedidos +grantedPersonalInfo=Informaci\u00F3n personal concedida +additionalGrants=Permisos adicionales +action=Acci\u00F3n +inResource=en +fullAccess=Acceso total +offlineToken=C\u00F3digo de autorizaci\u00F3n offline +revoke=Revocar permiso + +configureAuthenticators=Autenticadores configurados +mobile=M\u00F3vil +totpStep1=Instala <a href=\"https://freeotp.github.io/\" target=\"_blank\">FreeOTP</a> o Google Authenticator en tu tel\u00E9fono m\u00F3vil. Ambas aplicaciones est\u00E1n disponibles en <a href=\"https://play.google.com\">Google Play</a> y en la App Store de Apple. +totpStep2=Abre la aplicaci\u00F3n y escanea el c\u00F3digo o introduce la clave. +totpStep3=Introduce el c\u00F3digo \u00FAnico que te muestra la aplicaci\u00F3n de autenticaci\u00F3n y haz clic en Enviar para finalizar la configuraci\u00F3n + +missingUsernameMessage=Por favor indica tu usuario. +missingFirstNameMessage=Por favor indica el nombre. +invalidEmailMessage=Email no v\u00E1lido +missingLastNameMessage=Por favor indica tus apellidos. +missingEmailMessage=Por favor indica el email. +missingPasswordMessage=Por favor indica tu contrase\u00F1a. +notMatchPasswordMessage=Las contrase\u00F1as no coinciden. + +missingTotpMessage=Por favor indica tu c\u00F3digo de autenticaci\u00F3n +invalidPasswordExistingMessage=La contrase\u00F1a actual no es correcta. +invalidPasswordConfirmMessage=La confirmaci\u00F3n de contrase\u00F1a no coincide. +invalidTotpMessage=El c\u00F3digo de autenticaci\u00F3n no es v\u00E1lido. + +usernameExistsMessage=El usuario ya existe +emailExistsMessage=El email ya existe + +readOnlyUserMessage=No puedes actualizar tu usuario porque tu cuenta es de solo lectura. +readOnlyPasswordMessage=No puedes actualizar tu contrase\u00F1a porque tu cuenta es de solo lectura. + +successTotpMessage=Aplicaci\u00F3n de autenticaci\u00F3n m\u00F3vil configurada. +successTotpRemovedMessage=Aplicaci\u00F3n de autenticaci\u00F3n m\u00F3vil eliminada. + +successGrantRevokedMessage=Permiso revocado correctamente + +accountUpdatedMessage=Tu cuenta se ha actualizado. +accountPasswordUpdatedMessage=Tu contrase\u00F1a se ha actualizado. + +missingIdentityProviderMessage=Proveedor de identidad no indicado. +invalidFederatedIdentityActionMessage=Acci\u00F3n no v\u00E1lida o no indicada. +identityProviderNotFoundMessage=No se encontr\u00F3 un proveedor de identidad. +federatedIdentityLinkNotActiveMessage=Esta identidad ya no est\u00E1 activa +federatedIdentityRemovingLastProviderMessage=No puedes eliminar la \u00FAltima identidad federada porque no tienes fijada una contrase\u00F1a. +identityProviderRedirectErrorMessage=Error en la redirecci\u00F3n al proveedor de identidad +identityProviderRemovedMessage=Proveedor de identidad borrado correctamente. + +accountDisabledMessage=La cuenta est\u00E1 desactivada, contacta con el administrador. + +accountTemporarilyDisabledMessage=La cuenta est\u00E1 temporalmente desactivada, contacta con el administrador o int\u00E9ntalo de nuevo m\u00E1s tarde. +invalidPasswordMinLengthMessage=Contrase\u00F1a incorrecta: longitud m\u00EDnima {0}. +invalidPasswordMinLowerCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras min\u00FAsculas. +invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres num\u00E9ricos. +invalidPasswordMinUpperCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras may\u00FAsculas. +invalidPasswordMinSpecialCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres especiales. +invalidPasswordNotUsernameMessage=Contrase\u00F1a incorrecta: no puede ser igual al nombre de usuario. +invalidPasswordRegexPatternMessage=Contrase\u00F1a incorrecta: no cumple la expresi\u00F3n regular. +invalidPasswordHistoryMessage=Contrase\u00F1a incorrecta: no puede ser igual a ninguna de las \u00FAltimas {0} contrase\u00F1as.
\ No newline at end of file diff --git a/account/messages/messages_fr.properties b/account/messages/messages_fr.properties new file mode 100644 index 0000000..f18bf47 --- /dev/null +++ b/account/messages/messages_fr.properties @@ -0,0 +1,166 @@ +# TIPS to encode UTF-8 to ISO +# native2ascii -encoding ISO8859_1 srcFile > dstFile + +doSave=Sauvegarder +doCancel=Annuler +doLogOutAllSessions=D\u00e9connexion de toutes les sessions +doRemove=Supprimer +doAdd=Ajouter +doSignOut=D\u00e9connexion + +editAccountHtmlTitle=\u00c9dition du compte +federatedIdentitiesHtmlTitle=Identit\u00e9s f\u00e9d\u00e9r\u00e9es +accountLogHtmlTitle=Acc\u00e8s au compte +changePasswordHtmlTitle=Changer de mot de passe +sessionsHtmlTitle=Sessions +accountManagementTitle=Gestion du compte Keycloak +authenticatorTitle=Authentification +applicationsHtmlTitle=Applications + +authenticatorCode=Mot de passe unique +email=Courriel +firstName=Pr\u00e9nom +givenName=Pr\u00e9nom +fullName=Nom complet +lastName=Nom +familyName=Nom de famille +password=Mot de passe +passwordConfirm=Confirmation +passwordNew=Nouveau mot de passe +username=Compte +address=Adresse +street=Rue +locality=Ville ou Localit\u00e9 +region=\u00c9tat, Province ou R\u00e9gion +postal_code=Code Postal +country=Pays +emailVerified=Courriel v\u00e9rifi\u00e9 +gssDelegationCredential=Accr\u00e9ditation de d\u00e9l\u00e9gation GSS + +role_admin=Administrateur +role_realm-admin=Administrateur du domaine +role_create-realm=Cr\u00e9er un domaine +role_view-realm=Voir un domaine +role_view-users=Voir les utilisateurs +role_view-applications=Voir les applications +role_view-clients=Voir les clients +role_view-events=Voir les \u00e9v\u00e9nements +role_view-identity-providers=Voir les fournisseurs d''identit\u00e9s +role_manage-realm=G\u00e9rer le domaine +role_manage-users=G\u00e9rer les utilisateurs +role_manage-applications=G\u00e9rer les applications +role_manage-identity-providers=G\u00e9rer les fournisseurs d''identit\u00e9s +role_manage-clients=G\u00e9rer les clients +role_manage-events=G\u00e9rer les \u00e9v\u00e9nements +role_view-profile=Voir le profil +role_manage-account=G\u00e9rer le compte +role_read-token=Lire le jeton d''authentification +role_offline-access=Acc\u00e8s hors-ligne +client_account=Compte +client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9 +client_admin-cli=Admin CLI +client_realm-management=Gestion du domaine +client_broker=Broker + + +requiredFields=Champs obligatoires +allFieldsRequired=Tous les champs sont obligatoires + +backToApplication=« Revenir \u00e0 l''application +backTo=Revenir \u00e0 {0} + +date=Date +event=Ev\u00e9nement +ip=IP +client=Client +clients=Clients +details=D\u00e9tails +started=D\u00e9but +lastAccess=Dernier acc\u00e8s +expires=Expiration +applications=Applications + +account=Compte +federatedIdentity=Identit\u00e9 f\u00e9d\u00e9r\u00e9e +authenticator=Authentification +sessions=Sessions +log=Connexion + +application=Application +availablePermissions=Permissions disponibles +grantedPermissions=Permissions accord\u00e9es +grantedPersonalInfo=Informations personnelles accord\u00e9es +additionalGrants=Droits additionnels +action=Action +inResource=dans +fullAccess=Acc\u00e8s complet +offlineToken=Jeton d''authentification hors-ligne +revoke=R\u00e9voquer un droit + +configureAuthenticators=Authentifications configur\u00e9es. +mobile=T\u00e9l\u00e9phone mobile +totpStep1=Installez une des applications suivantes sur votre mobile +totpStep2=Ouvrez l''application et scannez le code-barres ou entrez la clef. +totpStep3=Entrez le code \u00e0 usage unique fourni par l''application et cliquez sur Sauvegarder pour terminer. + +totpManualStep2=Ouvrez l''application et entrez la clef +totpManualStep3=Utilisez les valeurs de configuration suivante si l''application les autorise +totpUnableToScan=Impossible de scanner ? +totpScanBarcode=Scanner le code-barres ? + +totp.totp=Bas\u00e9 sur le temps +totp.hotp=Bas\u00e9 sur un compteur + +totpType=Type +totpAlgorithm=Algorithme +totpDigits=Chiffres +totpInterval=Intervalle +totpCounter=Compteur + +missingUsernameMessage=Veuillez entrer votre nom d''utilisateur. +missingFirstNameMessage=Veuillez entrer votre pr\u00e9nom. +invalidEmailMessage=Courriel invalide. +missingLastNameMessage=Veuillez entrer votre nom. +missingEmailMessage=Veuillez entrer votre courriel. +missingPasswordMessage=Veuillez entrer votre mot de passe. +notMatchPasswordMessage=Les mots de passe ne sont pas identiques + +missingTotpMessage=Veuillez entrer le code d''authentification. +invalidPasswordExistingMessage=Mot de passe existant invalide. +invalidPasswordConfirmMessage=Le mot de passe de confirmation ne correspond pas. +invalidTotpMessage=Le code d''authentification est invalide. + +usernameExistsMessage=Le nom d''utilisateur existe d\u00e9j\u00e0. +emailExistsMessage=Le courriel existe d\u00e9j\u00e0. + +readOnlyUserMessage=Vous ne pouvez pas mettre \u00e0 jour votre compte car il est en lecture seule. +readOnlyPasswordMessage=Vous ne pouvez pas mettre \u00e0 jour votre mot de passe car votre compte est en lecture seule. + +successTotpMessage=L''authentification via t\u00e9l\u00e9phone mobile est configur\u00e9e. +successTotpRemovedMessage=L''authentification via t\u00e9l\u00e9phone mobile est supprim\u00e9e. + +successGrantRevokedMessage=Droit r\u00e9voqu\u00e9 avec succ\u00e8s. + +accountUpdatedMessage=Votre compte a \u00e9t\u00e9 mis \u00e0 jour. +accountPasswordUpdatedMessage=Votre mot de passe a \u00e9t\u00e9 mis \u00e0 jour. + +missingIdentityProviderMessage=Le fournisseur d''identit\u00e9 n''est pas sp\u00e9cifi\u00e9. +invalidFederatedIdentityActionMessage=Action manquante ou invalide. +identityProviderNotFoundMessage=Le fournisseur d''identit\u00e9 sp\u00e9cifi\u00e9 n''est pas trouv\u00e9. +federatedIdentityLinkNotActiveMessage=Cette identit\u00e9 n''est plus active dor\u00e9navant. +federatedIdentityRemovingLastProviderMessage=Vous ne pouvez pas supprimer votre derni\u00e8re f\u00e9d\u00e9ration d''identit\u00e9 sans avoir de mot de passe sp\u00e9cifi\u00e9. +identityProviderRedirectErrorMessage=Erreur de redirection vers le fournisseur d''identit\u00e9. +identityProviderRemovedMessage=Le fournisseur d''identit\u00e9 a \u00e9t\u00e9 supprim\u00e9 correctement. +identityProviderAlreadyLinkedMessage=Le fournisseur d''identit\u00e9 retourn\u00e9 par {0} est d\u00e9j\u00e0 li\u00e9 \u00e0 un autre utilisateur. + +accountDisabledMessage=Ce compte est d\u00e9sactiv\u00e9, veuillez contacter votre administrateur. + +accountTemporarilyDisabledMessage=Ce compte est temporairement d\u00e9sactiv\u00e9, veuillez contacter votre administrateur ou r\u00e9essayez plus tard. +invalidPasswordMinLengthMessage=Mot de passe invalide: longueur minimale {0}. +invalidPasswordMinLowerCaseCharsMessage=Mot de passe invalide: doit contenir au moins {0} lettre(s) en minuscule. +invalidPasswordMinDigitsMessage=Mot de passe invalide: doit contenir au moins {0} chiffre(s). +invalidPasswordMinUpperCaseCharsMessage=Mot de passe invalide: doit contenir au moins {0} lettre(s) en majuscule. +invalidPasswordMinSpecialCharsMessage=Mot de passe invalide: doit contenir au moins {0} caract\u00e8re(s) sp\u00e9ciaux. +invalidPasswordNotUsernameMessage=Mot de passe invalide: ne doit pas \u00eatre identique au nom d''utilisateur. +invalidPasswordRegexPatternMessage=Mot de passe invalide: ne valide pas l''expression rationnelle. +invalidPasswordHistoryMessage=Mot de passe invalide: ne doit pas \u00eatre \u00e9gal aux {0} derniers mots de passe. diff --git a/account/messages/messages_it.properties b/account/messages/messages_it.properties new file mode 100644 index 0000000..611bed1 --- /dev/null +++ b/account/messages/messages_it.properties @@ -0,0 +1,153 @@ +doSave=Salva +doCancel=Annulla +doLogOutAllSessions=Effettua il blog out da tutte le sessioni +doRemove=Elimina +doAdd=Aggiungi +doSignOut=Esci + +editAccountHtmlTitle=Modifica Account +federatedIdentitiesHtmlTitle=Federated Identities +accountLogHtmlTitle=Account Log +changePasswordHtmlTitle=Cambia Password +sessionsHtmlTitle=Sessioni +accountManagementTitle=Keycloak Account Management +authenticatorTitle=Authenticator +applicationsHtmlTitle=Applicazioni + +authenticatorCode=Codice One-time +email=Email +firstName=Nome +givenName=Nome +fullName=Nome Completo +lastName=Cognome +familyName=Cognome +password=Password +passwordConfirm=Conferma Password +passwordNew=Nuova Password +username=Username +address=Indirizzo +street=Via +locality=Citt\u00e0 o Localit\u00e0 +region=Stato, Provincia, o Regione +postal_code=CAP +country=Paese +emailVerified=Email verificata +gssDelegationCredential=Credenziali GSS Delegation + +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Crea realm +role_view-realm=Visualizza realm +role_view-users=Visualizza utenti +role_view-applications=Visualizza applicazioni +role_view-clients=Visualizza client +role_view-events=Visualizza eventi +role_view-identity-providers=Visualizza identity provider +role_manage-realm=Gestisci realm +role_manage-users=Gestisci utenti +role_manage-applications=Gestisci applicazioni +role_manage-identity-providers=Gestisci identity provider +role_manage-clients=Gestisci i client +role_manage-events=Gestisci eventi +role_view-profile=Visualizza profilo +role_manage-account=Gestisci account +role_read-token=Leggi token +role_offline-access=Accesso offline +role_uma_authorization=Ottieni permessi +client_account=Account +client_security-admin-console=Security Admin Console +client_admin-cli=Admin CLI +client_realm-management=Gestione Realm +client_broker=Broker + + +requiredFields=Campi obbligatori +allFieldsRequired=Tutti campi obbligatori + +backToApplication=« Torna all''applicazione +backTo=Torna a {0} + +date=Data +event=Evento +ip=IP +client=Client +clients=Clients +details=Dettagli +started=Iniziato +lastAccess=Ultimo accesso +expires=Scade +applications=Applicazioni + +account=Account +federatedIdentity=Federated Identity +authenticator=Authenticator +sessions=Sessioni +log=Log + +application=Applicazione +availablePermissions=Permessi disponibili +grantedPermissions=Permessi concessi +grantedPersonalInfo=Informazioni Personali concesse +additionalGrants=Concessioni addizionali +action=Azione +inResource=in +fullAccess=Accesso completo +offlineToken=Token offline +revoke=Revoca concessione + +configureAuthenticators=Configura Authenticators +mobile=Mobile +totpStep1=Installa <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> o <a href="http://code.google.com/p/google-authenticator/" target="_blank">Google Authenticator</a> sul tuo dispositivo mobile. +totpStep2=Apri l''applicazione e scansiona il barcode o scrivi la chiave. +totpStep3=Scrivi il codice one-time fornito dall''applicazione e clicca Salva per completare il setup. + +missingUsernameMessage=Inserisci la username. +missingFirstNameMessage=Inserisci il nome. +invalidEmailMessage=Indirizzo email non valido. +missingLastNameMessage=Inserisci il cognome. +missingEmailMessage=Inserisci l''indirizzo email. +missingPasswordMessage=Inserisci la password. +notMatchPasswordMessage=Le password non corrispondono. + +missingTotpMessage=Inserisci il codice di autenticazione. +invalidPasswordExistingMessage=Password esistente non valida. +invalidPasswordConfirmMessage=La password di conferma non coincide. +invalidTotpMessage=Codice di autenticazione non valido. + +usernameExistsMessage=Username gi\u00e0 esistente. +emailExistsMessage=Email gi\u00e0 esistente. + +readOnlyUserMessage=Non puoi aggiornare il tuo account dal momento che \u00e8 in modalit\u00e0 sola lettura. +readOnlyPasswordMessage=Non puoi aggiornare il tuo account dal momento che \u00e8 in modalit\u00e0 sola lettura. + +successTotpMessage=Mobile authenticator configurato. +successTotpRemovedMessage=Mobile authenticator eliminato. + +successGrantRevokedMessage=Concessione revocata correttamente. + +accountUpdatedMessage=Il tuo account \u00e8 stato aggiornato. +accountPasswordUpdatedMessage=La tua password \u00e8 stata aggiornata. + +missingIdentityProviderMessage=Identity provider non specificata. +invalidFederatedIdentityActionMessage=Azione non valida o mancante. +identityProviderNotFoundMessage=L''identity provider specificato non \u00e8 stato trovato. +federatedIdentityLinkNotActiveMessage=Questo identity non \u00e8 pi\u00f9 attivo. +federatedIdentityRemovingLastProviderMessage=Non puoi rimuovere l''ultimo federated identity dal momento che non hai pi\u00f9 la password. +identityProviderRedirectErrorMessage=Il reindirizzamento all''identity provider \u00e8 fallito. +identityProviderRemovedMessage=Identity provider eliminato correttamente. +identityProviderAlreadyLinkedMessage=Federated identity ritornata da {0} \u00e8 gi\u00e0 collegata ad un altro utente. +staleCodeAccountMessage=La pagina \u00e8 scaduta. Riprova di nuovo. +consentDenied=Permesso negato. + +accountDisabledMessage=Account disabilitato, contatta l''amministratore. + +accountTemporarilyDisabledMessage=L''account \u00e8 temporaneamente disabilitato, contatta l''amministratore o riprova pi\u00f9 tardi. +invalidPasswordMinLengthMessage=Password non valida: lunghezza minima {0}. +invalidPasswordMinLowerCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri minuscoli. +invalidPasswordMinDigitsMessage=Password non valida: deve contenere almeno {0} numeri. +invalidPasswordMinUpperCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri maiuscoli. +invalidPasswordMinSpecialCharsMessage=Password non valida: deve contenere almeno {0} caratteri speciali. +invalidPasswordNotUsernameMessage=Password non valida: non deve essere uguale alla username. +invalidPasswordRegexPatternMessage=Password non valida: fallito il match con una o pi\u00f9 espressioni regolari. +invalidPasswordHistoryMessage=Password non valida: non deve essere uguale a nessuna delle ultime {0} password. +invalidPasswordGenericMessage=Password non valida: la nuova password non rispetta le indicazioni previste. diff --git a/account/messages/messages_ja.properties b/account/messages/messages_ja.properties new file mode 100644 index 0000000..de3cee1 --- /dev/null +++ b/account/messages/messages_ja.properties @@ -0,0 +1,352 @@ +# encoding: utf-8 +doSave=保存 +doCancel=キャンセル +doLogOutAllSessions=全セッションからログアウト +doRemove=削除 +doAdd=追加 +doSignOut=サインアウト +doLogIn=ログイン +doLink=リンク + + +editAccountHtmlTitle=アカウントの編集 +personalInfoHtmlTitle=個人情報 +federatedIdentitiesHtmlTitle=Federated Identities +accountLogHtmlTitle=アカウントログ +changePasswordHtmlTitle=パスワード変更 +deviceActivityHtmlTitle=デバイスアクティビティ +sessionsHtmlTitle=セッション +accountManagementTitle=Keycloak アカウント管理 +authenticatorTitle=Authenticator +applicationsHtmlTitle=アプリケーション +linkedAccountsHtmlTitle=リンクされたアカウント + +accountManagementWelcomeMessage=Keycloak アカウント管理へようこそ +personalInfoIntroMessage=基本情報を管理する +accountSecurityTitle=アカウントセキュリティ +accountSecurityIntroMessage=パスワードとアカウントアクセスを制御する +applicationsIntroMessage=アプリのアカウントへのアクセス権を追跡して管理する +resourceIntroMessage=チームメンバー間でリソースを共有する +passwordLastUpdateMessage=パスワードは更新されました +updatePasswordTitle=パスワードの更新 +updatePasswordMessageTitle=強力なパスワードを選択してください +updatePasswordMessage=強力なパスワードは、数字、文字、記号を含みます。推測が難しく、実在する言葉に似ておらず、このアカウントだけで使用されています。 +personalSubTitle=個人情報 +personalSubMessage=この基本情報を管理してください:名、姓、メール + +authenticatorCode=ワンタイムコード +email=Eメール +firstName=名 +givenName=名 +fullName=氏名 +lastName=姓 +familyName=姓 +password=パスワード +currentPassword=現在のパスワード +passwordConfirm=新しいパスワード (確認) +passwordNew=新しいパスワード +username=ユーザー名 +address=住所 +street=番地 +locality=市区町村 +region=都道府県 +postal_code=郵便番号 +country=国 +emailVerified=確認済みEメール +gssDelegationCredential=GSS 代行クレデンシャル + +profileScopeConsentText=ユーザープロフィール +emailScopeConsentText=メールアドレス +addressScopeConsentText=アドレス +phoneScopeConsentText=電話番号 +offlineAccessScopeConsentText=オフラインアクセス +samlRoleListScopeConsentText=ロール +rolesScopeConsentText=ユーザーロール + +role_admin=管理者 +role_realm-admin=レルムの管理 +role_create-realm=レルムの作成 +role_view-realm=レルムの参照 +role_view-users=ユーザーの参照 +role_view-applications=アプリケーションの参照 +role_view-clients=クライアントの参照 +role_view-events=イベントの参照 +role_view-identity-providers=アイデンティティ プロバイダーの参照 +role_manage-realm=レルムの管理 +role_manage-users=ユーザーの管理 +role_manage-applications=アプリケーションの管理 +role_manage-identity-providers=アイデンティティ プロバイダーの管理 +role_manage-clients=クライアントの管理 +role_manage-events=イベントの管理 +role_view-profile=プロフィールの参照 +role_manage-account=アカウントの管理 +role_manage-account-links=アカウントリンクの管理 +role_read-token=トークンの参照 +role_offline-access=オフラインアクセス +role_uma_authorization=アクセス権の取得 +client_account=アカウント +client_security-admin-console=セキュリティ管理コンソール +client_admin-cli=管理 CLI +client_realm-management=レルム管理 +client_broker=ブローカー + + +requiredFields=必須 +allFieldsRequired=全ての入力項目が必須 + +backToApplication=« アプリケーションに戻る +backTo={0} に戻る + +date=日付 +event=イベント +ip=IP +client=クライアント +clients=クライアント +details=詳細 +started=開始 +lastAccess=最終アクセス +expires=有効期限 +applications=アプリケーション + +account=アカウント +federatedIdentity=Federated Identity +authenticator=Authenticator +device-activity=デバイスアクティビティ +sessions=セッション +log=ログ + +application=アプリケーション +availableRoles=利用可能なロール +grantedPermissions=許可されたアクセス権 +grantedPersonalInfo=許可された個人情報 +additionalGrants=追加の許可 +action=アクション +inResource=in +fullAccess=フルアクセス +offlineToken=オフライントークン +revoke=許可の取り消し + +configureAuthenticators=設定済みの Authenticator +mobile=モバイル +totpStep1=モバイルに以下のアプリケーションのいずれかをインストールしてください。 +totpStep2=アプリケーションを開き、バーコードをスキャンしてください。 +totpStep3=アプリケーションで提供されたワンタイムコードを入力して保存をクリックし、セットアップを完了してください。 + +totpManualStep2=アプリケーションを開き、キーを入力してください。 +totpManualStep3=アプリケーションが設定できる場合は、次の設定値を使用してください。 +totpUnableToScan=スキャンできませんか? +totpScanBarcode=バーコードをスキャンしますか? + +totp.totp=時間ベース +totp.hotp=カウンターベース + +totpType=タイプ +totpAlgorithm=アルゴリズム +totpDigits=数字 +totpInterval=間隔 +totpCounter=カウンター + +missingUsernameMessage=ユーザー名を入力してください。 +missingFirstNameMessage=名を入力してください。 +invalidEmailMessage=無効なメールアドレスです。 +missingLastNameMessage=姓を入力してください。 +missingEmailMessage=Eメールを入力してください。 +missingPasswordMessage=パスワードを入力してください。 +notMatchPasswordMessage=パスワードが一致していません。 +invalidUserMessage=無効なユーザーです。 + +missingTotpMessage=Authenticator コードを入力してください。 +invalidPasswordExistingMessage=無効な既存のパスワードです。 +invalidPasswordConfirmMessage=新しいパスワード (確認) と一致していません。 +invalidTotpMessage=無効な Authenticator コードです。 + +usernameExistsMessage=既に存在するユーザー名です。 +emailExistsMessage=既に存在するEメールです。 + +readOnlyUserMessage=読み取り専用のため、アカウントを更新することはできません。 +readOnlyUsernameMessage=読み取り専用のため、ユーザー名を更新することはできません。 +readOnlyPasswordMessage=読み取り専用のため、パスワードを更新することはできません。 + +successTotpMessage=モバイル Authenticator が設定されました。 +successTotpRemovedMessage=モバイル Authenticator が削除されました。 + +successGrantRevokedMessage=許可が正常に取り消しされました。 + +accountUpdatedMessage=アカウントが更新されました。 +accountPasswordUpdatedMessage=パスワードが更新されました。 + +missingIdentityProviderMessage=アイデンティティ プロバイダーが指定されていません。 +invalidFederatedIdentityActionMessage=無効または存在しないアクションです。 +identityProviderNotFoundMessage=指定されたアイデンティティ プロバイダーが見つかりません。 +federatedIdentityLinkNotActiveMessage=このアイデンティティは有効ではありません。 +federatedIdentityRemovingLastProviderMessage=パスワードがないため最後の Federated Identity を削除できません。 +identityProviderRedirectErrorMessage=アイデンティティ プロバイダーへのリダイレクトに失敗しました。 +identityProviderRemovedMessage=アイデンティティ プロバイダーが正常に削除されました。 +identityProviderAlreadyLinkedMessage={0}から返された Federated Identity は既に他のユーザーに関連付けされています。 +staleCodeAccountMessage=有効期限切れです。再度お試しください。 +consentDenied=同意が拒否されました。 + +accountDisabledMessage=アカウントが無効です。管理者に連絡してください。 + +accountTemporarilyDisabledMessage=アカウントが一時的に無効です。管理者に連絡、またはしばらく時間をおいてから再度お試しください。 +invalidPasswordMinLengthMessage=無効なパスワード: 最小 {0} の長さが必要です。 +invalidPasswordMinLowerCaseCharsMessage=無効なパスワード: 少なくとも {0} 文字の小文字を含む必要があります。 +invalidPasswordMinDigitsMessage=無効なパスワード: 少なくとも {0} 文字の数字を含む必要があります。 +invalidPasswordMinUpperCaseCharsMessage=無効なパスワード: 少なくとも {0} 文字の大文字を含む必要があります。 +invalidPasswordMinSpecialCharsMessage=無効なパスワード: 少なくとも {0} 文字の特殊文字を含む必要があります。 +invalidPasswordNotUsernameMessage=無効なパスワード: ユーザー名と同じパスワードは禁止されています。 +invalidPasswordRegexPatternMessage=無効なパスワード: 正規表現パターンと一致しません。 +invalidPasswordHistoryMessage=無効なパスワード: 最近の {0} パスワードのいずれかと同じパスワードは禁止されています。 +invalidPasswordBlacklistedMessage=無効なパスワード: パスワードがブラックリストに含まれています。 +invalidPasswordGenericMessage=無効なパスワード: 新しいパスワードはパスワードポリシーと一致しません。 + +# Authorization +myResources=マイリソース +myResourcesSub=マイリソース +doDeny=拒否 +doRevoke=取り消し +doApprove=承認 +doRemoveSharing=共有の削除 +doRemoveRequest=リクエストの削除 +peopleAccessResource=このリソースにアクセスできる人 +resourceManagedPolicies=このリソースへのアクセスを許可するアクセス権 +resourceNoPermissionsGrantingAccess=このリソースへのアクセスを許可する権限はありません +anyAction=任意のアクション +description=説明 +name=名前 +scopes=スコープ +resource=リソース +user=ユーザー +peopleSharingThisResource=このリソースを共有している人 +shareWithOthers=他人と共有 +needMyApproval=承認が必要 +requestsWaitingApproval=承認待ちのリクエスト +icon=アイコン +requestor=リクエスター +owner=オーナー +resourcesSharedWithMe=共有しているリソース +permissionRequestion=パーミッションリクエスト +permission=パーミッション +shares=共有(複数) +notBeingShared=このリソースは共有されていません。 +notHaveAnyResource=リソースがありません。 +noResourcesSharedWithYou=共有しているリソースはありません +havePermissionRequestsWaitingForApproval=承認待ちの{0}個のパーミッションリクエストがあります。 +clickHereForDetails=詳細はこちらをクリックしてください。 +resourceIsNotBeingShared=リソースは共有されていません。 + +locale_ca=Catal\u00e0 +locale_de=Deutsch +locale_en=English +locale_es=Espa\u00f1ol +locale_fr=Fran\u00e7ais +locale_it=Italian +locale_ja=\u65e5\u672c\u8a9e +locale_nl=Nederlands +locale_no=Norsk +locale_lt=Lietuvi\u0173 +locale_pt-BR=Portugu\u00eas (Brasil) +locale_ru=\u0420\u0443\u0441\u0441\u043a\u0438\u0439 +locale_sk=Sloven\u010dina +locale_sv=Svenska +locale_tr=Turkish +locale_zh-CN=\u4e2d\u6587\u7b80\u4f53 + +# Applications +applicaitonName=名前 +applicationType=アプリケーションタイプ +applicationInUse=使用中のアプリケーションのみ +clearAllFilter=すべてのフィルターをクリア +activeFilters=アクティブなフィルター +filterByName=名前でフィルタリング ... +allApps=すべてのアプリケーション +internalApps=内部アプリケーション +thirdpartyApps=サードパーティのアプリケーション +appResults=結果 + +# Linked account +authorizedProvider=認可済みプロバイダー +authorizedProviderMessage=アカウントにリンクされた認可済みプロバイダー +identityProvider=アイデンティティー・プロバイダー +identityProviderMessage=アカウントと設定したアイデンティティー・プロバイダーをリンクするには +socialLogin=ソーシャル・ログイン +userDefined=ユーザー定義 +removeAccess=アクセス権の削除 +removeAccessMessage=このアプリ・アカウントを使用する場合は、アクセス権を再度付与する必要があります。 + +#Authenticator +authenticatorStatusMessage=2要素認証は現在 +authenticatorFinishSetUpTitle=あなたの2要素認証 +authenticatorFinishSetUpMessage=Keycloakアカウントにサインインするたびに、2要素認証コードを入力するように求められます。 +authenticatorSubTitle=2要素認証を設定する +authenticatorSubMessage=アカウントのセキュリティーを強化するには、利用可能な2要素認証の方式のうち少なくとも1つを有効にします。 +authenticatorMobileTitle=モバイル・オーセンティケーター +authenticatorMobileMessage=モバイル・オーセンティケーターを使用して、2要素認証として確認コードを取得します。 +authenticatorMobileFinishSetUpMessage=オーセンティケーターはあなたの携帯電話にバインドされています。 +authenticatorActionSetup=セットアップ +authenticatorSMSTitle=SMSコード +authenticatorSMSMessage=Keycloakは、2要素認証として確認コードを携帯電話に送信します。 +authenticatorSMSFinishSetUpMessage=テキスト・メッセージが次の電話番号宛に送信されます: +authenticatorDefaultStatus=デフォルト +authenticatorChangePhone=電話番号の変更 +authenticatorBackupCodesTitle=バックアップ・コード +authenticatorBackupCodesMessage=8桁のバックアップ・コードの入手 +authenticatorBackupCodesFinishSetUpMessage=この時点で12個のバックアップ・コードが生成されました。それぞれ一度だけ使用できます。 + +#Authenticator - Mobile Authenticator setup +authenticatorMobileSetupTitle=モバイル・オーセンティケーターのセットアップ +smscodeIntroMessage=電話番号を入力すると、確認コードがあなたの電話に送信されます。 +mobileSetupStep1=携帯電話にオーセンティケーター・アプリケーションをインストールします。ここにリストされているアプリケーションがサポートされています。 +mobileSetupStep2=アプリケーションを開き、バーコードをスキャンしてください。 +mobileSetupStep3=アプリケーションから提供されたワンタイムコードを入力し、保存をクリックしてセットアップを終了します。 +scanBarCode=バーコードをスキャンしますか? +enterBarCode=ワンタイムコードを入力してください +doCopy=コピー +doFinish=終了 + +#Authenticator - SMS Code setup +authenticatorSMSCodeSetupTitle=SMSコードのセットアップ +chooseYourCountry=国を選んでください +enterYourPhoneNumber=電話番号を入力してください +sendVerficationCode=確認コードの送信 +enterYourVerficationCode=確認コードを入力してください + +#Authenticator - backup Code setup +authenticatorBackupCodesSetupTitle=バックアップコードのセットアップ +backupcodesIntroMessage=携帯電話にアクセスできない場合でも、バックアップコードを使用してアカウントにログインできます。どこか安全でアクセス可能な場所に保管してください。 +realmName=レルム +doDownload=ダウンロード +doPrint=印刷 +backupCodesTips-1=各バックアップコードは1回使用できます。 +backupCodesTips-2=これらのコードはこの日に生成されました: +generateNewBackupCodes=新しいバックアップコードを生成する +backupCodesTips-3=新しいバックアップコードを生成すると、現在のコードは機能しなくなります。 +backtoAuthenticatorPage=オーセンティケーター・ページに戻る + + +#Resources +resources=リソース +sharedwithMe=私と共有 +share=共有 +sharedwith=共有 +accessPermissions=アクセス・パーミッション +permissionRequests=パーミッション・リクエスト +approve=承認 +approveAll=すべて承認 +people=人 +perPage=1ページあたり +currentPage=現在のページ +sharetheResource=リソースの共有 +group=グループ +selectPermission=パーミッションを選択 +addPeople=あなたのリソースを共有する人を追加 +addTeam=あなたのリソースを共有するチームを追加 +myPermissions=私のパーミッション +waitingforApproval=承認待ち +anyPermission=任意のパーミッション + +# Openshift messages +openshift.scope.user_info=ユーザー情報 +openshift.scope.user_check-access=ユーザーアクセス情報 +openshift.scope.user_full=フルアクセス +openshift.scope.list-projects=プロジェクトの一覧表示
\ No newline at end of file diff --git a/account/messages/messages_lt.properties b/account/messages/messages_lt.properties new file mode 100644 index 0000000..d6e4016 --- /dev/null +++ b/account/messages/messages_lt.properties @@ -0,0 +1,154 @@ +# encoding: utf-8 +doSave=Saugoti +doCancel=Atšaukti + +doLogOutAllSessions=Atjungti visas sesijas +doRemove=Šalinti +doAdd=Pridėti +doSignOut=Atsijungti + +editAccountHtmlTitle=Redaguoti paskyrą +federatedIdentitiesHtmlTitle=Susietos paskyros +accountLogHtmlTitle=Paskyros žurnalas +changePasswordHtmlTitle=Keisti slaptažodį +sessionsHtmlTitle=Prisijungimo sesijos +accountManagementTitle=Keycloak Naudotojų Administravimas +authenticatorTitle=Autentifikatorius +applicationsHtmlTitle=Programos + +authenticatorCode=Vienkartinis kodas +email=El. paštas +firstName=Vardas +givenName=Pavardė +fullName=Pilnas vardas +lastName=Pavardė +familyName=Pavardė +password=Slaptažodis +passwordConfirm=Pakartotas slaptažodis +passwordNew=Naujas slaptažodis +username=Naudotojo vardas +address=Adresas +street=Gatvė +locality=Miestas arba vietovė +region=Rajonas +postal_code=Pašto kodas +country=Šalis +emailVerified=El. pašto adresas patvirtintas +gssDelegationCredential=GSS prisijungimo duomenų delegavimas + +role_admin=Administratorius +role_realm-admin=Srities administravimas +role_create-realm=Kurti sritį +role_view-realm=Peržiūrėti sritį +role_view-users=Peržiūrėti naudotojus +role_view-applications=Peržiūrėti programas +role_view-clients=Peržiūrėti klientines programas +role_view-events=Peržiūrėti įvykių žurnalą +role_view-identity-providers=Peržiūrėti tapatybės teikėjus +role_manage-realm=Valdyti sritis +role_manage-users=Valdyti naudotojus +role_manage-applications=Valdyti programas +role_manage-identity-providers=Valdyti tapatybės teikėjus +role_manage-clients=Valdyti programas +role_manage-events=Valdyti įvykius +role_view-profile=Peržiūrėti paskyrą +role_manage-account=Valdyti paskyrą +role_read-token=Skaityti prieigos rakšą +role_offline-access=Darbas neprisijungus +role_uma_authorization=Įgauti UMA autorizavimo teises +client_account=Paskyra +client_security-admin-console=Saugumo administravimo konsolė +client_admin-cli=Administravimo CLI +client_realm-management=Srities valdymas +client_broker=Tarpininkas + + +requiredFields=Privalomi laukai +allFieldsRequired=Visi laukai yra privalomi + +backToApplication=« Grįžti į programą +backTo=Atgal į {0} + +date=Data +event=Įvykis +ip=IP +client=Klientas +clients=Klientai +details=Detaliau +started=Sukūrimo laikas +lastAccess=Vėliausia prieiga +expires=Galioja iki +applications=Programos + +account=Paskyra +federatedIdentity=Susieta tapatybė +authenticator=Autentifikatorius +sessions=Sesijos +log=Įvykiai + +application=Programa +availablePermissions=Galimos teisės +grantedPermissions=Įgalintos teisės +grantedPersonalInfo=Įgalinta asmeninė informacija +additionalGrants=Papildomi įgaliojimai +action=Veiksmas +inResource=yra +fullAccess=Pilna prieiga +offlineToken=Režimo neprisijungus raktas (token) +revoke=Atšaukti įgaliojimą + +configureAuthenticators=Sukonfigūruotas autentifikatorius +mobile=Mobilus +totpStep1=Įdiekite <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> arba Google Authenticator savo įrenginyje. Programėlės prieinamos <a href="https://play.google.com">Google Play</a> ir Apple App Store. +totpStep2=Atidarykite programėlę ir nuskenuokite barkodą arba įveskite kodą. +totpStep3=Įveskite programėlėje sugeneruotą vieną kartą galiojantį kodą ir paspauskite Saugoti norėdami prisijungti. + +missingUsernameMessage=Prašome įvesti naudotojo vardą. +missingFirstNameMessage=Prašome įvesti vardą. +invalidEmailMessage=Neteisingas el. pašto adresas. +missingLastNameMessage=Prašome įvesti pavardę. +missingEmailMessage=Prašome įvesti el. pašto adresą. +missingPasswordMessage=Prašome įvesti slaptažodį. +notMatchPasswordMessage=Slaptažodžiai nesutampa. + +missingTotpMessage=Prašome įvesti autentifikacijos kodą. +invalidPasswordExistingMessage=Neteisingas dabartinis slaptažodis. +invalidPasswordConfirmMessage=Pakartotas slaptažodis nesutampa. +invalidTotpMessage=Neteisingas autentifikacijos kodas. + +usernameExistsMessage=Toks naudotojas jau egzistuoja. +emailExistsMessage=El. pašto adresas jau egzistuoja. + +readOnlyUserMessage=Tik skaitymui sukonfigūruotos paskyros duomenų atnaujinti neleidžiama. +readOnlyPasswordMessage=Tik skaitymui sukonfigūruotos paskyros slaptažodžio atnaujinti neleidžiama. + +successTotpMessage=Mobilus autentifikatorius sukonfigūruotas. +successTotpRemovedMessage=Mobilus autentifikatorius pašalintas. + +successGrantRevokedMessage=Įgalinimas pašalintas sėkmingai. + +accountUpdatedMessage=Jūsų paskyros duomenys sėkmingai atnaujinti. +accountPasswordUpdatedMessage=Jūsų paskyros slaptažodis pakeistas. + +missingIdentityProviderMessage=Nenurodytas tapatybės teikėjas. +invalidFederatedIdentityActionMessage=Neteisingas arba nežinomas veiksmas. +identityProviderNotFoundMessage=Nurodytas tapatybės teikėjas nerastas. +federatedIdentityLinkNotActiveMessage=Nurodyta susieta tapatybė neaktyvi. +federatedIdentityRemovingLastProviderMessage=Jūs negalite pašalinti paskutinio tapatybės teikėjo sąsajos, nes Jūs neturite nusistatę paskyros slaptažodžio. +identityProviderRedirectErrorMessage=Klaida nukreipiant į tapatybės teikėjo puslapį. +identityProviderRemovedMessage=Tapatybės teikėjas sėkmingai pašalintas. +identityProviderAlreadyLinkedMessage=Susieta tapatybė iš {0} jau susieta su kita paskyra. +staleCodeAccountMessage=Puslapio galiojimas baigėsi. Bandykite dar kartą. +consentDenied=Prieiga draudžiama. + +accountDisabledMessage=Paskyros galiojimas sustabdytas, kreipkitės į administratorių. + +accountTemporarilyDisabledMessage=Paskyros galiojimas laikinai sustabdytas. Kreipkitės į administratorių arba pabandykite vėliau. +invalidPasswordMinLengthMessage=Per trumpas slaptažodis: mažiausias ilgis {0}. +invalidPasswordMinLowerCaseCharsMessage=Neteisingas slaptažodis: privaloma įvesti {0} mažąją raidę. +invalidPasswordMinDigitsMessage=Neteisingas slaptažodis: privaloma įvesti {0} skaitmenį. +invalidPasswordMinUpperCaseCharsMessage=Neteisingas slaptažodis: privaloma įvesti {0} didžiąją raidę. +invalidPasswordMinSpecialCharsMessage=Neteisingas slaptažodis: privaloma įvesti {0} specialų simbolį. +invalidPasswordNotUsernameMessage=Neteisingas slaptažodis: slaptažodis negali sutapti su naudotojo vardu. +invalidPasswordRegexPatternMessage=Neteisingas slaptažodis: slaptažodis netenkina regex taisyklės(ių). +invalidPasswordHistoryMessage=Neteisingas slaptažodis: slaptažodis negali sutapti su prieš tai buvusiais {0} slaptažodžiais.
\ No newline at end of file diff --git a/account/messages/messages_nl.properties b/account/messages/messages_nl.properties new file mode 100644 index 0000000..80e5503 --- /dev/null +++ b/account/messages/messages_nl.properties @@ -0,0 +1,133 @@ +doSave=Opslaan +doCancel=Annuleer +doLogOutAllSessions=Alle sessies uitloggen +doRemove=Verwijder +doAdd=Voeg toe +doSignOut=Afmelden +editAccountHtmlTitle=Bewerk account +federatedIdentitiesHtmlTitle=Federated Identities +accountLogHtmlTitle=Account log +changePasswordHtmlTitle=Verander wachtwoord +sessionsHtmlTitle=Sessies +accountManagementTitle=Keycloak Accountbeheer +authenticatorTitle=Authenticator +applicationsHtmlTitle=Toepassingen +authenticatorCode=Eenmalige code +email=E-mailadres +firstName=Voornaam +givenName=Voornaam +fullName=Volledige naam +lastName=Achternaam +familyName=Achternaam +password=Wachtwoord +passwordConfirm=Bevestiging +passwordNew=Nieuw Wachtwoord +username=Gebruikersnaam +address=Adres +street=Straat +locality=Stad of plaats +region=Staat, provincie of regio +postal_code=Postcode +country=Land +emailVerified=E-mailadres geverifieerd +gssDelegationCredential=GSS gedelegeerde aanmeldgegevens +role_admin=Beheer +role_realm-admin=Realmbeheer +role_create-realm=Creëer realm +role_view-realm=Bekijk realm +role_view-users=Bekijk gebruikers +role_view-applications=Bekijk toepassingen +role_view-clients=Bekijk clients +role_view-events=Bekijk gebeurtenissen +role_view-identity-providers=Bekijk identity providers +role_manage-realm=Beheer realm +role_manage-users=Beheer gebruikers +role_manage-applications=Beheer toepassingen +role_manage-identity-providers=Beheer identity providers +role_manage-clients=Beheer clients +role_manage-events=Beheer gebeurtenissen +role_view-profile=Bekijk profiel +role_manage-account=Beheer account +role_manage-account-links=Beheer accountkoppelingen +role_read-token=Lees token +role_offline-access=Offline toegang +role_uma_authorization=Verkrijg UMA rechten +client_account=Account +client_security-admin-console=Console Veligheidsbeheer +client_admin-cli=Beheer CLI +client_realm-management=Realmbeheer +client_broker=Broker +requiredFields=Verplichte velden +allFieldsRequired=Alle velden verplicht +backToApplication=« Terug naar toepassing +backTo=Terug naar {0} +date=Datum +event=Gebeurtenis +ip=IP +client=Client +clients=Clients +details=Details +started=Gestart +lastAccess=Laatste toegang +expires=Vervalt +applications=Toepassingen +account=Account +federatedIdentity=Federated Identity +authenticator=Authenticator +sessions=Sessies +log=Log +application=Toepassing +availablePermissions=Beschikbare rechten +grantedPermissions=Gegunde rechten +grantedPersonalInfo=Gegunde Persoonsgegevens +additionalGrants=Verdere vergunningen +action=Actie +inResource=in +fullAccess=Volledige toegang +offlineToken=Offline Token +revoke=Vergunning intrekken +configureAuthenticators=Ingestelde authenticators +mobile=Mobiel nummer +totpStep1=Installeer een van de onderstaande applicaties op uw mobiele apparaat: +totpStep2=Open de toepassing en scan de QR-code of voer de sleutel in. +totpStep3=Voer de door de toepassing gegeven eenmalige code in en klik op Opslaan om de configuratie af te ronden. +missingUsernameMessage=Gebruikersnaam ontbreekt. +missingFirstNameMessage=Voornaam onbreekt. +invalidEmailMessage=Ongeldig e-mailadres. +missingLastNameMessage=Achternaam ontbreekt. +missingEmailMessage=E-mailadres ontbreekt. +missingPasswordMessage=Wachtwoord ontbreekt. +notMatchPasswordMessage=Wachtwoorden komen niet overeen. +missingTotpMessage=Authenticatiecode ontbreekt. +invalidPasswordExistingMessage=Ongeldig bestaand wachtwoord. +invalidPasswordConfirmMessage=Wachtwoordbevestiging komt niet overeen. +invalidTotpMessage=Ongeldige authenticatiecode. +emailExistsMessage=E-mailadres bestaat reeds. +readOnlyUserMessage=U kunt uw account niet bijwerken aangezien het account alleen-lezen is. +readOnlyPasswordMessage=U kunt uw wachtwoord niet wijzigen omdat uw account alleen-lezen is. +successTotpMessage=Mobiele authenticator geconfigureerd. +successTotpRemovedMessage=Mobiele authenticator verwijderd. +successGrantRevokedMessage=Vergunning succesvol ingetrokken +accountUpdatedMessage=Uw account is gewijzigd. +accountPasswordUpdatedMessage=Uw wachtwoord is gewijzigd. +missingIdentityProviderMessage=Geen identity provider aangegeven. +invalidFederatedIdentityActionMessage=Ongeldige of ontbrekende actie op federated identity. +identityProviderNotFoundMessage=Gespecificeerde identity provider niet gevonden. +federatedIdentityLinkNotActiveMessage=Deze federated identity is niet langer geldig. +federatedIdentityRemovingLastProviderMessage=U kunt de laatste federated identity provider niet verwijderen aangezien u dan niet langer zou kunnen inloggen. +identityProviderRedirectErrorMessage=Kon niet herverwijzen naar identity provider. +identityProviderRemovedMessage=Identity provider met succes verwijderd. +identityProviderAlreadyLinkedMessage=Door {0} teruggegeven federated identity is al gekoppeld aan een andere gebruiker. +staleCodeAccountMessage=De pagina is verlopen. Probeer het nogmaals. +consentDenied=Toestemming geweigerd +accountDisabledMessage=Account is gedeactiveerd. Contacteer de beheerder. +accountTemporarilyDisabledMessage=Account is tijdelijk deactiveerd, neem contact op met de beheerder of probeer het later opnieuw. +invalidPasswordMinLengthMessage=Ongeldig wachtwoord: de minimale lengte is {0} karakters. +invalidPasswordMinLowerCaseCharsMessage=Ongeldig wachtwoord: het moet minstens {0} kleine letters bevatten. +invalidPasswordMinDigitsMessage=Ongeldig wachtwoord: het moet minstens {0} getallen bevatten. +invalidPasswordMinUpperCaseCharsMessage=Ongeldig wachtwoord: het moet minstens {0} hoofdletters bevatten. +invalidPasswordMinSpecialCharsMessage=Ongeldig wachtwoord: het moet minstens {0} speciale karakters bevatten. +invalidPasswordNotUsernameMessage=Ongeldig wachtwoord: het mag niet overeenkomen met de gebruikersnaam. +invalidPasswordRegexPatternMessage=Ongeldig wachtwoord: het voldoet niet aan het door de beheerder ingestelde patroon. +invalidPasswordHistoryMessage=Ongeldig wachtwoord: het mag niet overeen komen met een van de laatste {0} wachtwoorden. +invalidPasswordGenericMessage=Ongeldig wachtwoord: het nieuwe wachtwoord voldoet niet aan het wachtwoordbeleid. diff --git a/account/messages/messages_no.properties b/account/messages/messages_no.properties new file mode 100644 index 0000000..6fac5fb --- /dev/null +++ b/account/messages/messages_no.properties @@ -0,0 +1,165 @@ +doSave=Lagre +doCancel=Avbryt +doLogOutAllSessions=Logg ut av alle sesjoner +doRemove=Fjern +doAdd=Legg til +doSignOut=Logg ut + +editAccountHtmlTitle=Rediger konto +federatedIdentitiesHtmlTitle=Federerte identiteter +accountLogHtmlTitle=Kontologg +changePasswordHtmlTitle=Endre passord +sessionsHtmlTitle=Sesjoner +accountManagementTitle=Keycloak kontoadministrasjon +authenticatorTitle=Autentikator +applicationsHtmlTitle=Applikasjoner + +authenticatorCode=Engangskode +email=E-post +firstName=Fornavn +givenName=Fornavn +fullName=Fullt navn +lastName=Etternavn +familyName=Etternavn +password=Passord +passwordConfirm=Bekreftelse +passwordNew=Nytt passord +username=Brukernavn +address=Adresse +street=Gate-/veinavn + husnummer +locality=By +region=Fylke +postal_code=Postnummer +country=Land +emailVerified=E-post bekreftet +gssDelegationCredential=GSS legitimasjonsdelegering + +role_admin=Administrator +role_realm-admin=Administrator for sikkerhetsdomene +role_create-realm=Opprette sikkerhetsdomene +role_view-realm=Se sikkerhetsdomene +role_view-users=Se brukere +role_view-applications=Se applikasjoner +role_view-clients=Se klienter +role_view-events=Se hendelser +role_view-identity-providers=Se identitetsleverand\u00F8rer +role_manage-realm=Administrere sikkerhetsdomene +role_manage-users=Administrere brukere +role_manage-applications=Administrere applikasjoner +role_manage-identity-providers=Administrere identitetsleverand\u00F8rer +role_manage-clients=Administrere klienter +role_manage-events=Administrere hendelser +role_view-profile=Se profil +role_manage-account=Administrere konto +role_read-token=Lese token +role_offline-access=Frakoblet tilgang +role_uma_authorization=Skaffe tillatelser +client_account=Konto +client_security-admin-console=Sikkerhetsadministrasjonskonsoll +client_admin-cli=Kommandolinje-grensesnitt for administrator +client_realm-management=Sikkerhetsdomene-administrasjon +client_broker=Broker + + +requiredFields=Obligatoriske felt +allFieldsRequired=Alle felt m\u00E5 fylles ut + +backToApplication=« Tilbake til applikasjonen +backTo=Tilbake til {0} + +date=Dato +event=Hendelse +ip=IP +client=Klient +clients=Klienter +details=Detaljer +started=Startet +lastAccess=Sist benyttet +expires=Utl\u00F8per +applications=Applikasjoner + +account=Konto +federatedIdentity=Federert identitet +authenticator=Autentikator +sessions=Sesjoner +log=Logg + +application=Applikasjon +availablePermissions=Tilgjengelige rettigheter +grantedPermissions=Innvilgede rettigheter +grantedPersonalInfo=Innvilget personlig informasjon +additionalGrants=Ekstra rettigheter +action=Handling +inResource=i +fullAccess=Full tilgang +offlineToken=Offline token +revoke=Opphev rettighet + +configureAuthenticators=Konfigurerte autentikatorer +mobile=Mobiltelefon +totpStep1=Installer ett av f\u00F8lgende programmer p\u00E5 mobilen din. +totpStep2=\u00C5pne applikasjonen og skann strekkoden eller skriv inn koden. +totpStep3=Skriv inn engangskoden gitt av applikasjonen og klikk Lagre for \u00E5 fullf\u00F8re. + +missingUsernameMessage=Vennligst oppgi brukernavn. +missingFirstNameMessage=Vennligst oppgi fornavn. +invalidEmailMessage=Ugyldig e-postadresse. +missingLastNameMessage=Vennligst oppgi etternavn. +missingEmailMessage=Vennligst oppgi e-postadresse. +missingPasswordMessage=Vennligst oppgi passord. +notMatchPasswordMessage=Passordene er ikke like. + +missingTotpMessage=Vennligst oppgi engangskode. +invalidPasswordExistingMessage=Ugyldig eksisterende passord. +invalidPasswordConfirmMessage=Passordene er ikke like. +invalidTotpMessage=Ugyldig engangskode. + +usernameExistsMessage=Brukernavnet finnes allerede. +emailExistsMessage=E-postadressen finnes allerede. + +readOnlyUserMessage=Du kan ikke oppdatere kontoen din ettersom den er skrivebeskyttet. +readOnlyPasswordMessage=Du kan ikke oppdatere passordet ditt ettersom kontoen din er skrivebeskyttet. + +successTotpMessage=Autentikator for mobiltelefon er konfigurert. +successTotpRemovedMessage=Autentikator for mobiltelefon er fjernet. + +successGrantRevokedMessage=Vellykket oppheving av rettighet. + +accountUpdatedMessage=Kontoen din har blitt oppdatert. +accountPasswordUpdatedMessage=Ditt passord har blitt oppdatert. + +missingIdentityProviderMessage=Identitetsleverand\u00F8r er ikke spesifisert. +invalidFederatedIdentityActionMessage=Ugyldig eller manglende handling. +identityProviderNotFoundMessage=Spesifisert identitetsleverand\u00F8r ikke funnet. +federatedIdentityLinkNotActiveMessage=Denne identiteten er ikke lenger aktiv. +federatedIdentityRemovingLastProviderMessage=Du kan ikke fjerne siste federerte identitet ettersom du ikke har et passord. +identityProviderRedirectErrorMessage=Redirect til identitetsleverand\u00F8r feilet. +identityProviderRemovedMessage=Fjerning av identitetsleverand\u00F8r var vellykket. +identityProviderAlreadyLinkedMessage=Federert identitet returnert av {0} er allerede koblet til en annen bruker. +staleCodeAccountMessage=Siden har utl\u00F8pt. Vennligst pr\u00F8v en gang til. +consentDenied=Samtykke avsl\u00E5tt. + +accountDisabledMessage=Konto er deaktivert, kontakt administrator. + +accountTemporarilyDisabledMessage=Konto er midlertidig deaktivert, kontakt administrator eller pr\u00F8v igjen senere. +invalidPasswordMinLengthMessage=Ugyldig passord: minimum lengde {0}. +invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sm\u00E5 bokstaver. +invalidPasswordMinDigitsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sifre. +invalidPasswordMinUpperCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} store bokstaver. +invalidPasswordMinSpecialCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} spesialtegn. +invalidPasswordNotUsernameMessage=Ugyldig passord: kan ikke v\u00E6re likt brukernavn. +invalidPasswordRegexPatternMessage=Ugyldig passord: tilfredsstiller ikke kravene for passord-m\u00F8nster. +invalidPasswordHistoryMessage=Ugyldig passord: kan ikke v\u00E6re likt noen av de {0} foreg\u00E5ende passordene. + +locale_ca=Catal\u00E0 +locale_de=Deutsch +locale_en=English +locale_es=Espa\u00F1ol +locale_fr=Fran\u00e7ais +locale_it=Italian +locale_ja=\u65E5\u672C\u8A9E +locale_no=Norsk +locale_nl=Nederlands +locale_pt-BR=Portugu\u00EAs (Brasil) +locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 +locale_zh-CN=\u4e2d\u6587\u7b80\u4f53 diff --git a/account/messages/messages_pl.properties b/account/messages/messages_pl.properties new file mode 100644 index 0000000..dd55d69 --- /dev/null +++ b/account/messages/messages_pl.properties @@ -0,0 +1 @@ +# encoding: UTF-8 diff --git a/account/messages/messages_pt_BR.properties b/account/messages/messages_pt_BR.properties new file mode 100644 index 0000000..80e8515 --- /dev/null +++ b/account/messages/messages_pt_BR.properties @@ -0,0 +1,149 @@ +doSave=Salvar +doCancel=Cancelar +doLogOutAllSessions=Sair de todas as sess\u00F5es +doRemove=Remover +doAdd=Adicionar +doSignOut=Sair + +editAccountHtmlTitle=Editar Conta +federatedIdentitiesHtmlTitle=Identidades Federadas +accountLogHtmlTitle=Log da conta +changePasswordHtmlTitle=Alterar senha +sessionsHtmlTitle=Sess\u00F5es +accountManagementTitle=Gerenciamento de Conta +authenticatorTitle=Autenticator +applicationsHtmlTitle=Aplicativos + +authenticatorCode=C\u00F3digo autenticador +email=E-mail +firstName=Primeiro nome +givenName=Primeiro nome +fullName=Nome completo +lastName=Sobrenome +familyName=Sobrenome +password=Senha +passwordConfirm=Confirma\u00E7\u00E3o +passwordNew=Nova senha +username=Nome de us\u00FAario +address=Endere\u00E7o +street=Logradouro +locality=Cidade ou Localidade +region=Estado +postal_code=CEP +country=Pa\u00EDs +emailVerified=E-mail verificado +gssDelegationCredential=GSS Delega\u00E7\u00E3o de Credencial + +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Cria realm +role_view-realm=Visualiza realm +role_view-users=Visualiza usu\u00E1rios +role_view-applications=Visualiza aplica\u00E7\u00F5es +role_view-clients=Visualiza clientes +role_view-events=Visualiza eventos +role_view-identity-providers=Visualiza provedores de identidade +role_manage-realm=Gerencia realm +role_manage-users=Gerencia usu\u00E1rios +role_manage-applications=Gerencia aplica\u00E7\u00F5es +role_manage-identity-providers=Gerencia provedores de identidade +role_manage-clients=Gerencia clientes +role_manage-events=Gerencia eventos +role_view-profile=Visualiza perfil +role_manage-account=Gerencia conta +role_read-token=L\u00EA token +role_offline-access=Acesso Offline +role_uma_authorization=Obter permiss\u00F5es +client_account=Conta +client_security-admin-console=Console de Administra\u00E7\u00E3o de Seguran\u00E7a +client_admin-cli=Admin CLI +client_realm-management=Gerenciamento de Realm +client_broker=Broker + +requiredFields=Campos obrigat\u00F3rios +allFieldsRequired=Todos os campos s\u00E3o obrigat\u00F3rios + +backToApplication=« Voltar para aplica\u00E7\u00E3o +backTo=Voltar para {0} + +date=Data +event=Evento +ip=IP +client=Cliente +clients=Clientes +details=Detalhes +started=Iniciado +lastAccess=\u00DAltimo acesso +expires=Expira +applications=Aplicativos + +account=Conta +federatedIdentity=Identidade Federada +authenticator=Autenticador +sessions=Sess\u00F5es +log=Log + +application=Aplicativo +availablePermissions=Permiss\u00F5es Dispon\u00EDveis +grantedPermissions=Permiss\u00F5es Concedidas +grantedPersonalInfo=Informa\u00E7\u00F5es Pessoais Concedidas +additionalGrants=Concess\u00F5es Adicionais +action=A\u00E7\u00E3o +inResource=em +fullAccess=Acesso Completo +offlineToken=Offline Token +revoke=Revogar Concess\u00F5es + +configureAuthenticators=Autenticadores Configurados +mobile=Mobile +totpStep1=Instalar <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> ou Google Authenticator em seu dispositivo. Ambas aplica\u00E7\u00F5es est\u00E3o dispon\u00EDveis no <a href="https://play.google.com">Google Play</a> e na Apple App Store. +totpStep2=Abra o aplicativo e escaneie o c\u00F3digo de barras ou entre com o c\u00F3digo. +totpStep3=Digite o c\u00F3digo fornecido pelo aplicativo e clique em Salvar para concluir a configura\u00E7\u00E3o. + +missingUsernameMessage=Por favor, especifique o nome de usu\u00E1rio. +missingFirstNameMessage=Por favor, informe o primeiro nome. +invalidEmailMessage=E-mail inv\u00E1lido. +missingLastNameMessage=Por favor, informe o sobrenome. +missingEmailMessage=Por favor, informe o e-mail. +missingPasswordMessage=Por favor, informe a senha. +notMatchPasswordMessage=As senhas n\u00E3o coincidem. + +missingTotpMessage=Por favor, informe o c\u00F3digo autenticador. +invalidPasswordExistingMessage=Senha atual inv\u00E1lida. +invalidPasswordConfirmMessage=A senha de confirma\u00E7\u00E3o n\u00E3o coincide. +invalidTotpMessage=C\u00F3digo autenticador inv\u00E1lido. + +usernameExistsMessage=Este nome de usu\u00E1rio j\u00E1 existe. +emailExistsMessage=Este e-mail j\u00E1 existe. + +readOnlyUserMessage=Voc\u00EA n\u00E3o pode atualizar sua conta, uma vez que \u00E9 apenas de leitura +readOnlyPasswordMessage=Voc\u00EA n\u00E3o pode atualizar sua senha, sua conta \u00E9 somente leitura + +successTotpMessage=Autenticador mobile configurado. +successTotpRemovedMessage=Autenticador mobile removido. + +successGrantRevokedMessage=Concess\u00F5es revogadas com sucesso. + +accountUpdatedMessage=Sua conta foi atualizada +accountPasswordUpdatedMessage=Sua senha foi atualizada + +missingIdentityProviderMessage=Provedor de identidade n\u00E3o especificado +invalidFederatedIdentityActionMessage=A\u00E7\u00E3o inv\u00E1lida ou ausente +identityProviderNotFoundMessage=O provedor de identidade especificado n\u00E3o foi encontrado +federatedIdentityLinkNotActiveMessage=Esta identidade n\u00E3o est\u00E1 mais em atividade +federatedIdentityRemovingLastProviderMessage=Voc\u00EA n\u00E3o pode remover a \u00FAltima identidade federada como voc\u00EA n\u00E3o tem senha +identityProviderRedirectErrorMessage=Falha ao redirecionar para o provedor de identidade +identityProviderRemovedMessage=Provedor de identidade removido com sucesso +identityProviderAlreadyLinkedMessage=Identidade federada retornado por {0} j\u00E1 est\u00E1 ligado a outro usu\u00E1rio. + +accountDisabledMessage=Conta desativada, contate o administrador + +accountTemporarilyDisabledMessage=A conta est\u00E1 temporariamente indispon\u00EDvel, contate o administrador ou tente novamente mais tarde +invalidPasswordMinLengthMessage=Senha inv\u00E1lida\: comprimento m\u00EDnimo {0} +invalidPasswordMinLowerCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) min\u00FAsculo +invalidPasswordMinDigitsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} n\u00FAmero(s) +invalidPasswordMinUpperCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) mai\u00FAsculo +invalidPasswordMinSpecialCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) especial +invalidPasswordNotUsernameMessage=Senha inv\u00E1lida\: n\u00E3o deve ser igual ao nome de usu\u00E1rio +invalidPasswordRegexPatternMessage=Senha inv\u00E1lida\: n\u00E3o corresponde ao padr\u00E3o da express\u00E3o regular. +invalidPasswordHistoryMessage=Senha inv\u00E1lida\: n\u00E3o pode ser igual a qualquer uma das {0} \u00FAltimas senhas.
\ No newline at end of file diff --git a/account/messages/messages_ru.properties b/account/messages/messages_ru.properties new file mode 100644 index 0000000..a9716b8 --- /dev/null +++ b/account/messages/messages_ru.properties @@ -0,0 +1,155 @@ +# encoding: utf-8 +doSave=Сохранить +doCancel=Отмена +doLogOutAllSessions=Выйти из всех сессий +doRemove=Удалить +doAdd=Добавить +doSignOut=Выход + +editAccountHtmlTitle=Изменение учетной записи +federatedIdentitiesHtmlTitle=Федеративные идентификаторы +accountLogHtmlTitle=Лог учетной записи +changePasswordHtmlTitle=Смена пароля +sessionsHtmlTitle=Сессии +accountManagementTitle=Управление учетной записью +authenticatorTitle=Аутентификатор +applicationsHtmlTitle=Приложения + +authenticatorCode=Одноразовый код +email=E-mail +firstName=Имя +givenName=Имя +fullName=Полное имя +lastName=Фамилия +familyName=Фамилия +password=Пароль +passwordConfirm=Подтверждение пароля +passwordNew=Новый пароль +username=Имя пользователя +address=Адрес +street=Улица +locality=Город +region=Регион +postal_code=Почтовый индекс +country=Страна +emailVerified=E-mail подтвержден +gssDelegationCredential=Делегирование учетных данных через GSS + +role_admin=Администратор +role_realm-admin=Администратор realm +role_create-realm=Создать realm +role_view-realm=Просмотр realm +role_view-users=Просмотр пользователей +role_view-applications=Просмотр приложений +role_view-clients=Просмотр клиентов +role_view-events=Просмотр событий +role_view-identity-providers=Просмотр провайдеров учетных записей +role_manage-realm=Управление realm +role_manage-users=Управление пользователями +role_manage-applications=Управление приложениями +role_manage-identity-providers=Управление провайдерами учетных записей +role_manage-clients=Управление клиентами +role_manage-events=Управление событиями +role_view-profile=Просмотр профиля +role_manage-account=Управление учетной записью +role_read-token=Чтение токена +role_offline-access=Доступ оффлайн +role_uma_authorization=Получение разрешений +client_account=Учетная запись +client_security-admin-console=Консоль администратора безопасности +client_admin-cli=Командный интерфейс администратора +client_realm-management=Управление Realm +client_broker=Брокер + + +requiredFields=Обязательные поля +allFieldsRequired=Все поля обязательны + +backToApplication=« Назад в приложение +backTo=Назад в {0} + +date=Дата +event=Событие +ip=IP +client=Клиент +clients=Клиенты +details=Детали +started=Начата +lastAccess=Последний доступ +expires=Истекает +applications=Приложения + +account=Учетная запись +federatedIdentity=Федеративный идентификатор +authenticator=Аутентификатор +sessions=Сессии +log=Журнал + +application=Приложение +availablePermissions=Доступные разрешения +grantedPermissions=Согласованные разрешения +grantedPersonalInfo=Согласованная персональная информация +additionalGrants=Дополнительные согласования +action=Действие +inResource=в +fullAccess=Полный доступ +offlineToken=Оффлайн токен +revoke=Отозвать согласование + +configureAuthenticators=Сконфигурированные аутентификаторы +mobile=Мобильное приложение +totpStep1=Установите <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> или Google Authenticator. Оба приложения доступны на <a href="https://play.google.com">Google Play</a> и в Apple App Store. +totpStep2=Откройте приложение и просканируйте баркод, либо введите ключ. +totpStep3=Введите одноразовый код, выданный приложением, и нажмите сохранить для завершения установки. + +missingUsernameMessage=Введите имя пользователя. +missingFirstNameMessage=Введите имя. +invalidEmailMessage=Введите корректный E-mail. +missingLastNameMessage=Введите фамилию. +missingEmailMessage=Введите E-mail. +missingPasswordMessage=Введите пароль. +notMatchPasswordMessage=Пароли не совпадают. + +missingTotpMessage=Введите код аутентификатора. +invalidPasswordExistingMessage=Существующий пароль неверный. +invalidPasswordConfirmMessage=Подтверждение пароля не совпадает. +invalidTotpMessage=Неверный код аутентификатора. + +usernameExistsMessage=Имя пользователя уже существует. +emailExistsMessage=E-mail уже существует. + +readOnlyUserMessage=Вы не можете обновить информацию вашей учетной записи, т.к. она доступна только для чтения. +readOnlyPasswordMessage=Вы не можете обновить пароль вашей учетной записи, т.к. он доступен только для чтения. + +successTotpMessage=Аутентификатор в мобильном приложении сконфигурирован. +successTotpRemovedMessage=Аутентификатор в мобильном приложении удален. + +successGrantRevokedMessage=Согласование отозвано успешно. + +accountUpdatedMessage=Ваша учетная запись обновлена. +accountPasswordUpdatedMessage=Ваш пароль обновлен. + +missingIdentityProviderMessage=Провайдер учетных записей не задан. +invalidFederatedIdentityActionMessage=Некорректное или недопустимое действие. +identityProviderNotFoundMessage=Заданный провайдер учетных записей не найден. +federatedIdentityLinkNotActiveMessage=Идентификатор больше не активен. +federatedIdentityRemovingLastProviderMessage=Вы не можете удалить последний федеративный идентификатор, т.к. Вы не имеете пароля. +identityProviderRedirectErrorMessage=Ошибка перенаправления в провайдер учетных записей. +identityProviderRemovedMessage=Провайдер учетных записей успешно удален. +identityProviderAlreadyLinkedMessage=Федеративный идентификатор, возвращенный {0} уже используется другим пользователем. +staleCodeAccountMessage=Страница устарела. Попробуйте еще раз. +consentDenied=В согласовании отказано. + +accountDisabledMessage=Учетная запись заблокирована, обратитесь к администратору. + +accountTemporarilyDisabledMessage=Учетная запись временно заблокирована, обратитесь к администратору или попробуйте позже. +invalidPasswordMinLengthMessage=Некорректный пароль: длина пароля должна быть не менее {0} символа(ов). +invalidPasswordMinLowerCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символа(ов) в нижнем регистре. +invalidPasswordMinDigitsMessage=Некорректный пароль: пароль должен содержать не менее {0} цифр(ы). +invalidPasswordMinUpperCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символа(ов) в верхнем регистре. +invalidPasswordMinSpecialCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} спецсимвола(ов). +invalidPasswordNotUsernameMessage=Некорректный пароль: пароль не должен совпадать с именем пользователя. +invalidPasswordRegexPatternMessage=Некорректный пароль: пароль не удовлетворяет регулярному выражению. +invalidPasswordHistoryMessage=Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролями. +invalidPasswordGenericMessage=Некорректный пароль: новый пароль не соответствует правилам пароля. + diff --git a/account/messages/messages_sk.properties b/account/messages/messages_sk.properties new file mode 100644 index 0000000..32cafc6 --- /dev/null +++ b/account/messages/messages_sk.properties @@ -0,0 +1,196 @@ +# encoding: utf-8 +doSave=Uložiť +doCancel=Zrušiť +doLogOutAllSessions=Odhlásenie všetkých relácií +doRemove=Odstrániť +doAdd=Pridať +doSignOut=Odhlásiť + +editAccountHtmlTitle=Upraviť účet +federatedIdentitiesHtmlTitle=Prepojená identita +accountLogHtmlTitle=Denník zmien užívateľských účtov +changePasswordHtmlTitle=Zmena hesla +sessionsHtmlTitle=Relácie +accountManagementTitle=Správa účtu Keycloak +authenticatorTitle=Autentifikátor +applicationsHtmlTitle=Aplikácie + +authenticatorCode=Jednorázový kód +email=E-mail +firstName=Meno +givenName=Meno pri narodení +fullName=Celé meno +lastName=Priezvisko +familyName=Rodné meno +password=Heslo +passwordConfirm=Potrvrdenie hesla +passwordNew=Nové heslo +username=Meno používateľa +address=Adresa +street=Ulica +locality=Mesto alebo lokalita +region=Kraj +postal_code=PSČ +country=Štát +emailVerified=E-mail overený +gssDelegationCredential=GSS delegované oprávnenie + +role_admin=Administrátor +role_realm-admin=Administrátor realmu +role_create-realm=Vytvoriť realm +role_view-realm=Zobraziť realm +role_view-users=Zobraziť používateľov +role_view-applications=Zobraziť aplikácie +role_view-clients=Zobraziť klientov +role_view-events=Zobraziť udalosti +role_view-identity-providers=Zobraziť klientov poskytovateľov identity +role_manage-realm=Spravovať realm +role_manage-users=Spravovať používateľov +role_manage-applications=Spravovať aplikácie +role_manage-identity-providers=Spravovať poskytovateľov identity +role_manage-clients=Spravovať klientov +role_manage-events=Spravovať udalosti +role_view-profile=Zobraziť profil +role_manage-account=Spravovať účet +role_manage-account-links=Spravovať odkazy na účet +role_read-token=Čítať token +role_offline-access=Offline prístup +role_uma_authorization=Autorizácia používateľom riadeného prístupu +client_account=Účet klienta +client_security-admin-console=Bezpečnostná administrátorská konzola +client_admin-cli=Spravovať CLI klienta +client_realm-management=Spravovať realmy klienta +client_broker=Broker + + +requiredFields=Povinné polia +allFieldsRequired=Všetky požadované polia + +backToApplication=« Späť na aplikáciu +backTo=Späť na {0} + +date=Dátum +event=Udalosť +ip=IP +client=Klient +clients=Klienti +details=Podrobnosti +started=Začíname +lastAccess=Posledný prístup +expires=Vyprší +applications=Aplikácie + +account=Účet +federatedIdentity=Prepojená identita +authenticator=Autentifikátor +sessions=Relácie +log=Denník + +application=Aplikácia +availablePermissions=Dostupné oprávnenia +grantedPermissions=Pridelené oprávnenia +grantedPersonalInfo=Poskytnuté osobné informácie +additionalGrants=Dodatočné oprávnenia +action=Akcia +inResource=v +fullAccess=Úplný prístup +offlineToken=Offline token +revoke=Zrušiť oprávnenie + +configureAuthenticators=Nakonfigurované autentifikátory +mobile=Mobilný +totpStep1=Nainštalujte vo svojom zariadení <a href="https://freeotp.github.io/" target="_blank"> FreeOTP </a> alebo Google Authenticator. Obidve aplikácie sú k dispozícii v <a href="https://play.google.com"> Google Play </a> a Apple App Store. +totpStep2=Otvorte aplikáciu a naskenujte čiarový kód alebo zadajte kľúč. +totpStep3=Zadajte jednorazový kód poskytnutý aplikáciou a kliknutím na tlačidlo Uložiť dokončíte nastavenie. + +totpManualStep2=Otvorte aplikáciu a zadajte kľúč +totpManualStep3=Použite nasledujúce hodnoty konfigurácie, ak aplikácia umožňuje ich nastavenie +totpUnableToScan=Nemožno skenovať? +totpScanBarcode=Skenovanie čiarového kódu? + +totp.totp=Založené na čase +totp.hotp=Založené na počítadle + +totpType=Typ +totpAlgorithm=Algoritmus +totpDigits=Číslica +totpInterval=Interval +totpCounter=Počítadlo + +missingUsernameMessage=Zadajte používateľské meno. +missingFirstNameMessage=Zadajte meno. +invalidEmailMessage=Neplatná e-mailová adresa. +missingLastNameMessage=Zadajte priezvisko. +missingEmailMessage=Zadajte e-mail. +missingPasswordMessage=Zadajte heslo, prosím. +notMatchPasswordMessage=Heslá sa nezhodujú. + +missingTotpMessage=Zadajte jednorazový kód, prosím +invalidPasswordExistingMessage=Neplatné existujúce heslo. +invalidPasswordConfirmMessage=Potvrdenie hesla sa nezhoduje. +invalidTotpMessage=Neplatný jednorazový kód. + +usernameExistsMessage=Užívateľské meno už existuje. +emailExistsMessage=E-mail už existuje. + +readOnlyUserMessage=Váš účet nemôžete aktualizovať, pretože je iba na čítanie. +readOnlyUsernameMessage=Nemôžete aktualizovať svoje používateľské meno, pretože je iba na čítanie. +readOnlyPasswordMessage=Heslo nemôžete aktualizovať, pretože váš účet je iba na čítanie. + +successTotpMessage=Konfigurácia mobilného autentifikátora. +successTotpRemovedMessage=Mobilný autentifikátor bol odstránený. + +successGrantRevokedMessage=Oprávnenie bolo úspešne zrušené. + +accountUpdatedMessage=Váš účet bol aktualizovaný. +accountPasswordUpdatedMessage=Vaše heslo bolo aktualizované. + +missingIdentityProviderMessage=Poskytovateľ identity nie je zadaný. +invalidFederatedIdentityActionMessage=Neplatná alebo chýbajúca akcia. +identityProviderNotFoundMessage=Zadaný poskytovateľ identity nenájdený. +federatedIdentityLinkNotActiveMessage=Identita už nie je aktívna. +federatedIdentityRemovingLastProviderMessage=Nemôžete odstrániť poslednú spojenú identitu, pretože nemáte heslo. +identityProviderRedirectErrorMessage=Nepodarilo sa presmerovať na poskytovateľa identity. +identityProviderRemovedMessage=Poskytovateľ identity bol úspešne odstránený. +identityProviderAlreadyLinkedMessage=Spojená identita vrátená {0} je už prepojená s iným používateľom. +staleCodeAccountMessage=Platnosť vypršala. Skúste ešte raz. +consentDenied=Súhlas bol zamietnutý. + +accountDisabledMessage=Účet je zakázaný, kontaktujte správcu. + +accountTemporarilyDisabledMessage=Účet je dočasne zakázaný, kontaktujte administrátora alebo skúste neskôr. +invalidPasswordMinLengthMessage=Neplatné heslo: minimálna dĺžka {0}. +invalidPasswordMinLowerCaseCharsMessage=Neplatné heslo: musí obsahovať minimálne {0} malé písmená. +invalidPasswordMinDigitsMessage=Neplatné heslo: musí obsahovať aspoň {0} číslic. +invalidPasswordMinUpperCaseCharsMessage=Neplatné heslo: musí obsahovať aspoň {0} veľké písmená. +invalidPasswordMinSpecialCharsMessage=Neplatné heslo: musí obsahovať aspoň {0} špeciálne znaky. +invalidPasswordNotUsernameMessage=Neplatné heslo: nesmie byť rovnaké ako používateľské meno. +invalidPasswordRegexPatternMessage=Neplatné heslo: nezodpovedá regulárnemu výrazu. +invalidPasswordHistoryMessage=Neplatné heslo: nesmie sa rovnať žiadnemu z posledných {0} hesiel. +invalidPasswordBlacklistedMessage=Neplatné heslo: heslo je na čiernej listine. +invalidPasswordGenericMessage=Neplatné heslo: nové heslo nezodpovedá pravidlám hesiel. + +# Authorization +myResources=Moje Zdroje +myResourcesSub=Moje zdroje +doDeny=Zakázať +doRevoke=Odvolať +doApprove=Schváliť +doRemoveSharing=Odstránenie zdieľania +doRemoveRequest=Odstrániť požiadavku +peopleAccessResource=Ľudia s prístupom k tomuto zdroju +name=Názov +scopes=Rozsahy +resource=Zdroj +user=Používateľ +peopleSharingThisResource=Ľudia zdieľajúci tento zdroj +shareWithOthers=Zdieľať s ostatnými +needMyApproval=Potrebuje môj súhlas +requestsWaitingApproval=Vaše požiadavky čakajú na schválenie +icon=Ikona +requestor=Žiadateľ +owner=Vlastník +resourcesSharedWithMe=Zdroje zdieľané so mnou +permissionRequestion=Žiadosti o povolenie +permission=Oprávnenie +shares=podiel (y) diff --git a/account/messages/messages_sv.properties b/account/messages/messages_sv.properties new file mode 100644 index 0000000..cc134cd --- /dev/null +++ b/account/messages/messages_sv.properties @@ -0,0 +1,150 @@ +# encoding: utf-8 +doSave=Spara +doCancel=Avbryt +doLogOutAllSessions=Logga ut från samtliga sessioner +doRemove=Ta bort +doAdd=Lägg till +doSignOut=Logga ut + +editAccountHtmlTitle=Redigera konto +federatedIdentitiesHtmlTitle=Federerade identiteter +accountLogHtmlTitle=Kontologg +changePasswordHtmlTitle=Byt lösenord +sessionsHtmlTitle=Sessioner +accountManagementTitle=Kontohantering för Keycloak +authenticatorTitle=Autentiserare +applicationsHtmlTitle=Applikationer + +authenticatorCode=Engångskod +email=E-post +firstName=Förnamn +lastName=Efternamn +password=Lösenord +passwordConfirm=Bekräftelse +passwordNew=Nytt lösenord +username=Användarnamn +address=Adress +street=Gata +locality=Postort +region=Stat, Provins eller Region +postal_code=Postnummer +country=Land +emailVerified=E-post verifierad +gssDelegationCredential=GSS Delegation Credential + +role_admin=Administratör +role_realm-admin=Realm-administratör +role_create-realm=Skapa realm +role_view-realm=Visa realm +role_view-users=Visa användare +role_view-applications=Visa applikationer +role_view-clients=Visa klienter +role_view-events=Visa event +role_view-identity-providers=Visa identitetsleverantörer +role_manage-realm=Hantera realm +role_manage-users=Hantera användare +role_manage-applications=Hantera applikationer +role_manage-identity-providers=Hantera identitetsleverantörer +role_manage-clients=Hantera klienter +role_manage-events=Hantera event +role_view-profile=Visa profil +role_manage-account=Hantera konto +role_read-token=Läs element +role_offline-access=Åtkomst offline +role_uma_authorization=Erhåll tillstånd +client_account=Konto +client_security-admin-console=Säkerhetsadministratörskonsol +client_admin-cli=Administratörs-CLI +client_realm-management=Realmhantering + + +requiredFields=Obligatoriska fält +allFieldsRequired=Samtliga fält krävs + +backToApplication=« Tillbaka till applikationen +backTo=Tillbaka till {0} + +date=Datum +event=Event +ip=IP +client=Klient +clients=Klienter +details=Detaljer +started=Startade +lastAccess=Senast åtkomst +expires=Upphör +applications=Applikationer + +account=Konto +federatedIdentity=Federerad identitet +authenticator=Autentiserare +sessions=Sessioner +log=Logg + +application=Applikation +availablePermissions=Tillgängliga rättigheter +grantedPermissions=Beviljade rättigheter +grantedPersonalInfo=Medgiven personlig information +additionalGrants=Ytterligare medgivanden +action=Åtgärd +inResource=i +fullAccess=Fullständig åtkomst +offlineToken=Offline token +revoke=Upphäv rättighet + +configureAuthenticators=Konfigurerade autentiserare +mobile=Mobil +totpStep1=Installera <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> eller Google Authenticator på din enhet. Båda applikationerna finns tillgängliga på <a href="https://play.google.com">Google Play</a> och Apple App Store. +totpStep2=Öppna applikationen och skanna streckkoden eller skriv i nyckeln. +totpStep3=Fyll i engångskoden som tillhandahålls av applikationen och klicka på Spara för att avsluta inställningarna. + +missingUsernameMessage=Vänligen ange användarnamn. +missingFirstNameMessage=Vänligen ange förnamn. +invalidEmailMessage=Ogiltig e-postadress. +missingLastNameMessage=Vänligen ange efternamn. +missingEmailMessage=Vänligen ange e-post. +missingPasswordMessage=Vänligen ange lösenord. +notMatchPasswordMessage=Lösenorden matchar inte. + +missingTotpMessage=Vänligen ange autentiseringskoden. +invalidPasswordExistingMessage=Det nuvarande lösenordet är ogiltigt. +invalidPasswordConfirmMessage=Lösenordsbekräftelsen matchar inte. +invalidTotpMessage=Autentiseringskoden är ogiltig. + +usernameExistsMessage=Användarnamnet finns redan. +emailExistsMessage=E-posten finns redan. + +readOnlyUserMessage=Du kan inte uppdatera ditt konto eftersom det är skrivskyddat. +readOnlyPasswordMessage=Du kan inte uppdatera ditt lösenord eftersom ditt konto är skrivskyddat. + +successTotpMessage=Mobilautentiseraren är inställd. +successTotpRemovedMessage=Mobilautentiseraren är borttagen. + +successGrantRevokedMessage=Upphävandet av rättigheten lyckades. + +accountUpdatedMessage=Ditt konto har uppdaterats. +accountPasswordUpdatedMessage=Ditt lösenord har uppdaterats. + +missingIdentityProviderMessage=Identitetsleverantör är inte angiven. +invalidFederatedIdentityActionMessage=Åtgärden är ogiltig eller saknas. +identityProviderNotFoundMessage=Angiven identitetsleverantör hittas inte. +federatedIdentityLinkNotActiveMessage=Den här identiteten är inte längre aktiv. +federatedIdentityRemovingLastProviderMessage=Du kan inte ta bort senaste federerade identiteten eftersom du inte har ett lösenord. +identityProviderRedirectErrorMessage=Misslyckades med att omdirigera till identitetsleverantör. +identityProviderRemovedMessage=Borttagningen av identitetsleverantören lyckades. +identityProviderAlreadyLinkedMessage=Den federerade identiteten som returnerades av {0} är redan länkad till en annan användare. +staleCodeAccountMessage=Sidan har upphört att gälla. Vänligen försök igen. +consentDenied=Samtycket förnekades. + +accountDisabledMessage=Kontot är inaktiverat, kontakta administratör. + +accountTemporarilyDisabledMessage=Kontot är tillfälligt inaktiverat, kontakta administratör eller försök igen senare. +invalidPasswordMinLengthMessage=Ogiltigt lösenord. Minsta längd är {0}. +invalidPasswordMinLowerCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} små bokstäver. +invalidPasswordMinDigitsMessage=Ogiltigt lösenord: måste innehålla minst {0} siffror. +invalidPasswordMinUpperCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} stora bokstäver. +invalidPasswordMinSpecialCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} specialtecken. +invalidPasswordNotUsernameMessage=Ogiltigt lösenord: Får inte vara samma som användarnamnet. +invalidPasswordRegexPatternMessage=Ogiltigt lösenord: matchar inte kravet för lösenordsmönster. +invalidPasswordHistoryMessage=Ogiltigt lösenord: Får inte vara samma som de senaste {0} lösenorden. +invalidPasswordGenericMessage=Ogiltigt lösenord: Det nya lösenordet stämmer inte med lösenordspolicyn.
\ No newline at end of file diff --git a/account/messages/messages_tr.properties b/account/messages/messages_tr.properties new file mode 100644 index 0000000..c83126d --- /dev/null +++ b/account/messages/messages_tr.properties @@ -0,0 +1,341 @@ +doSave=Kaydet +doCancel=\u0130ptal +doLogOutAllSessions=T\u00FCm Oturumlar\u0131 Kapat +doRemove=Sil +doAdd=Ekle +doSignOut=\u00C7\u0131k\u0131\u015F +doLogIn=Oturum a\u00E7 +doLink=Ba\u011Flant\u0131 + + +editAccountHtmlTitle=Hesab\u0131m +personalInfoHtmlTitle=Ki\u015Fisel bilgi +federatedIdentitiesHtmlTitle=De\u011Fi\u015Ftirilen Kimlikler +accountLogHtmlTitle=Kullan\u0131c\u0131 Loglar\u0131 +changePasswordHtmlTitle=\u015Eifre De\u011Fi\u015Ftirme +deviceActivityHtmlTitle=Cihaz Etkinli\u011Fi +sessionsHtmlTitle=Oturum +accountManagementTitle=Keycloak Kullan\u0131c\u0131 Hesab\u0131 Y\u00F6netimi +authenticatorTitle=Kimlik Do\u011Frulama +applicationsHtmlTitle=Uygulama +linkedAccountsHtmlTitle=Ba\u011Flant\u0131l\u0131 Hesaplar + +accountManagementWelcomeMessage=Keycloak Hesap Y\u00F6netimine Ho\u015F Geldiniz +personalInfoIntroMessage=Temel bilgilerinizi y\u00F6netin +accountSecurityTitle=Hesap G\u00FCvenli\u011Fi +accountSecurityIntroMessage=\u015Eifrenizi ve hesap eri\u015Fiminizi kontrol edin +applicationsIntroMessage=Hesab\u0131n\u0131za eri\u015Fmek i\u00E7in uygulama izninizi takip edin ve y\u00F6netin +resourceIntroMessage=Kaynaklar\u0131n\u0131z\u0131 ekip \u00FCyeleri aras\u0131nda payla\u015F\u0131n +passwordLastUpdateMessage=\u015Eifreniz g\u00FCncellendi +updatePasswordTitle=\u015Eifre g\u00FCncelle +updatePasswordMessageTitle=G\u00FC\u00E7l\u00FC bir \u015Fifre se\u00E7ti\u011Finizden emin olun +updatePasswordMessage=G\u00FC\u00E7l\u00FC bir \u015Fifre, say\u0131lar, harfler ve sembollerin kar\u0131\u015F\u0131m\u0131ndan olu\u015Fmal\u0131d\u0131r. Tahmin etmesi zor ve ger\u00E7ek bir kelimeye benzemeyen \u015Fifre sadece bu hesap i\u00E7in kullan\u0131l\u0131r. +personalSubTitle=Ki\u015Fisel Bilgileriniz +personalSubMessage=Bu temel bilgileri y\u00F6netin: ad\u0131n\u0131z, soyad\u0131n\u0131z ve e-posta adresiniz + +authenticatorCode=Kimlik Do\u011Frulama Kodu +email=E-Mail +firstName=Ad +givenName=Ad +fullName=Ad Soyad +lastName=Soyad +familyName=Soyad +password=\u015Eifre +currentPassword=\u015Eimdiki \u015Eifre +passwordConfirm=\u015Eifre Do\u011Frulama +passwordNew=Yeni \u015Eifre +username=Kullan\u0131c\u0131 Ad\u0131 +address=Adres +street=Cadde +region=B\u00F6lge +postal_code=Posta Kodu +locality=\u015Eehir +country=\u00DClke +emailVerified=E-Mail Do\u011Fruland\u0131 +gssDelegationCredential=GSS Yetki Bilgisi + +profileScopeConsentText=Kullan\u0131c\u0131 profili +emailScopeConsentText=Email adresi +addressScopeConsentText=Adres +phoneScopeConsentText=Telefon numaras\u0131 +offlineAccessScopeConsentText=\u00C7evrimd\u0131\u015F\u0131 Eri\u015Fim +samlRoleListScopeConsentText=Rollerim +rolesScopeConsentText=Kullan\u0131c\u0131 rolleri + +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Realm Olu\u015Ftur +role_view-realm=Realm g\u00F6r\u00FCnt\u00FCle +role_view-users=Kullan\u0131c\u0131lar\u0131 g\u00F6r\u00FCnt\u00FCle +role_view-applications=Uygulamalar\u0131 g\u00F6r\u00FCnt\u00FCle +role_view-clients=\u0130stemci g\u00F6r\u00FCnt\u00FCle +role_view-events=Olay g\u00F6r\u00FCnt\u00FCle +role_view-identity-providers=Kimlik Sa\u011Flay\u0131c\u0131lar +role_manage-realm=Realm y\u00F6net +role_manage-users=Kullan\u0131c\u0131lar\u0131 y\u00F6net +role_manage-applications=Uygulamalar\u0131 y\u00F6net +role_manage-identity-providers=Kimlik Sa\u011Flay\u0131c\u0131lar\u0131 Y\u00F6net +role_manage-clients=\u0130stemci y\u00F6net +role_manage-events=Olay y\u00F6net +role_view-profile=Profilleri g\u00F6r\u00FCnt\u00FCle +role_manage-account=Profilleri Y\u00F6net +role_manage-account-links=Profil ba\u011Flant\u0131lar\u0131n\u0131 y\u00F6net +role_read-token=Token oku +role_offline-access=\u00C7evirimd\u0131\u015F\u0131 Yetki +role_uma_authorization=\u0130zinleri Al +client_account=M\u00FC\u015Fteri Hesab\u0131 +client_security-admin-console=G\u00FCvenlik Y\u00F6netici Konsolu +client_admin-cli=Admin CLI +client_realm-management=Realm-Management +client_broker=Broker + +requiredFields=Zorunlu Alanlar +allFieldsRequired=T\u00FCm Alanlar Zorunlu + +backToApplication=« Uygulamaya D\u00F6n +backTo=Geri D\u00F6n {0} + +date=G\u00FCn +event=Olay +ip=IP +client=\u0130stemci +clients=\u0130stemciler +details=Detaylar +started=Ba\u015Flang\u0131\u00E7 Tarihi +lastAccess=Son Eri\u015Fim Tarihi +expires=Son Kullanma Tarihi +applications=Uygulama + +account=Hesap +federatedIdentity=Federal Kimlik +authenticator=Kimlik Do\u011Frulama +device-activity=Cihaz Etkinli\u011Fi +sessions=Oturum +log=Log + +application=Uygulama +availablePermissions=Kullan\u0131labilir \u0130zinler +availableRoles=Kullan\u0131labilir Roller +grantedPermissions=Verilen \u0130zinler +grantedPersonalInfo=\u0130zin Verilen Ki\u015Fisel Bilgiler +additionalGrants=Ek \u0130zinler +action=Aksiyon +inResource=Kaynak +fullAccess=Tam Yetki +offlineToken=\u00C7evirimd\u0131\u015F\u0131-Token +revoke=\u0130zni \u0130ptal et + +configureAuthenticators=\u00C7oklu Kimlik Do\u011Frulama +mobile=Mobil +totpStep1=Ak\u0131ll\u0131 Telefonunuza a\u015Fa\u011F\u0131daki uygulamalardan birini y\u00FCkleyin: +totpStep2=Uygulamay\u0131 a\u00E7\u0131n ve barkodu okutun. +totpStep3=Uygulama taraf\u0131ndan olu\u015Fturulan tek seferlik kodu girin ve Kaydet''i t\u0131klay\u0131n. + +totpManualStep2=Uygulamay\u0131 a\u00E7\u0131n ve a\u015Fa\u011F\u0131daki anahtar\u0131 girin. +totpManualStep3=Bunlar\u0131 uygulama i\u00E7in \u00F6zelle\u015Ftirebilirseniz a\u015Fa\u011F\u0131daki yap\u0131land\u0131rma de\u011Ferlerini kullan\u0131n: +totpUnableToScan=Barkodu tarayam\u0131yor musunuz? +totpScanBarcode=Barkod Tara? + +totp.totp=Zaman bazl\u0131 (time-based) +totp.hotp=Saya\u00E7 tabanl\u0131 (counter-based) + +totpType=Tip +totpAlgorithm=Algoritma +totpDigits=Basamak +totpInterval=Aral\u0131k +totpCounter=Saya\u00E7 + +missingUsernameMessage=L\u00FCtfen bir kullan\u0131c\u0131 ad\u0131 giriniz. +missingFirstNameMessage=L\u00FCtfen bir ad girin. +invalidEmailMessage=Ge\u00E7ersiz e-posta adresi. +missingLastNameMessage=L\u00FCtfen bir soyad\u0131 giriniz. +missingEmailMessage=L\u00FCtfen bir e-mail adresi giriniz. +missingPasswordMessage=L\u00FCtfen bir \u015Fifre giriniz. +notMatchPasswordMessage=\u015Eifreler ayn\u0131 de\u011Fil. + +missingTotpMessage=L\u00FCtfen tek seferlik kodu girin. +invalidPasswordExistingMessage=Mevcut \u015Fifre ge\u00E7ersiz. +invalidPasswordConfirmMessage=\u015Eifre onay\u0131 ayn\u0131 de\u011Fil. +invalidTotpMessage=Ge\u00E7ersiz tek seferlik kod. + +usernameExistsMessage=Kullan\u0131c\u0131 ad\u0131 zaten mevcut. +emailExistsMessage=E-posta adresi zaten mevcut. + +readOnlyUserMessage=Yazma korumal\u0131 oldu\u011Fundan kullan\u0131c\u0131 hesab\u0131n\u0131z\u0131 de\u011Fi\u015Ftiremezsiniz. +readOnlyUsernameMessage=Yazma korumal\u0131 oldu\u011Fundan kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 de\u011Fi\u015Ftiremezsiniz. +readOnlyPasswordMessage=Yazma korumal\u0131 oldu\u011Fundan \u015Fifrenizi de\u011Fi\u015Ftiremezsiniz. + +successTotpMessage=\u00C7oklu kimlik do\u011Frulamas\u0131 ba\u015Far\u0131yla yap\u0131land\u0131r\u0131ld\u0131. +successTotpRemovedMessage=\u00C7oklu kimlik do\u011Frulama ba\u015Far\u0131yla kald\u0131r\u0131ld\u0131. + +successGrantRevokedMessage=\u0130zin ba\u015Far\u0131yla iptal edildi. + +accountUpdatedMessage=Kullan\u0131c\u0131 hesab\u0131n\u0131z g\u00FCncellendi. +accountPasswordUpdatedMessage=\u015Eifreniz g\u00FCncellendi. + +missingIdentityProviderMessage=Kimlik Sa\u011Flay\u0131c\u0131s\u0131 belirtilmemi\u015F. +invalidFederatedIdentityActionMessage=Ge\u00E7ersiz veya eksik eylem. +identityProviderNotFoundMessage=Belirtilen Kimlik Sa\u011Flay\u0131c\u0131 bulunamad\u0131. +federatedIdentityLinkNotActiveMessage=Bu kimlik art\u0131k aktif de\u011Fil. +federatedIdentityRemovingLastProviderMessage=\u015Eifreniz olmad\u0131\u011F\u0131 i\u00E7in son giri\u015Fi kald\u0131ramazs\u0131n\u0131z. +identityProviderRedirectErrorMessage=Kimlik sa\u011Flay\u0131c\u0131ya iletilirken hata olu\u015Ftu. +identityProviderRemovedMessage=Kimlik Sa\u011Flay\u0131c\u0131s\u0131 ba\u015Far\u0131yla kald\u0131r\u0131ld\u0131. +identityProviderAlreadyLinkedMessage=De\u011Fi\u015Ftirilmi\u015F {0} kimli\u011Fi ba\u015Fka bir kullan\u0131c\u0131ya atanm\u0131\u015F. +staleCodeAccountMessage=Bu sayfa art\u0131k ge\u00E7erli de\u011Fil, l\u00FCtfen tekrar deneyin. +consentDenied=Onay reddedildi. + +accountDisabledMessage=Hesab\u0131n\u0131z kilitlendi, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in. + +accountTemporarilyDisabledMessage=Hesab\u0131n\u0131z ge\u00E7ici olarak kilitlendi, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in veya daha sonra tekrar deneyin. +invalidPasswordMinLengthMessage=Ge\u00E7ersiz \u015Eifre: En az {0} karakter uzunlu\u011Funda olmal\u0131. +invalidPasswordMinLowerCaseCharsMessage=Ge\u00E7ersiz \u015Eifre \: En az {0} k\u00FC\u00E7\u00FCk harf i\u00E7ermelidir. +invalidPasswordMinDigitsMessage=Ge\u00E7ersiz \u015Eifre: En az {0} say\u0131(lar) i\u00E7ermelidir. +invalidPasswordMinUpperCaseCharsMessage=Ge\u00E7ersiz \u015Eifre: En az {0} b\u00FCy\u00FCk harf i\u00E7ermelidir. +invalidPasswordMinSpecialCharsMessage=Ge\u00E7ersiz \u015Eifre: En az {0} \u00F6zel karakter i\u00E7ermelidir. +invalidPasswordNotUsernameMessage=Ge\u00E7ersiz \u015Eifre: Kullan\u0131c\u0131 ad\u0131yla ayn\u0131 olamaz. +invalidPasswordRegexPatternMessage=Ge\u00E7ersiz \u015Eifre: Regex Patternine uygun de\u011Fil. +invalidPasswordHistoryMessage=Ge\u00E7ersiz \u015Eifre: Son {0} \u015Fifreden biri olamaz. +invalidPasswordBlacklistedMessage=Ge\u00E7ersiz \u015Eifre: \u015Eifre bloklanm\u0131\u015F \u015Fifreler listesindedir (kara liste). +invalidPasswordGenericMessge=Ge\u00E7ersiz \u015Eifre: Yeni \u015Fifre, \u015Fifre kurallar\u0131n\u0131 ihlal ediyor. + + + +# Authorization +myResources=Kaynaklar\u0131m +myResourcesSub=Kaynaklar\u0131m +doDeny=Reddet +doRevoke=Geri al +doApprove=Onayla +doRemoveSharing=Payla\u015F\u0131m\u0131 Kald\u0131r +doRemoveRequest=\u0130ste\u011Fi Kald\u0131r +peopleAccessResource=Bu kayna\u011Fa eri\u015Fimi olan ki\u015Filer +resourceManagedPolicies=Bu kayna\u011Fa eri\u015Fim izni veren izinler +resourceNoPermissionsGrantingAccess=Bu kayna\u011Fa eri\u015Fim izni verilmeyen izin yok +anyAction=Herhangi bir eylem +description=A\u00E7\u0131klama +name=\u0130sim +scopes=Kapsam +resource=Kaynak +user=Kullan\u0131c\u0131 +peopleSharingThisResource=Bu kayna\u011F\u0131 payla\u015Fan kullan\u0131c\u0131lar +shareWithOthers=Ba\u015Fkalar\u0131yla payla\u015F +needMyApproval=Onay\u0131m gerekli +requestsWaitingApproval=Talepleriniz onay bekliyor +icon=Icon +requestor=Talep eden +owner=Sahip +resourcesSharedWithMe=Kaynaklar benimle payla\u015F\u0131ld\u0131 +permissionRequestion=\u0130zin Talepleri +permission=\u0130zin +shares=Payla\u015F\u0131m(lar) + +locale_ca=Katalanca +locale_de=Almanca +locale_en=\u0130ngilizce +locale_es=\u0130spanyolca +locale_fr=Frans\u0131zca +locale_it=\u0130talyanca +locale_ja=Japonca +locale_nl=Felemenk\u00E7e +locale_no=Norve\u00E7ce +locale_pl=Leh\u00E7e +locale_pt_BR=Portekizce +locale_pt-BR=Portekizce +locale_ru=Rus\u00E7a +locale_lt=Litvanca +locale_zh-CN=\u00C7ince +locale_sk=Slovak\u00E7a +locale_sv=\u0130sve\u00E7\u00E7e +locale_tr=T\u00FCrk\u00E7e + +# Applications +applicaitonName=\u0130sim +applicationType=Uygulama Tipi +applicationInUse=Yaln\u0131zca uygulama i\u00E7i kullan\u0131m +clearAllFilter=T\u00FCm filtreleri temizle +activeFilters=Aktif filtreler +filterByName=\u0130sme G\u00F6re Filtrele ... +allApps=B\u00FCt\u00FCn uygulamalar +internalApps=\u0130\u00E7 uygulamalar +thirdpartyApps=\u00DC\u00E7\u00FCnc\u00FC parti uygulamalar +appResults=Sonu\u00E7lar + +# Linked account +authorizedProvider=Yetkili Tedarik\u00E7i +authorizedProviderMessage=Yetkili Sa\u011Flay\u0131c\u0131lar hesab\u0131n\u0131zla ba\u011Flant\u0131l\u0131 +identityProvider=Kimlik Sa\u011Flay\u0131c\u0131s\u0131 +identityProviderMessage=Hesab\u0131n\u0131z\u0131 yap\u0131land\u0131rd\u0131\u011F\u0131n\u0131z kimlik sa\u011Flay\u0131c\u0131lar\u0131yla ba\u011Flamak i\u00E7in +socialLogin=Sosyal Giri\u015F +userDefined=Kullan\u0131c\u0131 tan\u0131ml\u0131 +removeAccess=Eri\u015Fimi Kald\u0131r +removeAccessMessage=Bu uygulama hesab\u0131n\u0131 kullanmak istiyorsan\u0131z tekrar eri\u015Fim vermeniz gerekir. + +#Authenticator +authenticatorStatusMessage=\u0130ki fakt\u00F6rl\u00FC kimlik do\u011Frulama aktif +authenticatorFinishSetUpTitle=\u0130ki Fakt\u00F6rl\u00FC Do\u011Frulama +authenticatorFinishSetUpMessage=Keycloak hesab\u0131n\u0131zda her oturum a\u00E7t\u0131\u011F\u0131n\u0131zda, iki fakt\u00F6rl\u00FC bir do\u011Frulama kodu girmeniz istenecektir. +authenticatorSubTitle=\u0130ki Fakt\u00F6rl\u00FC Kimlik Do\u011Frulamay\u0131 Ayarlama +authenticatorSubMessage=Hesab\u0131n\u0131z\u0131n g\u00FCvenli\u011Fini art\u0131rmak i\u00E7in mevcut iki fakt\u00F6rl\u00FC kimlik do\u011Frulama y\u00F6ntemlerinden en az birini etkinle\u015Ftirin. +authenticatorMobileTitle=Mobil Kimlik Do\u011Frulay\u0131c\u0131 +authenticatorMobileMessage=Do\u011Frulama kodlar\u0131n\u0131 iki fakt\u00F6rl\u00FC kimlik do\u011Frulama olarak almak i\u00E7in mobil Do\u011Frulay\u0131c\u0131''y\u0131 kullan\u0131n. +authenticatorMobileFinishSetUpMessage=Do\u011Frulay\u0131c\u0131, telefonunuza ba\u011Fl\u0131. +authenticatorActionSetup=Kur +authenticatorSMSTitle=SMS Kodu +authenticatorSMSMessage=Keycloak, do\u011Frulama kodunu telefonunuza iki fakt\u00F6rl\u00FC kimlik do\u011Frulamas\u0131 olarak g\u00F6nderecektir. +authenticatorSMSFinishSetUpMessage=K\u0131sa mesajlar g\u00F6nderilir +authenticatorDefaultStatus=Varsay\u0131lan +authenticatorChangePhone=Telefon Numaras\u0131n\u0131 De\u011Fi\u015Ftir +authenticatorBackupCodesTitle=Yedekleme Kodlar\u0131 +authenticatorBackupCodesMessage=8 haneli yedek kodlar\u0131n\u0131z\u0131 al\u0131n +authenticatorBackupCodesFinishSetUpMessage=\u015Eu anda 12 haneli yedek kod olu\u015Fturuldu. Her biri bir kez kullan\u0131labilir. + +#Authenticator - Mobile Authenticator setup +authenticatorMobileSetupTitle=Mobil Kimlik Do\u011Frulama Kurulumu +smscodeIntroMessage=Telefon numaran\u0131z\u0131 girin ve telefonunuza bir do\u011Frulama kodu g\u00F6nderilecektir. +mobileSetupStep1=Telefonunuza bir kimlik do\u011Frulama uygulamas\u0131 y\u00FCkleyin. Burada listelenen uygulamalar desteklenmektedir. +mobileSetupStep2=Uygulamay\u0131 a\u00E7\u0131n ve barkodu taray\u0131n. +mobileSetupStep3=Uygulama taraf\u0131ndan sa\u011Flanan tek seferlik kodu girin ve kurulumu tamamlamak i\u00E7in Kaydet''e t\u0131klay\u0131n. +scanBarCode=Barkodu taramak ister misiniz? +enterBarCode=Tek seferlik kodu girin +doCopy=Kopyala +doFinish=Bitir + +#Authenticator - SMS Code setup +authenticatorSMSCodeSetupTitle=SMS Kodu Kurulumu +chooseYourCountry=\u00DClkenizi se\u00E7in +enterYourPhoneNumber=Telefon numaran\u0131z\u0131 girin +sendVerficationCode=Do\u011Frulama kodu G\u00F6nder +enterYourVerficationCode=Onaylama kodunu girin + +#Authenticator - backup Code setup +authenticatorBackupCodesSetupTitle=Yedekleme Kodlar\u0131 Kurulumu +backupcodesIntroMessage=Telefonunuza eri\u015Fimi kaybederseniz, yine de yedek kodlar arac\u0131l\u0131\u011F\u0131yla hesab\u0131n\u0131za giri\u015F yapabilirsiniz. Onlar\u0131 g\u00FCvenli ve eri\u015Filebilir bir yerde saklay\u0131n. +realmName=Realm +doDownload=\u0130ndir +doPrint=Yazd\u0131r +backupCodesTips-1=Her yedek kod bir kez kullan\u0131labilir. +backupCodesTips-2=Bu kodlar \u00FCzerinde olu\u015Fturuldu +generateNewBackupCodes=Yeni Yedekleme Kodlar\u0131 Olu\u015Ftur +backupCodesTips-3=Yeni yedek kodlar olu\u015Fturdu\u011Funuzda, mevcut kodlar art\u0131k \u00E7al\u0131\u015Fmayacakt\u0131r. +backtoAuthenticatorPage=Kimlik Do\u011Frulay\u0131c\u0131 Sayfas\u0131na Geri D\u00F6n + +#Resources +resources=Kaynaklar +sharedwithMe=Benimle payla\u015Ft\u0131 +share=Payla\u015F\u0131m +sharedwith=\u0130le payla\u015Ft\u0131 +accessPermissions=Eri\u015Fim \u0130zinleri +permissionRequests=\u0130zin \u0130stekleri +approve=Onayla +approveAll=T\u00FCm\u00FCn\u00FC onayla +people=\u0130nsanlar +perPage=Sayfa ba\u015F\u0131na +currentPage=Ge\u00E7erli sayfa +sharetheResource=Kayna\u011F\u0131 payla\u015F +group=Grup +selectPermission=\u0130zin Se\u00E7 +addPeople=Kayna\u011F\u0131n\u0131z\u0131 payla\u015Fmak i\u00E7in kullan\u0131c\u0131 ekleyin +addTeam=Kayna\u011F\u0131n\u0131z\u0131 payla\u015Fmak i\u00E7in ekip ekleyin +myPermissions=\u0130zinlerim +waitingforApproval=Onay bekleniyor +anyPermission=Herhangi bir izin diff --git a/account/messages/messages_zh_CN.properties b/account/messages/messages_zh_CN.properties new file mode 100644 index 0000000..9e9a8a6 --- /dev/null +++ b/account/messages/messages_zh_CN.properties @@ -0,0 +1,166 @@ +# encoding: utf-8 +doSave=保存 +doCancel=取消 +doLogOutAllSessions=登出所有会话 +doRemove=删除 +doAdd=添加 +doSignOut=登出 + +editAccountHtmlTitle=编辑账户 +federatedIdentitiesHtmlTitle=链接的身份 +accountLogHtmlTitle=账户日志 +changePasswordHtmlTitle=更改密码 +sessionsHtmlTitle=会话 +accountManagementTitle=Keycloak账户管理 +authenticatorTitle=认证者 +applicationsHtmlTitle=应用 + +authenticatorCode=一次性认证码 +email=电子邮件 +firstName=名 +givenName=姓 +fullName=全名 +lastName=姓 +familyName=姓 +password=密码 +passwordConfirm=确认 +passwordNew=新密码 +username=用户名 +address=地址 +street=街道 +locality=城市住所 +region=省,自治区,直辖市 +postal_code=邮政编码 +country=国家 +emailVerified=验证过的Email +gssDelegationCredential=GSS Delegation Credential + +role_admin=管理员 +role_realm-admin=域管理员 +role_create-realm=创建域 +role_view-realm=查看域 +role_view-users=查看用户 +role_view-applications=查看应用 +role_view-clients=查看客户 +role_view-events=查看事件 +role_view-identity-providers=查看身份提供者 +role_manage-realm=管理域 +role_manage-users=管理用户 +role_manage-applications=管理应用 +role_manage-identity-providers=管理身份提供者 +role_manage-clients=管理客户 +role_manage-events=管理事件 +role_view-profile=查看用户信息 +role_manage-account=管理账户 +role_read-token=读取 token +role_offline-access=离线访问 +role_uma_authorization=获取授权 +client_account=账户 +client_security-admin-console=安全管理终端 +client_admin-cli=管理命令行 +client_realm-management=域管理 +client_broker=代理 + + +requiredFields=必填项 +allFieldsRequired=所有项必填 + +backToApplication=« 回到应用 +backTo=回到 {0} + +date=日期 +event=事件 +ip=IP +client=客户端 +clients=客户端 +details=详情 +started=开始 +lastAccess=最后一次访问 +expires=过期时间 +applications=应用 + +account=账户 +federatedIdentity=关联身份 +authenticator=认证方 +sessions=会话 +log=日志 + +application=应用 +availablePermissions=可用权限 +grantedPermissions=授予权限 +grantedPersonalInfo=授权的个人信息 +additionalGrants=可授予的权限 +action=操作 +inResource=in +fullAccess=所有权限 +offlineToken=离线 token +revoke=收回授权 + +configureAuthenticators=配置的认证者 +mobile=手机 +totpStep1=在你的设备上安装 <a href="https://fedorahosted.org/freeotp/" target="_blank">FreeOTP</a> 或者 Google Authenticator.两个应用可以从 <a href="https://play.google.com">Google Play</a> 和 Apple App Store下载。 +totpStep2=打开应用扫描二维码输入验证码 +totpStep3=输入应用提供的一次性验证码单击保存 + +missingUsernameMessage=请指定用户名 +missingFirstNameMessage=请指定名 +invalidEmailMessage=无效的电子邮箱地址 +missingLastNameMessage=请指定姓 +missingEmailMessage=请指定邮件地址 +missingPasswordMessage=请输入密码 +notMatchPasswordMessage=密码不匹配 + +missingTotpMessage=请指定认证者代码 +invalidPasswordExistingMessage=无效的旧密码 +invalidPasswordConfirmMessage=确认密码不相符 +invalidTotpMessage=无效的认证码 + +usernameExistsMessage=用户名已经存在 +emailExistsMessage=电子邮箱已经存在 + +readOnlyUserMessage=无法修改账户,因为它是只读的。 +readOnlyPasswordMessage=不可以更该账户因为它是只读的。 + +successTotpMessage=手机认证者配置完毕 +successTotpRemovedMessage=手机认证者已删除 + +successGrantRevokedMessage=授权成功回收 + +accountUpdatedMessage=您的账户已经更新 +accountPasswordUpdatedMessage=您的密码已经修改 + +missingIdentityProviderMessage=身份提供者未指定 +invalidFederatedIdentityActionMessage=无效或者缺少操作 +identityProviderNotFoundMessage=指定的身份提供者未找到 +federatedIdentityLinkNotActiveMessage=这个身份不再使用了。 +federatedIdentityRemovingLastProviderMessage=你不可以移除最后一个身份提供者因为你没有设置密码 +identityProviderRedirectErrorMessage=尝试重定向到身份提供商失败 +identityProviderRemovedMessage=身份提供商成功删除 +identityProviderAlreadyLinkedMessage=链接的身份 {0} 已经连接到已有用户。 +staleCodeAccountMessage=页面过期。请再试一次。 +consentDenied=不同意 + +accountDisabledMessage=账户已经关闭,请联系管理员 + +accountTemporarilyDisabledMessage=账户暂时关闭,请联系管理员或稍后再试。 +invalidPasswordMinLengthMessage=无效的密码:最短长度 {0}. +invalidPasswordMinLowerCaseCharsMessage=无效的密码: 至少包含 {0} 小写字母。 +invalidPasswordMinDigitsMessage=无效的密码: 至少包含 {0} 数字。 +invalidPasswordMinUpperCaseCharsMessage=无效的密码: 至少包含 {0} 大写字母 +invalidPasswordMinSpecialCharsMessage=无效的密码: 至少包含 {0} 个特殊字符 +invalidPasswordNotUsernameMessage=无效的密码: 不能与用户名相同 +invalidPasswordRegexPatternMessage=无效的密码: 无法与正则表达式匹配 +invalidPasswordHistoryMessage=无效的密码: 不能与之前的{0} 个旧密码相同 +locale_ca=Català +locale_de=Deutsch +locale_en=English +locale_es=Español +locale_fr=Français +locale_it=Italian +locale_ja=日本語 +locale_nl=Nederlands +locale_no=Norsk +locale_lt=Lietuvių +locale_pt-BR=Português (Brasil) +locale_ru=Русский +locale_zh-CN=中文简体 diff --git a/account/password.ftl b/account/password.ftl new file mode 100644 index 0000000..4a043f2 --- /dev/null +++ b/account/password.ftl @@ -0,0 +1,59 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='password' bodyClass='password'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("changePasswordHtmlTitle")}</h2> + </div> + <div class="col-md-2 subtitle"> + <span class="subtitle">${msg("allFieldsRequired")}</span> + </div> + </div> + + <form action="${url.passwordUrl}" class="form-horizontal" method="post"> + <input type="text" id="username" name="username" value="${(account.username!'')}" autocomplete="username" readonly="readonly" style="display:none;"> + + <#if password.passwordSet> + <div class="form-group"> + <div class="col-sm-2 col-md-2"> + <label for="password" class="control-label">${msg("password")}</label> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="password" class="form-control" id="password" name="password" autofocus autocomplete="current-password"> + </div> + </div> + </#if> + + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + + <div class="form-group"> + <div class="col-sm-2 col-md-2"> + <label for="password-new" class="control-label">${msg("passwordNew")}</label> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="password" class="form-control" id="password-new" name="password-new" autocomplete="new-password"> + </div> + </div> + + <div class="form-group"> + <div class="col-sm-2 col-md-2"> + <label for="password-confirm" class="control-label" class="two-lines">${msg("passwordConfirm")}</label> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="password" class="form-control" id="password-confirm" name="password-confirm" autocomplete="new-password"> + </div> + </div> + + <div class="form-group"> + <div id="kc-form-buttons" class="col-md-offset-2 col-md-10 submit"> + <div class=""> + <button type="submit" class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="submitAction" value="Save">${msg("doSave")}</button> + </div> + </div> + </div> + </form> + +</@layout.mainLayout> diff --git a/account/resource-detail.ftl b/account/resource-detail.ftl new file mode 100644 index 0000000..2c963d7 --- /dev/null +++ b/account/resource-detail.ftl @@ -0,0 +1,277 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='authorization' bodyClass='authorization'; section> + + <style> + .search-box,.close-icon,.search-wrapper { + position: relative; + } + .search-wrapper { + width: 500px; + margin: auto; + margin-top: 50px; + } + .search-box { + font-weight: 600; + color: white; + border: 1px solid #006e9c; + outline: 0; + border-radius: 15px; + background-color: #0085cf; + padding: 2px 5px; + + } + .search-box:focus { + box-shadow: 0 0 15px 5px #b0e0ee; + border: 2px solid #bebede; + } + .close-icon { + border:1px solid transparent; + background-color: transparent; + display: inline-block; + float: right; + outline: 0; + cursor: pointer; + } + .close-icon:after { + display: block; + width: 15px; + height: 15px; + background-color: #FA9595; + z-index:1; + right: 35px; + top: 0; + bottom: 0; + margin: auto; + padding: 2px; + border-radius: 50%; + text-align: center; + color: white; + font-weight: normal; + font-size: 12px; + box-shadow: 0 0 2px #E50F0F; + cursor: pointer; + } + .search-box:not(:valid) ~ .close-icon { + display: none; + } + </style> + <script> + function removeScopeElm(elm) { + elm.parentNode.removeChild(elm); + } + + function removeAllScopes(id) { + var scopesElm = document.getElementsByName('removeScope-' + id); + + for (i = 0; i < scopesElm.length; i++) { + var td = scopesElm[i].parentNode.parentNode; + var tr = td.parentNode; + var tbody = tr.parentNode; + tbody.removeChild(tr); + } + } + + function getChildren(parent, childId) { + var childNodes = []; + + for (i = 0; i < parent.childNodes.length; i++) { + if (parent.childNodes[i].id == childId) { + childNodes.push(parent.childNodes[i]); + } + } + + return childNodes; + } + </script> + + <div class="row"> + <div class="col-md-10"> + <h2> + <a href="${url.resourceUrl}">${msg("myResources")}</a> <i class="fa fa-angle-right"></i> <#if authorization.resource.displayName??>${authorization.resource.displayName}<#else>${authorization.resource.name}</#if> + </h2> + </div> + </div> + + <#if authorization.resource.iconUri??> + <img src="${authorization.resource.iconUri}"> + <br/> + </#if> + + <div class="row"> + <div class="col-md-10"> + <h3> + ${msg("peopleAccessResource")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <table class="table table-striped table-bordered"> + <thead> + <tr> + <th>${msg("user")}</th> + <th>${msg("permission")}</th> + <th>${msg("date")}</th> + <th>${msg("action")}</th> + </tr> + </thead> + <tbody> + <#if authorization.resource.shares?size != 0> + <#list authorization.resource.shares as permission> + <form action="${url.getResourceGrant(authorization.resource.id)}" name="revokeForm-${authorization.resource.id}-${permission.requester.username}" method="post"> + <input type="hidden" name="action" value="revoke"> + <input type="hidden" name="requester" value="${permission.requester.username}"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <tr> + <td> + <#if permission.requester.email??>${permission.requester.email}<#else>${permission.requester.username}</#if> + </td> + <td> + <#if permission.scopes?size != 0> + <#list permission.scopes as scope> + <#if scope.granted && scope.scope??> + <div class="search-box"> + <#if scope.scope.displayName??> + ${scope.scope.displayName} + <#else> + ${scope.scope.name} + </#if> + <button class="close-icon" type="button" name="removeScope-${authorization.resource.id}-${permission.requester.username}" onclick="removeScopeElm(this.parentNode);document.forms['revokeForm-${authorization.resource.id}-${permission.requester.username}'].submit();"><i class="fa fa-times" aria-hidden="true"></i></button> + <input type="hidden" name="permission_id" value="${scope.id}"/> + </div> + <#else> + ${msg("anyPermission")} + </#if> + </#list> + <#else> + Any action + </#if> + </td> + <td> + ${permission.createdDate?datetime} + </td> + <td width="20%" align="middle" style="vertical-align: middle"> + <a href="#" id="revoke-${authorization.resource.name}-${permission.requester.username}" onclick="removeAllScopes('${authorization.resource.id}-${permission.requester.username}');document.forms['revokeForm-${authorization.resource.id}-${permission.requester.username}'].submit();" type="submit" class="btn btn-primary">${msg("doRevoke")}</a> + </td> + </tr> + </form> + </#list> + <#else> + <tr> + <td colspan="4">${msg("resourceIsNotBeingShared")}</td> + </tr> + </#if> + </tbody> + </table> + </form> + </div> + </div> + <div class="row"> + <div class="col-md-10"> + <h3> + ${msg("resourceManagedPolicies")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <table class="table table-striped table-bordered"> + <thead> + <tr> + <th>${msg("description")}</th> + <th>${msg("permission")}</th> + <th>${msg("action")}</th> + </tr> + </thead> + <tbody> + <#if authorization.resource.policies?size != 0> + <#list authorization.resource.policies as permission> + <form action="${url.getResourceGrant(authorization.resource.id)}" name="revokePolicyForm-${authorization.resource.id}-${permission.id}" method="post"> + <input type="hidden" name="action" value="revokePolicy"> + <input type="hidden" name="permission_id" value="${permission.id}"/> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <tr> + <td> + <#if permission.description??> + ${permission.description} + </#if> + </td> + <td> + <#if permission.scopes?size != 0> + <#list permission.scopes as scope> + <div class="search-box"> + <#if scope.displayName??> + ${scope.displayName} + <#else> + ${scope.name} + </#if> + <button class="close-icon" type="button" name="removePolicyScope-${authorization.resource.id}-${permission.id}-${scope.id}" onclick="removeScopeElm(this.parentNode);document.forms['revokePolicyForm-${authorization.resource.id}-${permission.id}'].submit();"><i class="fa fa-times" aria-hidden="true"></i></button> + <input type="hidden" name="permission_id" value="${permission.id}:${scope.id}"/> + </div> + </#list> + <#else> + ${msg("anyAction")} + </#if> + </td> + <td width="20%" align="middle" style="vertical-align: middle"> + <a href="#" id="revokePolicy-${authorization.resource.name}-${permission.id}" onclick="document.forms['revokePolicyForm-${authorization.resource.id}-${permission.id}']['action'].value = 'revokePolicyAll';document.forms['revokePolicyForm-${authorization.resource.id}-${permission.id}'].submit();" type="submit" class="btn btn-primary">${msg("doRevoke")}</a> + </td> + </tr> + </form> + </#list> + <#else> + <tr> + <td colspan="3"> + ${msg("resourceNoPermissionsGrantingAccess")} + </td> + </tr> + </#if> + </tbody> + </table> + </form> + </div> + </div> + <div class="row"> + <div class="col-md-10"> + <h3> + ${msg("shareWithOthers")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-10"> + <form action="${url.getResourceShare(authorization.resource.id)}" name="shareForm" method="post"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <div class="col-sm-3 col-md-3"> + <label for="password" class="control-label">${msg("username")} or ${msg("email")} </label> <span class="required">*</span> + </div> + <div class="col-sm-8 col-md-8"> + <div class="row"> + <div class="col-md-12"> + <input type="text" class="form-control" id="user_id" name="user_id" autofocus autocomplete="off"> + </div> + <div class="col-md-12"> + <br/> + <#list authorization.resource.scopes as scope> + <div id="scope" class="search-box"> + <#if scope.displayName??> + ${scope.displayName} + <#else> + ${scope.name} + </#if> + <button class="close-icon" id="share-remove-scope-${authorization.resource.name}-${scope.name}" type="button" onclick="if (getChildren(this.parentNode.parentNode, 'scope').length > 1) {removeScopeElm(this.parentNode)}"><i class="fa fa-times" aria-hidden="true"></i></button> + <input type="hidden" name="scope_id" value="${scope.id}"/> + </div> + </#list> + </div> + <div class="col-md-12"> + <br/> + <a href="#" onclick="document.forms['shareForm'].submit()" type="submit" id="share-button" class="btn btn-primary">${msg("share")}</a> + </div> + </div> + </div> + </form> + </div> + </div> + <br/> +</@layout.mainLayout> diff --git a/account/resources.ftl b/account/resources.ftl new file mode 100644 index 0000000..011e181 --- /dev/null +++ b/account/resources.ftl @@ -0,0 +1,399 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='authorization' bodyClass='authorization'; section> + <style> + .search-box,.close-icon,.search-wrapper { + position: relative; + } + .search-wrapper { + width: 500px; + margin: auto; + margin-top: 50px; + } + .search-box { + font-weight: 600; + color: white; + border: 1px solid #006e9c; + outline: 0; + border-radius: 15px; + background-color: #0085cf; + padding: 2px 5px; + } + .search-box:focus { + box-shadow: 0 0 15px 5px #b0e0ee; + border: 2px solid #bebede; + } + .close-icon { + border:1px solid transparent; + background-color: transparent; + display: inline-block; + float: right; + outline: 0; + cursor: pointer; + } + .close-icon:after { + display: block; + width: 15px; + height: 15px; + background-color: #FA9595; + z-index:1; + right: 35px; + top: 0; + bottom: 0; + margin: auto; + padding: 2px; + border-radius: 50%; + text-align: center; + color: white; + font-weight: normal; + font-size: 12px; + box-shadow: 0 0 2px #E50F0F; + cursor: pointer; + } + .search-box:not(:valid) ~ .close-icon { + display: none; + } + </style> + <script> + function showHideActions(elm) { + if (elm.style.display == 'none') { + elm.style.display = ''; + } else { + elm.style.display = 'none'; + } + } + function removeScopeElm(elm) { + var td = elm.parentNode; + var tr = td.parentNode; + var tbody = tr.parentNode; + + td.removeChild(elm); + + var childCount = td.childNodes.length - 1; + + for (i = 0; i < td.childNodes.length; i++) { + if (!td.childNodes[i].tagName || td.childNodes[i].tagName.toUpperCase() != 'DIV') { + td.removeChild(td.childNodes[i]); + childCount--; + } + } + + if (childCount <= 0) { + tbody.removeChild(tr); + } + } + + function removeAllScopes(id) { + var scopesElm = document.getElementsByName('removeScope-' + id); + + for (i = 0; i < scopesElm.length; i++) { + var td = scopesElm[i].parentNode.parentNode; + var tr = td.parentNode; + var tbody = tr.parentNode; + tbody.removeChild(tr); + } + } + + function selectAllCheckBoxes(formName, elm, name) { + var shares = document.forms[formName].getElementsByTagName('input'); + + for (i = 0; i < shares.length; i++) { + if (shares[i].name == name) { + shares[i].checked = elm.checked; + } + } + } + </script> + <div class="row"> + <div class="col-md-10"> + <h2> + ${msg("myResources")} + </h2> + </div> + </div> + + <#if authorization.resourcesWaitingApproval?size != 0> + <div class="row"> + <div class="col-md-12"> + <h3> + ${msg("needMyApproval")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <table class="table table-striped table-bordered"> + <thead> + <tr> + <th>${msg("resource")}</th> + <th>${msg("requestor")}</th> + <th>${msg("permissionRequestion")}</th> + <th>${msg("action")}</th> + </tr> + </thead> + <tbody> + <#list authorization.resourcesWaitingApproval as resource> + <#list resource.permissions as permission> + <form action="${url.getResourceGrant(resource.id)}" name="approveForm-${resource.id}-${permission.requester.username}" method="post"> + <input type="hidden" name="action" value="grant"> + <input type="hidden" name="requester" value="${permission.requester.username}"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <tr> + <td> + <#if resource.displayName??>${resource.displayName}<#else>${resource.name}</#if> + </td> + <td> + <#if permission.requester.email??>${permission.requester.email}<#else>${permission.requester.username}</#if> + </td> + <td> + <#list permission.scopes as scope> + <#if scope.scope??> + <div class="search-box"> + <#if scope.scope.displayName??> + ${scope.scope.displayName} + <#else> + ${scope.scope.name} + </#if> + <button class="close-icon" type="button" id="grant-remove-scope-${resource.name}-${permission.requester.username}-${scope.scope.name}" name="removeScope-${resource.id}-${permission.requester.username}" onclick="removeScopeElm(this.parentNode);document.forms['approveForm-${resource.id}-${permission.requester.username}']['action'].value = 'deny';document.forms['approveForm-${resource.id}-${permission.requester.username}'].submit();"><i class="fa fa-times" aria-hidden="true"></i></button> + <input type="hidden" name="permission_id" value="${scope.id}"/> + </div> + <#else> + ${msg("anyPermission")} + </#if> + </#list> + </td> + <td width="20%" align="middle" style="vertical-align: middle"> + <a href="#" id="grant-${resource.name}-${permission.requester.username}" onclick="document.forms['approveForm-${resource.id}-${permission.requester.username}']['action'].value = 'grant';document.forms['approveForm-${resource.id}-${permission.requester.username}'].submit();" type="submit" class="btn btn-primary">${msg("doApprove")}</a> + <a href="#" id="deny-${resource.name}-${permission.requester.username}" onclick="removeAllScopes('${resource.id}-${permission.requester.username}');document.forms['approveForm-${resource.id}-${permission.requester.username}']['action'].value = 'deny';document.forms['approveForm-${resource.id}-${permission.requester.username}'].submit();" type="submit" class="btn btn-danger">${msg("doDeny")}</a> + </td> + </tr> + </form> + </#list> + </#list> + </tbody> + </table> + </div> + </div> + </#if> + + <div class="row"> + <div class="col-md-12"> + <h3> + ${msg("myResourcesSub")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <table class="table table-striped table-bordered"> + <thead> + <tr> + <th>${msg("resource")}</th> + <th>${msg("application")}</th> + <th>${msg("peopleSharingThisResource")}</th> + </tr> + </thead> + + <tbody> + <#if authorization.resources?size != 0> + <#list authorization.resources as resource> + <tr> + <td> + <a id="detail-${resource.name}" href="${url.getResourceDetailUrl(resource.id)}"> + <#if resource.displayName??>${resource.displayName}<#else>${resource.name}</#if> + </a> + </td> + <td> + <#if resource.resourceServer.baseUri??> + <a href="${resource.resourceServer.baseUri}">${resource.resourceServer.name}</a> + <#else> + ${resource.resourceServer.name} + </#if> + </td> + <td> + <#if resource.shares?size != 0> + <a href="${url.getResourceDetailUrl(resource.id)}">${resource.shares?size} <i class="fa fa-users"></i></a> + <#else> + ${msg("notBeingShared")} + </#if> + </td> + </tr> + </#list> + <#else> + <tr> + <td colspan="4">${msg("notHaveAnyResource")}</td> + </tr> + </#if> + </tbody> + </table> + </div> + </div> + + <div class="row"> + <div class="col-md-12"> + <h3> + ${msg("resourcesSharedWithMe")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <form action="${url.resourceUrl}" name="shareForm" method="post"> + <input type="hidden" name="action" value="cancel"/> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <table class="table table-striped table-bordered"> + <thead> + <tr> + <th width="5%"><input type="checkbox" onclick="selectAllCheckBoxes('shareForm', this, 'resource_id');" <#if authorization.sharedResources?size == 0>disabled="true"</#if></td> + <th>${msg("resource")}</th> + <th>${msg("owner")}</th> + <th>${msg("application")}</th> + <th>${msg("permission")}</th> + <th>${msg("date")}</th> + </tr> + </thead> + <tbody> + <#if authorization.sharedResources?size != 0> + <#list authorization.sharedResources as resource> + <tr> + <td> + <input type="checkbox" name="resource_id" value="${resource.id}"/> + </td> + <td> + <#if resource.displayName??>${resource.displayName}<#else>${resource.name}</#if> + </td> + <td> + <#if resource.owner.email??>${resource.owner.email}<#else>${resource.owner.username}</#if> + </td> + <td> + <a href="${resource.resourceServer.baseUri}">${resource.resourceServer.name}</a> + </td> + <td> + <#if resource.permissions?size != 0> + <ul> + <#list resource.permissions as permission> + <#list permission.scopes as scope> + <#if scope.granted && scope.scope??> + <li> + <#if scope.scope.displayName??> + ${scope.scope.displayName} + <#else> + ${scope.scope.name} + </#if> + </li> + <#else> + ${msg("anyPermission")} + </#if> + </#list> + </#list> + </ul> + <#else> + Any action + </#if> + </td> + <td> + ${resource.permissions[0].grantedDate?datetime} + </td> + </tr> + </#list> + <#else> + <tr> + <td colspan="6">${msg("noResourcesSharedWithYou")}</td> + </tr> + </#if> + </tbody> + </table> + </form> + </div> + <#if authorization.sharedResources?size != 0> + <div class="col-md-12"> + <a href="#" onclick="document.forms['shareForm'].submit();" type="submit" class="btn btn-danger">${msg("doRemoveSharing")}</a> + </div> + </#if> + </div> + + <#if authorization.resourcesWaitingOthersApproval?size != 0> + <br/> + <div class="row"> + <div class="col-md-12"> + <h3> + ${msg("requestsWaitingApproval")} + </h3> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <i class="pficon pficon-info"></i> ${msg("havePermissionRequestsWaitingForApproval",authorization.resourcesWaitingOthersApproval?size)} + <a href="#" onclick="document.getElementById('waitingApproval').style.display=''">${msg("clickHereForDetails")}</a> + <div class="row"> + <div class="col-md-12"></div> + </div> + <div class="row"> + <div class="col-md-12"></div> + </div> + <div class="row"> + <div class="col-md-12"></div> + </div> + <div class="row" id="waitingApproval" style="display:none"> + <div class="col-md-12"> + <form action="${url.resourceUrl}" name="waitingApprovalForm" method="post"> + <input type="hidden" name="action" value="cancelRequest"/> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <table class="table table-striped table-bordered"> + <thead> + <tr> + <th width="5%"><input type="checkbox" onclick="selectAllCheckBoxes('waitingApprovalForm', this, 'resource_id');" <#if authorization.resourcesWaitingOthersApproval?size == 0>disabled="true"</#if></th> + <th>${msg("resource")}</th> + <th>${msg("owner")}</th> + <th>${msg("action")}</th> + <th>${msg("date")}</th> + </tr> + </thead> + <tbody> + <#list authorization.resourcesWaitingOthersApproval as resource> + <tr> + <td> + <input type="checkbox" name="resource_id" value="${resource.id}"/> + </td> + <td> + <#if resource.displayName??>${resource.displayName}<#else>${resource.name}</#if> + </td> + <td> + <#if resource.owner.email??>${resource.owner.email}<#else>${resource.owner.username}</#if> + </td> + <td> + <ul> + <#list resource.permissions as permission> + <#list permission.scopes as scope> + <li> + <#if scope.scope??> + <#if scope.scope.displayName??> + ${scope.scope.displayName} + <#else> + ${scope.scope.name} + </#if> + <#else> + ${msg("anyPermission")} + </#if> + </li> + </#list> + </#list> + </ul> + </td> + <td> + ${resource.permissions[0].createdDate?datetime} + </td> + </tr> + </#list> + </tbody> + </table> + </form> + </div> + <div class="col-md-12"> + <a href="#" onclick="document.forms['waitingApprovalForm'].submit();" type="submit" class="btn btn-danger">${msg("doRemoveRequest")}</a> + </div> + </div> + </div> + </div> + </#if> + +</@layout.mainLayout>
\ No newline at end of file diff --git a/account/sessions.ftl b/account/sessions.ftl new file mode 100644 index 0000000..89dbf65 --- /dev/null +++ b/account/sessions.ftl @@ -0,0 +1,44 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='sessions' bodyClass='sessions'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("sessionsHtmlTitle")}</h2> + </div> + </div> + + <table class="table table-striped table-bordered"> + <thead> + <tr> + <td>${msg("ip")}</td> + <td>${msg("started")}</td> + <td>${msg("lastAccess")}</td> + <td>${msg("expires")}</td> + <td>${msg("clients")}</td> + </tr> + </thead> + + <tbody> + <#list sessions.sessions as session> + <tr> + <td>${session.ipAddress}</td> + <td>${session.started?datetime}</td> + <td>${session.lastAccess?datetime}</td> + <td>${session.expires?datetime}</td> + <td> + <#list session.clients as client> + ${client}<br/> + </#list> + </td> + </tr> + </#list> + </tbody> + + </table> + + <form action="${url.sessionsUrl}" method="post"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <button id="logout-all-sessions" class="btn btn-default">${msg("doLogOutAllSessions")}</button> + </form> + +</@layout.mainLayout> diff --git a/account/template.ftl b/account/template.ftl new file mode 100644 index 0000000..fc4ebe3 --- /dev/null +++ b/account/template.ftl @@ -0,0 +1,83 @@ +<#macro mainLayout active bodyClass> +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta name="robots" content="noindex, nofollow"> + + <title>${msg("accountManagementTitle")}</title> + <link rel="icon" href="${url.resourcesPath}/img/favicon.ico"> + <#if properties.styles?has_content> + <#list properties.styles?split(' ') as style> + <link href="${url.resourcesPath}/${style}" rel="stylesheet" /> + </#list> + </#if> + <#if properties.scripts?has_content> + <#list properties.scripts?split(' ') as script> + <script type="text/javascript" src="${url.resourcesPath}/${script}"></script> + </#list> + </#if> +</head> +<body class="admin-console user ${bodyClass}"> + + <header class="navbar navbar-default navbar-pf navbar-main header"> + <nav class="navbar" role="navigation"> + <div class="navbar-header"> + <div class="container"> + <h1 class="navbar-title">Keycloak</h1> + </div> + </div> + <div class="navbar-collapse navbar-collapse-1"> + <div class="container"> + <ul class="nav navbar-nav navbar-utility"> + <#if realm.internationalizationEnabled> + <li> + <div class="kc-dropdown" id="kc-locale-dropdown"> + <a href="#" id="kc-current-locale-link">${locale.current}</a> + <ul> + <#list locale.supported as l> + <li class="kc-dropdown-item"><a href="${l.url}">${l.label}</a></li> + </#list> + </ul> + </div> + <li> + </#if> + <#if referrer?has_content && referrer.url?has_content><li><a href="${referrer.url}" id="referrer">${msg("backTo",referrer.name)}</a></li></#if> + <li><a href="${url.logoutUrl}">${msg("doSignOut")}</a></li> + </ul> + </div> + </div> + </nav> + </header> + + <div class="container"> + <div class="bs-sidebar col-sm-3"> + <ul> + <li class="<#if active=='account'>active</#if>"><a href="${url.accountUrl}">${msg("account")}</a></li> + <#if features.passwordUpdateSupported><li class="<#if active=='password'>active</#if>"><a href="${url.passwordUrl}">${msg("password")}</a></li></#if> + <li class="<#if active=='totp'>active</#if>"><a href="${url.totpUrl}">${msg("authenticator")}</a></li> + <#if features.identityFederation><li class="<#if active=='social'>active</#if>"><a href="${url.socialUrl}">${msg("federatedIdentity")}</a></li></#if> + <li class="<#if active=='sessions'>active</#if>"><a href="${url.sessionsUrl}">${msg("sessions")}</a></li> + <li class="<#if active=='applications'>active</#if>"><a href="${url.applicationsUrl}">${msg("applications")}</a></li> + <#if features.log><li class="<#if active=='log'>active</#if>"><a href="${url.logUrl}">${msg("log")}</a></li></#if> + <#if realm.userManagedAccessAllowed && features.authorization><li class="<#if active=='authorization'>active</#if>"><a href="${url.resourceUrl}">${msg("myResources")}</a></li></#if> + </ul> + </div> + + <div class="col-sm-9 content-area"> + <#if message?has_content> + <div class="alert alert-${message.type}"> + <#if message.type=='success' ><span class="pficon pficon-ok"></span></#if> + <#if message.type=='error' ><span class="pficon pficon-error-circle-o"></span></#if> + <span class="kc-feedback-text">${kcSanitize(message.summary)?no_esc}</span> + </div> + </#if> + + <#nested "content"> + </div> + </div> + +</body> +</html> +</#macro>
\ No newline at end of file diff --git a/account/theme.properties b/account/theme.properties new file mode 100644 index 0000000..1b3474b --- /dev/null +++ b/account/theme.properties @@ -0,0 +1 @@ +locales=ca,de,en,es,fr,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN diff --git a/account/totp.ftl b/account/totp.ftl new file mode 100644 index 0000000..987fe24 --- /dev/null +++ b/account/totp.ftl @@ -0,0 +1,141 @@ +<#import "template.ftl" as layout> +<@layout.mainLayout active='totp' bodyClass='totp'; section> + + <div class="row"> + <div class="col-md-10"> + <h2>${msg("authenticatorTitle")}</h2> + </div> + <#if totp.otpCredentials?size == 0> + <div class="col-md-2 subtitle"> + <span class="subtitle"><span class="required">*</span> ${msg("requiredFields")}</span> + </div> + </#if> + </div> + + <#if totp.enabled> + <table class="table table-bordered table-striped"> + <thead> + <#if totp.otpCredentials?size gt 1> + <tr> + <th colspan="4">${msg("configureAuthenticators")}</th> + </tr> + <#else> + <tr> + <th colspan="3">${msg("configureAuthenticators")}</th> + </tr> + </#if> + </thead> + <tbody> + <#list totp.otpCredentials as credential> + <tr> + <td class="provider">${msg("mobile")}</td> + <#if totp.otpCredentials?size gt 1> + <td class="provider">${credential.id}</td> + </#if> + <td class="provider">${credential.userLabel!}</td> + <td class="action"> + <form action="${url.totpUrl}" method="post" class="form-inline"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <input type="hidden" id="submitAction" name="submitAction" value="Delete"> + <input type="hidden" id="credentialId" name="credentialId" value="${credential.id}"> + <button id="remove-mobile" class="btn btn-default"> + <i class="pficon pficon-delete"></i> + </button> + </form> + </td> + </tr> + </#list> + </tbody> + </table> + <#else> + + <hr/> + + <ol> + <li> + <p>${msg("totpStep1")}</p> + + <ul> + <#list totp.policy.supportedApplications as app> + <li>${app}</li> + </#list> + </ul> + </li> + + <#if mode?? && mode = "manual"> + <li> + <p>${msg("totpManualStep2")}</p> + <p><span id="kc-totp-secret-key">${totp.totpSecretEncoded}</span></p> + <p><a href="${totp.qrUrl}" id="mode-barcode">${msg("totpScanBarcode")}</a></p> + </li> + <li> + <p>${msg("totpManualStep3")}</p> + <ul> + <li id="kc-totp-type">${msg("totpType")}: ${msg("totp." + totp.policy.type)}</li> + <li id="kc-totp-algorithm">${msg("totpAlgorithm")}: ${totp.policy.getAlgorithmKey()}</li> + <li id="kc-totp-digits">${msg("totpDigits")}: ${totp.policy.digits}</li> + <#if totp.policy.type = "totp"> + <li id="kc-totp-period">${msg("totpInterval")}: ${totp.policy.period}</li> + <#elseif totp.policy.type = "hotp"> + <li id="kc-totp-counter">${msg("totpCounter")}: ${totp.policy.initialCounter}</li> + </#if> + </ul> + </li> + <#else> + <li> + <p>${msg("totpStep2")}</p> + <p><img src="data:image/png;base64, ${totp.totpSecretQrCode}" alt="Figure: Barcode"></p> + <p><a href="${totp.manualUrl}" id="mode-manual">${msg("totpUnableToScan")}</a></p> + </li> + </#if> + <li> + <p>${msg("totpStep3")}</p> + <p>${msg("totpStep3DeviceName")}</p> + </li> + </ol> + + <hr/> + + <form action="${url.totpUrl}" class="form-horizontal" method="post"> + <input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}"> + <div class="form-group"> + <div class="col-sm-2 col-md-2"> + <label for="totp" class="control-label">${msg("authenticatorCode")}</label> <span class="required">*</span> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="text" class="form-control" id="totp" name="totp" autocomplete="off" autofocus> + <input type="hidden" id="totpSecret" name="totpSecret" value="${totp.totpSecret}"/> + </div> + + + </div> + + <div class="form-group" ${messagesPerField.printIfExists('userLabel',properties.kcFormGroupErrorClass!)}"> + <div class="col-sm-2 col-md-2"> + <label for="userLabel" class="control-label">${msg("totpDeviceName")}</label> <#if totp.otpCredentials?size gte 1><span class="required">*</span></#if> + </div> + + <div class="col-sm-10 col-md-10"> + <input type="text" class="form-control" id="userLabel" name="userLabel" autocomplete="off"> + </div> + </div> + + <div class="form-group"> + <div id="kc-form-buttons" class="col-md-offset-2 col-md-10 submit"> + <div class=""> + <button type="submit" + class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" + id="saveTOTPBtn" name="submitAction" value="Save">${msg("doSave")} + </button> + <button type="submit" + class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" + id="cancelTOTPBtn" name="submitAction" value="Cancel">${msg("doCancel")} + </button> + </div> + </div> + </div> + </form> + </#if> + +</@layout.mainLayout> |