feat: initial commit
This commit is contained in:
3
Dockerfile
Normal file
3
Dockerfile
Normal file
@@ -0,0 +1,3 @@
|
||||
FROM busybox
|
||||
|
||||
COPY keycloak-themes/oceanbox /theme
|
||||
2
Makefile
Normal file
2
Makefile
Normal file
@@ -0,0 +1,2 @@
|
||||
build:
|
||||
docker build -t docker.io/juselius/oceanbox-theme:1.0 .
|
||||
70
keycloak-themes/base/account/account.ftl
Normal file
70
keycloak-themes/base/account/account.ftl
Normal file
@@ -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>
|
||||
76
keycloak-themes/base/account/applications.ftl
Normal file
76
keycloak-themes/base/account/applications.ftl
Normal file
@@ -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>
|
||||
42
keycloak-themes/base/account/federatedIdentity.ftl
Normal file
42
keycloak-themes/base/account/federatedIdentity.ftl
Normal file
@@ -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>
|
||||
35
keycloak-themes/base/account/log.ftl
Normal file
35
keycloak-themes/base/account/log.ftl
Normal file
@@ -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>
|
||||
147
keycloak-themes/base/account/messages/messages_ca.properties
Normal file
147
keycloak-themes/base/account/messages/messages_ca.properties
Normal file
@@ -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.
|
||||
171
keycloak-themes/base/account/messages/messages_cs.properties
Normal file
171
keycloak-themes/base/account/messages/messages_cs.properties
Normal file
@@ -0,0 +1,171 @@
|
||||
# encoding: utf-8
|
||||
doSave=Uložit
|
||||
doCancel=Zrušit
|
||||
doLogOutAllSessions=Odhlásit všechny relace
|
||||
doRemove=Odstranit
|
||||
doAdd=Přidat
|
||||
doSignOut=Odhlásit se
|
||||
|
||||
editAccountHtmlTitle=Upravit účet
|
||||
federatedIdentitiesHtmlTitle=Propojené identity
|
||||
accountLogHtmlTitle=Log účtu
|
||||
changePasswordHtmlTitle=Změnit heslo
|
||||
sessionsHtmlTitle=Relace
|
||||
accountManagementTitle=Správa účtů Keycloak
|
||||
authenticatorTitle=Autentizátor
|
||||
applicationsHtmlTitle=Aplikace
|
||||
|
||||
authenticatorCode=Jednorázový kód
|
||||
email=E-mail
|
||||
firstName=První křestní jméno
|
||||
givenName=Křestní jména
|
||||
fullName=Celé jméno
|
||||
lastName=Příjmení
|
||||
familyName=Rodinné jméno
|
||||
password=Heslo
|
||||
passwordConfirm=Nové heslo (znovu)
|
||||
passwordNew=Nové heslo
|
||||
username=Uživatelské jméno
|
||||
address=Adresa
|
||||
street=Ulice
|
||||
locality=Město nebo lokalita
|
||||
region=Kraj
|
||||
postal_code=PSČ
|
||||
country=Stát
|
||||
emailVerified=E-mail ověřen
|
||||
gssDelegationCredential=GSS delegované oprávnění
|
||||
|
||||
role_admin=Správce
|
||||
role_realm-admin=Správce realmu
|
||||
role_create-realm=Vytvořit realm
|
||||
role_view-realm=Zobrazit realm
|
||||
role_view-users=Zobrazit uživatele
|
||||
role_view-applications=Zobrazit aplikace
|
||||
role_view-clients=Zobrazit klienty
|
||||
role_view-events=Zobrazit události
|
||||
role_view-identity-providers=Zobrazit poskytovatele identity
|
||||
role_manage-realm=Spravovat realm
|
||||
role_manage-users=Spravovat uživatele
|
||||
role_manage-applications=Spravovat aplikace
|
||||
role_manage-identity-providers=Spravovat poskytovatele identity
|
||||
role_manage-clients=Spravovat klienty
|
||||
role_manage-events=Spravovat události
|
||||
role_view-profile=Zobrazit profil
|
||||
role_manage-account=Spravovat účet
|
||||
role_manage-account-links=Spravovat odkazy na účet
|
||||
role_read-token=Číst token
|
||||
role_offline-access=Přístup offline
|
||||
role_uma_authorization=Získání oprávnění
|
||||
client_account=Účet
|
||||
client_security-admin-console=Administrátorská bezpečnostní konzole
|
||||
client_admin-cli=Administrátorské CLI
|
||||
client_realm-management=Správa realmů
|
||||
client_broker=Broker
|
||||
|
||||
|
||||
requiredFields=Požadovaná pole
|
||||
allFieldsRequired=Všechna pole vyžadovaná
|
||||
|
||||
backToApplication=« Zpět na aplikaci
|
||||
backTo=Zpět na {0}
|
||||
|
||||
date=Datum
|
||||
event=Událost
|
||||
ip=IP
|
||||
client=Klient
|
||||
clients=Klienti
|
||||
details=Podrobnosti
|
||||
started=Zahájeno
|
||||
lastAccess=Poslední přístup
|
||||
expires=Vyprší
|
||||
applications=Aplikace
|
||||
|
||||
account=Účet
|
||||
federatedIdentity=Propojená identita
|
||||
authenticator=Autentizátor
|
||||
sessions=Relace
|
||||
log=Log
|
||||
|
||||
application=Aplikace
|
||||
availablePermissions=Dostupná oprávnění
|
||||
grantedPermissions=Udělené oprávnění
|
||||
grantedPersonalInfo=Poskytnuté osobní informace
|
||||
additionalGrants=Dodatečné oprávnění
|
||||
action=Akce
|
||||
inResource=v
|
||||
fullAccess=Úplný přístup
|
||||
offlineToken=Offline Token
|
||||
revoke=Zrušit oprávnění
|
||||
|
||||
configureAuthenticators=Konfigurované autentizátory
|
||||
mobile=Mobilní
|
||||
totpStep1=Nainstalujte jednu z následujících aplikací
|
||||
totpStep2=Otevřete aplikaci a naskenujte čárový kód
|
||||
totpStep3=Zadejte jednorázový kód poskytnutý aplikací a klepnutím na tlačítko Uložit dokončete nastavení.
|
||||
|
||||
totpManualStep2=Otevřete aplikaci a zadejte klíč
|
||||
totpManualStep3=Použijte následující hodnoty konfigurace, pokud aplikace umožňuje jejich nastavení
|
||||
totpUnableToScan=Nelze skenovat?
|
||||
totpScanBarcode=Skenovat čárový kód?
|
||||
|
||||
totp.totp=Založeno na čase
|
||||
totp.hotp=Založeno na čítači
|
||||
|
||||
totpType=Typ
|
||||
totpAlgorithm=Algoritmus
|
||||
totpDigits=Číslice
|
||||
totpInterval=Interval
|
||||
totpCounter=Čítač
|
||||
|
||||
missingUsernameMessage=Zadejte uživatelské jméno.
|
||||
missingFirstNameMessage=Zadejte prosím křestní jméno.
|
||||
invalidEmailMessage=Neplatná e-mailová adresa.
|
||||
missingLastNameMessage=Zadejte prosím příjmení.
|
||||
missingEmailMessage=Zadejte prosím e-mail.
|
||||
missingPasswordMessage=Zadejte prosím heslo.
|
||||
notMatchPasswordMessage=Hesla se neshodují.
|
||||
|
||||
missingTotpMessage=Zadejte prosím kód autentizátoru.
|
||||
invalidPasswordExistingMessage=Neplatné stávající heslo.
|
||||
invalidPasswordConfirmMessage=Nová hesla se neshodují.
|
||||
invalidTotpMessage=Neplatný kód autentizátoru.
|
||||
|
||||
usernameExistsMessage=Uživatelské jméno již existuje.
|
||||
emailExistsMessage=E-mail již existuje.
|
||||
|
||||
readOnlyUserMessage=Nemůžete svůj účet aktualizovat, protože je pouze pro čtení.
|
||||
readOnlyUsernameMessage=Nemůžete aktualizovat své uživatelské jméno, protože je pouze pro čtení.
|
||||
readOnlyPasswordMessage=Nemůžete aktualizovat své heslo, protože váš účet je jen pro čtení.
|
||||
|
||||
successTotpMessage=Ověření pomocí OTP úspěšně konfigurováno.
|
||||
successTotpRemovedMessage=Ověření pomocí OTP úspěšně odstraněno.
|
||||
|
||||
successGrantRevokedMessage=Oprávnění bylo úspěšně zrušeno.
|
||||
|
||||
accountUpdatedMessage=Váš účet byl aktualizován.
|
||||
accountPasswordUpdatedMessage=Vaše heslo bylo aktualizováno.
|
||||
|
||||
missingIdentityProviderMessage=Chybějící poskytovatel identity.
|
||||
invalidFederatedIdentityActionMessage=Neplatná nebo chybějící akce.
|
||||
identityProviderNotFoundMessage=Poskytovatel identity nenalezen.
|
||||
federatedIdentityLinkNotActiveMessage=Tato identita již není aktivní.
|
||||
federatedIdentityRemovingLastProviderMessage=Nemůžete odstranit poslední propojenou identitu, protože nemáte heslo.
|
||||
identityProviderRedirectErrorMessage=Nepodařilo se přesměrovat na poskytovatele identity.
|
||||
identityProviderRemovedMessage=Poskytovatel identity byl úspěšně odstraněn.
|
||||
identityProviderAlreadyLinkedMessage=Propojená identita vrácená uživatelem {0} je již propojena s jiným uživatelem.
|
||||
staleCodeAccountMessage=Platnost vypršela. Zkuste to ještě jednou.
|
||||
consentDenied=Souhlas byl zamítnut.
|
||||
|
||||
accountDisabledMessage=Účet je zakázán, kontaktujte správce.
|
||||
|
||||
accountTemporarilyDisabledMessage=Účet je dočasně zakázán, kontaktujte správce nebo zkuste to později.
|
||||
invalidPasswordMinLengthMessage=Neplatné heslo: musí obsahovat minimálně {0} malých znaků.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Neplatné heslo: musí obsahovat minimálně {0} malé znaky.
|
||||
invalidPasswordMinDigitsMessage=Neplatné heslo: musí obsahovat nejméně {0} číslic.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Neplatné heslo: musí obsahovat nejméně {0} velkých písmenen.
|
||||
invalidPasswordMinSpecialCharsMessage=Neplatné heslo: musí obsahovat nejméně {0} speciálních znaků.
|
||||
invalidPasswordNotUsernameMessage=Neplatné heslo: nesmí být totožné s uživatelským jménem.
|
||||
invalidPasswordRegexPatternMessage=Neplatné heslo: neshoduje se zadaným regulárním výrazem.
|
||||
invalidPasswordHistoryMessage=Neplatné heslo: Nesmí se opakovat žádné z posledních {0} hesel.
|
||||
invalidPasswordBlacklistedMessage=Neplatné heslo: heslo je na černé listině.
|
||||
invalidPasswordGenericMessage=Neplatné heslo: nové heslo neodpovídá pravidlům hesla.
|
||||
339
keycloak-themes/base/account/messages/messages_da.properties
Normal file
339
keycloak-themes/base/account/messages/messages_da.properties
Normal file
@@ -0,0 +1,339 @@
|
||||
# encoding: UTF-8
|
||||
doSave=Gem
|
||||
doCancel=Annuller
|
||||
doLogOutAllSessions=Log alle sessioner ud
|
||||
doRemove=Fjern
|
||||
doAdd=Tilføj
|
||||
doSignOut=Log Ud
|
||||
doLogIn=Log Ind
|
||||
doLink=Link
|
||||
|
||||
editAccountHtmlTitle=Ændre Konto
|
||||
personalInfoHtmlTitle=Personlig information
|
||||
federatedIdentitiesHtmlTitle=Forbundne identiter
|
||||
accountLogHtmlTitle=Konto Log
|
||||
changePasswordHtmlTitle=Skift Adgangskode
|
||||
deviceActivityHtmlTitle=Enheds aktivitet
|
||||
sessionsHtmlTitle=Sessioner
|
||||
accountManagementTitle=Keycloak Account Management
|
||||
authenticatorTitle=Authenticator
|
||||
applicationsHtmlTitle=Applikationer
|
||||
linkedAccountsHtmlTitle=Linkede konti
|
||||
|
||||
accountManagementWelcomeMessage=Velkommen til Keycloak Account Management
|
||||
personalInfoIntroMessage=Administrer dine informationer
|
||||
accountSecurityTitle=Kontosikkerhed
|
||||
accountSecurityIntroMessage=Kontroller din adgangskode og kontoadgang.
|
||||
applicationsIntroMessage=Spor og administrer dine app tilladelser for at tilgå din konto
|
||||
resourceIntroMessage=Del dine ressourcer med team medlemmer
|
||||
passwordLastUpdateMessage=Din adgangskode blev opdateret
|
||||
updatePasswordTitle=Opdater Adgangskode
|
||||
updatePasswordMessageTitle=Sørg for at vælge en stærk adgangskode
|
||||
updatePasswordMessage=En stærk adgangskode indeholder en blanding af tal, bogstaver og symboler. Det er svært at gætte, ligner ikke et rigtigt ord og bør kun bruges til denne konto.
|
||||
personalSubTitle=Dine Personlige Informationer
|
||||
personalSubMessage=Administrer disse grundinformationer; dit fornavn, efternavn og email adresse
|
||||
|
||||
authenticatorCode=Engangskode
|
||||
email=Email
|
||||
firstName=Fornavn
|
||||
givenName=Fornavn
|
||||
fullName=Fulde navn
|
||||
lastName=Efternavn
|
||||
familyName=Efternavn
|
||||
password=Adgangskode
|
||||
currentPassword=Nuværende Adgangskode
|
||||
passwordConfirm=Bekræft ny adgangskode
|
||||
passwordNew=Ny adgangskode
|
||||
username=Brugernavn
|
||||
address=Adresse
|
||||
street=Vejnavn
|
||||
locality=By
|
||||
region=Region
|
||||
postal_code=Postnummer
|
||||
country=Land
|
||||
emailVerified=Email verificeret
|
||||
gssDelegationCredential=GSS Delegation Credential
|
||||
|
||||
profileScopeConsentText=Brugerprofil
|
||||
emailScopeConsentText=Email adresse
|
||||
addressScopeConsentText=Adresse
|
||||
phoneScopeConsentText=Telefonnummer
|
||||
offlineAccessScopeConsentText=Offline Adgang
|
||||
samlRoleListScopeConsentText=Mine Roller
|
||||
|
||||
role_admin=Admin
|
||||
role_realm-admin=Rige Admin
|
||||
role_create-realm=Opret rige
|
||||
role_create-client=Opret klient
|
||||
role_view-realm=Se rige
|
||||
role_view-users=Se brugere
|
||||
role_view-applications=Se applikationer
|
||||
role_view-clients=Se klienter
|
||||
role_view-events=Se hændelser
|
||||
role_view-identity-providers=Se identitetsudbydere
|
||||
role_manage-realm=Administrer rige
|
||||
role_manage-users=Administrer brugere
|
||||
role_manage-applications=Administrer applikationer
|
||||
role_manage-identity-providers=Administrer identitetsudbydere
|
||||
role_manage-clients=Administrer klienter
|
||||
role_manage-events=Administrer hændelser
|
||||
role_view-profile=Se profil
|
||||
role_manage-account=Administrer konto
|
||||
role_manage-account-links=Administrer konto links
|
||||
role_read-token=Se token
|
||||
role_offline-access=Offline adgang
|
||||
client_account=Konto
|
||||
client_security-admin-console=Sikkerheds Admin Konsol
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Rige administration
|
||||
client_broker=Broker
|
||||
|
||||
|
||||
requiredFields=Påkrævede felter
|
||||
allFieldsRequired=Alle felter er påkrævede
|
||||
|
||||
backToApplication=« Tilbage til applikation
|
||||
backTo=Tilbage til {0}
|
||||
|
||||
date=Dato
|
||||
event=Hændelse
|
||||
ip=IP
|
||||
client=Klient
|
||||
clients=Klienter
|
||||
details=Detaljer
|
||||
started=Påbegyndt
|
||||
lastAccess=Seneste Adgang
|
||||
expires=Udløber
|
||||
applications=Applikationer
|
||||
|
||||
account=Konto
|
||||
federatedIdentity=Federated Identity
|
||||
authenticator=Authenticator
|
||||
device-activity=Enheds aktivitet
|
||||
sessions=Sessioner
|
||||
log=Log
|
||||
|
||||
application=Applikation
|
||||
availableRoles=Tilgængelige Roller
|
||||
grantedPermissions=Tildelte Rettigheder
|
||||
grantedPersonalInfo=Tildelt Personlig Info
|
||||
additionalGrants=Yderligere Tildelinger
|
||||
action=Action
|
||||
inResource=i
|
||||
fullAccess=Fuld adgang
|
||||
offlineToken=Offline Token
|
||||
revoke=Tilbagekald tildeling
|
||||
|
||||
configureAuthenticators=Konfigurerede Authenticators
|
||||
mobile=Mobil
|
||||
totpStep1=Installer en af følgende applikationer på din mobil
|
||||
totpStep2=Åben applikationen og skan stregkoden
|
||||
totpStep3=Indtast engangskoden fra applikationen og tryk Indsend for at gennemføre opsætningen
|
||||
|
||||
totpManualStep2=Åben applikationen og indtast nøglen
|
||||
totpManualStep3=Brug følgende konfigurations værdier hvis applikationen tillader det
|
||||
|
||||
totpUnableToScan=Kan du ikke skanne?
|
||||
totpScanBarcode=Skan stregkode?
|
||||
|
||||
totp.totp=Tidsbaseret
|
||||
totp.hotp=Tællerbaseret
|
||||
|
||||
totpType=Type
|
||||
totpAlgorithm=Algoritme
|
||||
totpDigits=Tal
|
||||
totpInterval=Interval
|
||||
totpCounter=Tæller
|
||||
|
||||
missingUsernameMessage=Angiv brugernavn
|
||||
missingFirstNameMessage=Angiv fornavn.
|
||||
invalidEmailMessage=Ugyldig email adresse.
|
||||
missingLastNameMessage=Angiv efternavn
|
||||
missingEmailMessage=Angiv email adresse.
|
||||
missingPasswordMessage=Angiv adgangskode
|
||||
notMatchPasswordMessage=Adgangskoderne er ikke ens
|
||||
invalidUserMessage=Ugyldig bruger
|
||||
|
||||
missingTotpMessage=Angiv autentificerings kode.
|
||||
invalidPasswordExistingMessage=Ugyldig eksisterende adgangskode.
|
||||
invalidPasswordConfirmMessage=Adgangskoderne er ikke ens
|
||||
invalidTotpMessage=Ugyldig autentificerings kode.
|
||||
|
||||
usernameExistsMessage=Brugernavnet eksisterer allerede.
|
||||
emailExistsMessage=Email adressen eksisterer allerede.
|
||||
|
||||
readOnlyUserMessage=Du kan ikke opdatere din konto da den er read-only.
|
||||
readOnlyUsernameMessage=Du kan ikke opdatere dit brugernavn da det er read-only.
|
||||
readOnlyPasswordMessage=Du kan ikke opdatere din adgangskode da den er read-only.
|
||||
|
||||
successTotpMessage=Mobil authenticator konfigureret.
|
||||
successTotpRemovedMessage=Mobil authenticator fjernet.
|
||||
|
||||
successGrantRevokedMessage=Tildeling tilbagekaldt.
|
||||
|
||||
accountUpdatedMessage=Din konto er blevet opdateret.
|
||||
accountPasswordUpdatedMessage=Din adgangskode er blevet opdateret.
|
||||
|
||||
missingIdentityProviderMessage=Identitetsudbyder ikke specificeret.
|
||||
invalidFederatedIdentityActionMessage=Ugyldig eller manglende handling.
|
||||
identityProviderNotFoundMessage=Den angivede identitetsudbyder kunne ikke findes.
|
||||
federatedIdentityLinkNotActiveMessage=Denne identiet er ikke aktiv længere.
|
||||
identityProviderRedirectErrorMessage=Kunne ikke redirecte til identitetsudbyder.
|
||||
identityProviderRemovedMessage=Identitetsudbyder fjernet.
|
||||
identityProviderAlreadyLinkedMessage=Forbundsidentitet returneret af {} er allerede forbundet til en anden bruger.
|
||||
staleCodeAccountMessage=Siden er udløbet. Prøv igen.
|
||||
consentDenied=Samtykke afslået.
|
||||
|
||||
accountDisabledMessage=Kontoen er deaktiveret, kontakt en administrator.
|
||||
|
||||
accountTemporarilyDisabledMessage=Kontoen er midlertidigt deaktiveret, kontakt en administrator eller prøv igen senere.
|
||||
invalidPasswordMinLengthMessage=Ugyldig adgangskode: minimum længde {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ugyldig adgangskode: skal minimum indeholde {0} små bogstaver.
|
||||
invalidPasswordMinDigitsMessage=Ugyldig adgangskode: skal minimum indeholde {0} tal.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ugyldig adgangskode: skal minimum indeholde {0} store bogstaver.
|
||||
invalidPasswordMinSpecialCharsMessage=Ugyldig adgangskode: skal minimum indeholde {0} specialtegn.
|
||||
invalidPasswordNotUsernameMessage=Ugyldig adgangskode: må ikke være identisk med brugernavnet.
|
||||
invalidPasswordRegexPatternMessage=Ugyldig adgangskode: Ikke i stand til at matche regex mønstre.
|
||||
invalidPasswordHistoryMessage=Ugyldig adgangskode: må ikke være identisk med nogle af de seneste {0} adgangskoder.
|
||||
invalidPasswordBlacklistedMessage=Ugyldig adgangskode: adgangskoden er sortlisted.
|
||||
invalidPasswordGenericMessage=Ugyldig adgangskode: ny adgangskode matcher ikke vores adgangskode politikker.
|
||||
|
||||
# Authorization
|
||||
myResources=Mine Ressourcer
|
||||
myResourcesSub=Mine ressourcer
|
||||
doDeny=Afslå
|
||||
doRevoke=Tilbagekald
|
||||
doApprove=Godkend
|
||||
doRemoveSharing=Fjern Deling
|
||||
doRemoveRequest=Fjern Forespørgsel
|
||||
peopleAccessResource=Folk med adgang til denne ressource
|
||||
resourceManagedPolicies=Tilladelsen som giver adgang til denne ressource
|
||||
resourceNoPermissionsGrantingAccess=Ingen tilladelser giver adgang til denne ressource
|
||||
anyAction=Enhver handling
|
||||
description=Beskrivelse
|
||||
name=Navn
|
||||
scopes=Scopes
|
||||
resource=Ressource
|
||||
user=Bruger
|
||||
peopleSharingThisResource=Folk som deler denne ressource
|
||||
shareWithOthers=Del med andre
|
||||
needMyApproval=Mangler min godkendelse
|
||||
requestsWaitingApproval=Din forespørgsel afventer godkendelse
|
||||
icon=Ikon
|
||||
requestor=Forespørger
|
||||
owner=Ejer
|
||||
resourcesSharedWithMe=Ressourcer delt med mig
|
||||
permissionRequestion=Rettigsheds forespørgsel
|
||||
permission=Tilladelse
|
||||
shares=share(s)
|
||||
|
||||
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_zh-CN=\u4e2d\u6587\u7b80\u4f53
|
||||
|
||||
# Applications
|
||||
applicationName=Navn
|
||||
applicationType=Applikationstype
|
||||
applicationInUse=In-use app only
|
||||
clearAllFilter=Ryd alle filtre
|
||||
activeFilters=Aktive filtre
|
||||
filterByName=Filtrer På Navn...
|
||||
allApps=Alle applikationer
|
||||
internalApps=Interne applikationer
|
||||
thirdpartyApps=Tredje-parts applikationer
|
||||
appResults=Resultater
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Autoriseret Udbyder
|
||||
authorizedProviderMessage=Autoriserede udbydere forbundet med din konto
|
||||
|
||||
identityProvider=Identitetsudbyder
|
||||
identityProviderMessage=For at forbinde din konto med de identitetsudbydere du har konfigureret
|
||||
socialLogin=Social Log ind
|
||||
userDefined=Brugerdefineret
|
||||
removeAccess=Fjern Adgang
|
||||
removeAccessMessage=Du skal give adgang igen, hvis du vil bruge denne app konto.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=To-faktor godkendelse er
|
||||
authenticatorFinishSetUpTitle=Din to-faktor godkendelse
|
||||
authenticatorFinishSetUpMessage=Hver gang du logger ind på din Keycloak konto, vil du blive bedt om at give din to-faktor godkendelses kode.
|
||||
authenticatorSubTitle=Opsæt to-faktor godkendelse
|
||||
authenticatorSubMessage=For at forbedre sikkerheden på din konto, aktiver mindst en af de tilgængelige to-faktor godkendelses metoder.
|
||||
authenticatorMobileTitle=Mobile Authenticator
|
||||
authenticatorMobileMessage=Brug Mobile Authenticator for at få godkendelses koder som to-faktor godkendelse.
|
||||
authenticatorMobileFinishSetUpMessage=Authenticatoren er blevet bundet til din telefon.
|
||||
authenticatorActionSetup=Opsæt
|
||||
authenticatorSMSTitle=SMS Kode
|
||||
authenticatorSMSMessage=Keycloak vil sende godkendelses koden til din telefon som to-faktor godkendelse.
|
||||
|
||||
authenticatorSMSFinishSetUpMessage=Tekst beskeder er sendt til
|
||||
authenticatorDefaultStatus=Standard
|
||||
authenticatorChangePhone=Ændre Telefonnummer
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Mobile Authenticator Opsætning
|
||||
smscodeIntroMessage=Indtast dit mobil nummer og en verifikationskode vil blive sendt til din telefon.
|
||||
mobileSetupStep1=Installer en authenticator applikation på din telefon. De understøttede applikationer er listed her.
|
||||
mobileSetupStep2=Åben applikationen og skan stregkoden.
|
||||
mobileSetupStep3=Indtast engangskoden fra authenticator applikationen og tryk Gem for at færdiggøre opsætningen.
|
||||
scanBarCode=Vil du skanne stregkoden?
|
||||
enterBarCode=Indtast engangskoden
|
||||
doCopy=Kopier
|
||||
doFinish=Afslut
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=SMS Kode Opsætning
|
||||
chooseYourCountry=Vælg dit land
|
||||
enterYourPhoneNumber=Indtast dit telefonnummer
|
||||
sendVerficationCode=Send Verifikationskode
|
||||
enterYourVerficationCode=Indtast din verifikationskode
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Backup Kode Opsætning
|
||||
realmName=Rige
|
||||
doDownload=Download
|
||||
doPrint=Print
|
||||
doCopy=Kopier
|
||||
generateNewBackupCodes=Generer Nye Backup Koder
|
||||
backtoAuthenticatorPage=Tilbage til Authenticator siden
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Ressourcer
|
||||
myResources=Mine Ressourcer
|
||||
sharedwithMe=Delt med mig
|
||||
share=Del
|
||||
resource=Ressource
|
||||
application=Applikation
|
||||
date=Dato
|
||||
sharedwith=Delt med
|
||||
owner=Ejer
|
||||
accessPermissions=Adgangstilladelser
|
||||
permissionRequests=Rettigheds forespørgsler
|
||||
approve=Godkend
|
||||
approveAll=Godkend alle
|
||||
sharedwith=Delt med
|
||||
people=Folk
|
||||
perPage=per side
|
||||
currentPage=Nuværende Side
|
||||
sharetheResource=Del Ressourcen
|
||||
user=Bruger
|
||||
group=Gruppe
|
||||
selectPermission=Vælg tilladelse
|
||||
addPeople=Tilføj folk at dele ressourcen med
|
||||
addTeam=Tilføj hold at dele ressourcen med
|
||||
myPermissions=Mine Tilladelser
|
||||
waitingforApproval=Afventer godkendelse
|
||||
348
keycloak-themes/base/account/messages/messages_de.properties
Normal file
348
keycloak-themes/base/account/messages/messages_de.properties
Normal file
@@ -0,0 +1,348 @@
|
||||
doSave=Speichern
|
||||
doCancel=Abbrechen
|
||||
doLogOutAllSessions=Alle Sitzungen abmelden
|
||||
doRemove=Entfernen
|
||||
doAdd=Hinzuf\u00FCgen
|
||||
doSignOut=Abmelden
|
||||
doLogIn=Anmelden
|
||||
doLink=Verkn\u00FCpfen
|
||||
noAccessMessage=Zugriff verweigert
|
||||
|
||||
|
||||
editAccountHtmlTitle=Benutzerkonto bearbeiten
|
||||
personalInfoHtmlTitle=Pers\u00F6nliche Informationen
|
||||
federatedIdentitiesHtmlTitle=F\u00F6derierte Identit\u00E4ten
|
||||
accountLogHtmlTitle=Benutzerkonto Log
|
||||
changePasswordHtmlTitle=Passwort \u00C4ndern
|
||||
deviceActivityHtmlTitle=Ger\u00E4teaktivit\u00E4t
|
||||
sessionsHtmlTitle=Sitzungen
|
||||
accountManagementTitle=Keycloak Benutzerkontoverwaltung
|
||||
authenticatorTitle=Mehrfachauthentifizierung
|
||||
applicationsHtmlTitle=Applikationen
|
||||
linkedAccountsHtmlTitle=Verkn\u00FCpfte Konten
|
||||
|
||||
accountManagementWelcomeMessage=Willkommen bei der Keycloak Kontoverwaltung
|
||||
personalInfoIntroMessage=Grundlegende Informationen verwalten
|
||||
accountSecurityTitle=Kontosicherheit
|
||||
accountSecurityIntroMessage=Passwort und Kontozugriff verwalten
|
||||
applicationsIntroMessage=App-Berechtigung f\u00FCr den Zugriff auf ihr Konto verwalten
|
||||
resourceIntroMessage=Ressourcen mit Teammitgliedern teilen
|
||||
passwordLastUpdateMessage=Ihr Passwort wurde aktualisiert am
|
||||
updatePasswordTitle=Passwort aktualisieren
|
||||
updatePasswordMessageTitle=W\u00C4hlen Sie ein sicheres Passwort
|
||||
updatePasswordMessage=Ein sicheres Passwort besteht aus einer Kombination aus Zahlen, Buchstaben und Sonderzeichen. Es ist schwer zu erraten, hat keine \u00C4hnlichkeit mit einem echten Wort, und wird nur f\u00FCr dieses Konto verwendet.
|
||||
personalSubTitle=Ihre pers\u00F6nlichen Informationen
|
||||
personalSubMessage=Verwalten Sie folgende Informationen: Vorname, Nachname und E-Mail-Adresse
|
||||
|
||||
authenticatorCode=One-time Code
|
||||
email=E-Mail
|
||||
firstName=Vorname
|
||||
givenName=Vorname
|
||||
fullName=Voller Name
|
||||
lastName=Nachname
|
||||
familyName=Nachname
|
||||
password=Passwort
|
||||
currentPassword=Aktuelles 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
|
||||
website=Website
|
||||
phoneNumber=Telefonnummer
|
||||
phoneNumberVerified=Telefonnummer verifiziert
|
||||
gender=Geschlecht
|
||||
birthday=Geburtsdatum
|
||||
zoneinfo=Zeitzone
|
||||
gssDelegationCredential=GSS delegierte Berechtigung
|
||||
|
||||
profileScopeConsentText=Nutzerkonto
|
||||
emailScopeConsentText=E-Mail Adresse
|
||||
addressScopeConsentText=Adresse
|
||||
phoneScopeConsentText=Telefonnummer
|
||||
offlineAccessScopeConsentText=Offline Zugriff
|
||||
samlRoleListScopeConsentText=Meine Rollen
|
||||
rolesScopeConsentText=Nutzerrollen
|
||||
|
||||
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_view-consent=Zustimmungen anzeigen
|
||||
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_manage-consent=Zustimmungen verwalten
|
||||
role_read-token=Token lesen
|
||||
role_offline-access=Offline-Zugriff
|
||||
role_uma_authorization=Berechtigungen einholen
|
||||
client_account=Clientkonto
|
||||
client_account-console=Accountkonsole
|
||||
client_security-admin-console=Security Adminkonsole
|
||||
client_admin-cli=Admin CLI
|
||||
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
|
||||
device-activity=Ger\u00E4teaktivit\u00E4t
|
||||
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.
|
||||
totpStep3DeviceName=Geben Sie einen Ger\u00E4tenamen an, um die Verwaltung Ihrer OTP-Ger\u00E4te zu erleichtern.
|
||||
|
||||
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
|
||||
totpDeviceName=Ger\u00E4tename
|
||||
|
||||
irreversibleAction=Diese Aktion ist unwiderruflich
|
||||
deletingImplies=Die L\u00F6schung Ihres Kontos bedeutet:
|
||||
errasingData=L\u00F6schen aller Ihrer Daten
|
||||
loggingOutImmediately=Sofortige Abmeldung
|
||||
accountUnusable=Eine sp\u00E4tere Nutzung der Anwendung ist mit diesem Konto nicht mehr m\u00F6glich
|
||||
|
||||
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.
|
||||
invalidUserMessage=Ung\u00FCltiger Nutzer
|
||||
|
||||
missingTotpMessage=Bitte geben Sie den One-time Code ein.
|
||||
missingTotpDeviceNameMessage=Bitte geben Sie einen Ger\u00E4tenamen an.
|
||||
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.
|
||||
invalidPasswordNotEmailMessage=Ung\u00FCltiges Passwort: darf nicht identisch mit der E-Mail-Adresse sein.
|
||||
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.
|
||||
|
||||
# Authorization
|
||||
myResources=Meine Ressourcen
|
||||
myResourcesSub=Meine Ressourcen
|
||||
doDeny=Ablehnen
|
||||
doRevoke=Widerrufen
|
||||
doApprove=Genehmigen
|
||||
doRemoveSharing=Freigabe entfernen
|
||||
doRemoveRequest=Anfrage entfernen
|
||||
peopleAccessResource=Personen mit Zugriff auf diese Ressource
|
||||
resourceManagedPolicies=Berechtigungen, die Zugriff auf diese Ressource gew\u00E4hren
|
||||
resourceNoPermissionsGrantingAccess=Keine Berechtigungen, die Zugriff auf diese Ressource gew\u00E4hren
|
||||
anyAction=Jede Aktion
|
||||
description=Beschreibung
|
||||
name=Name
|
||||
scopes=Geltungsbereiche
|
||||
resource=Ressource
|
||||
user=Nutzer
|
||||
peopleSharingThisResource=Personen, die diese Ressource teilen
|
||||
shareWithOthers=Mit anderen teilen
|
||||
needMyApproval=Braucht meine Zustimmung
|
||||
requestsWaitingApproval=Ihre Anfragen, die auf Genehmigung warten
|
||||
icon=Icon
|
||||
requestor=Antragstellender
|
||||
owner=Besitzender
|
||||
resourcesSharedWithMe=Mit mir geteilte Ressourcen
|
||||
permissionRequestion=Genehmigungsanfrage
|
||||
permission=Genehmigung
|
||||
shares=teilt(en)
|
||||
notBeingShared=Diese Ressource wird nicht freigegeben.
|
||||
notHaveAnyResource=Sie haben keine Ressourcen
|
||||
noResourcesSharedWithYou=Es werden keine Ressourcen mit Ihnen geteilt
|
||||
havePermissionRequestsWaitingForApproval=Sie haben {0} Genehmigungsanfrage(n), die auf die Genehmigung warten.
|
||||
clickHereForDetails=Klicken Sie hier f\u00FCr Details.
|
||||
resourceIsNotBeingShared=Die Ressource wird nicht freigegeben
|
||||
|
||||
# Applications
|
||||
applicationName=Anwendungsname
|
||||
applicationType=Anwendungstyp
|
||||
applicationInUse=Nur verwendete Anwendungen
|
||||
clearAllFilter=Alle Filter entfernen
|
||||
activeFilters=Aktive Filter
|
||||
filterByName=Nach Namen filtern ...
|
||||
allApps=Alle Anwendungen
|
||||
internalApps=Interne Anwendungen
|
||||
thirdpartyApps=Anwendungen von Drittanbietern
|
||||
appResults=Ergebnisse
|
||||
clientNotFoundMessage=Client nicht gefunden.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Autorisierter Provider
|
||||
authorizedProviderMessage=Autorisierte Provider, die mit Ihrem Konto verkn\u00FCpft sind
|
||||
identityProvider=Identit\u00E4tsprovider
|
||||
identityProviderMessage=Verkn\u00FCpfen Sie Ihr Konto mit Identit\u00E4tsprovidern, die Sie konfiguriert haben
|
||||
socialLogin=Social Login
|
||||
userDefined=Benutzerdefiniert
|
||||
removeAccess=Zugriff entfernen
|
||||
removeAccessMessage=Sie m\u00FCssen den Zugriff erneut gew\u00E4hren, wenn Sie diese Anwendung verwenden m\u00F6chten.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=Zwei-Faktor-Authentifizierung ist zurzeit
|
||||
authenticatorFinishSetUpTitle=Ihre Zwei-Faktor-Authentifizierung
|
||||
authenticatorFinishSetUpMessage=Jedes Mal, wenn Sie sich bei Ihrem Keycloak-Konto anmelden, werden Sie aufgefordert, einen Zwei-Faktor-Authentifizierungscode einzugeben.
|
||||
authenticatorSubTitle=Zwei-Faktor-Authentifizierung einrichten
|
||||
authenticatorSubMessage=Um die Sicherheit Ihres Kontos zu erh\u00F6hen, aktivieren Sie mindestens eine der verf\u00FCgbaren Zwei-Faktor-Authentifizierungsmethoden.
|
||||
authenticatorMobileTitle=Handy-Authentifikator
|
||||
authenticatorMobileMessage=Verwenden Sie Authenticator-Anwendungen auf Ihrem Telefon, um Verifizierungscodes als Zwei-Faktor-Authentifizierung zu erhalten.
|
||||
authenticatorMobileFinishSetUpMessage=Die Authenticator-Anwendung wurde an Ihr Telefon gebunden.
|
||||
authenticatorActionSetup=Einrichten
|
||||
authenticatorSMSTitle=SMS-Code
|
||||
authenticatorSMSMessage=Keycloak sendet den Verifizierungscode an Ihr Telefon als Zwei-Faktor-Authentifizierung.
|
||||
authenticatorSMSFinishSetUpMessage=Textnachrichten werden gesendet an
|
||||
authenticatorDefaultStatus=Standard
|
||||
authenticatorChangePhone=Telefonnummer \u00E4ndern
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Handy-Authenticator-Setup
|
||||
smscodeIntroMessage=Geben Sie Ihre Rufnummer ein und ein Verifizierungscode wird an Ihr Telefon gesendet.
|
||||
mobileSetupStep1=Installieren Sie eine Authenticator-Anwendung auf Ihrem Telefon. Die hier aufgef\u00FChrten Anwendungen werden unterst\u00FCtzt.
|
||||
mobileSetupStep2=\u00D6ffnen Sie die Anwendung und scannen Sie den Barcode:
|
||||
mobileSetupStep3=Geben Sie den von der Anwendung bereitgestellten Einmalcode ein und klicken Sie auf Speichern, um die Einrichtung abzuschlie\u00DFen.
|
||||
scanBarCode=Wollen Sie den Barcode scannen?
|
||||
enterBarCode=Geben Sie den Einmalcode ein
|
||||
doCopy=Kopieren
|
||||
doFinish=Fertigstellen
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=SMS-Code-Einrichtung
|
||||
chooseYourCountry=W\u00E4hlen Sie Ihr Land
|
||||
enterYourPhoneNumber=Geben Sie Ihre Telefonnummer ein
|
||||
sendVerficationCode=Verifizierungscode senden
|
||||
enterYourVerficationCode=Geben Sie Ihren Verifizierungscode ein
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Backup-Codes einrichten
|
||||
realmName=Realm
|
||||
doDownload=Herunterladen
|
||||
doPrint=Drucken
|
||||
generateNewBackupCodes=Neue Backup-Codes generieren
|
||||
backtoAuthenticatorPage=Zur\u00FCck zur Authenticator-Seite
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Ressourcen
|
||||
sharedwithMe=Mit mir geteilt
|
||||
share=Teilen
|
||||
sharedwith=Geteilt mit
|
||||
accessPermissions=Zugriffsberechtigungen
|
||||
permissionRequests=Berechtigungsanfragen
|
||||
approve=Genehmigen
|
||||
approveAll=Alle genehmigen
|
||||
people=Personen
|
||||
perPage=Pro Seite
|
||||
currentPage=Aktuelle Seite
|
||||
sharetheResource=Die Ressource teilen
|
||||
group=Gruppe
|
||||
selectPermission=Berechtigung ausw\u00E4hlen
|
||||
addPeople=Personen hinzuf\u00FCgen, mit denen die Ressource geteilt werden soll
|
||||
addTeam=Team hinzuf\u00FCgen, mit dem die Ressource geteilt werden soll
|
||||
myPermissions=Meine Berechtigungen
|
||||
waitingforApproval=Warten auf Genehmigung
|
||||
anyPermission=Jede Berechtigung
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Nutzerinformation
|
||||
openshift.scope.user_check-access=Benutzerzugriffsinformationen
|
||||
openshift.scope.user_full=Voller Zugriff
|
||||
openshift.scope.list-projects=Projekte auflisten
|
||||
397
keycloak-themes/base/account/messages/messages_en.properties
Normal file
397
keycloak-themes/base/account/messages/messages_en.properties
Normal file
@@ -0,0 +1,397 @@
|
||||
doSave=Save
|
||||
doCancel=Cancel
|
||||
doLogOutAllSessions=Log out all sessions
|
||||
doRemove=Remove
|
||||
doAdd=Add
|
||||
doSignOut=Sign out
|
||||
doLogIn=Log In
|
||||
doLink=Link
|
||||
noAccessMessage=Access not allowed
|
||||
|
||||
personalInfoSidebarTitle=Personal info
|
||||
accountSecuritySidebarTitle=Account security
|
||||
signingInSidebarTitle=Signing in
|
||||
deviceActivitySidebarTitle=Device activity
|
||||
linkedAccountsSidebarTitle=Linked accounts
|
||||
|
||||
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 your basic information.
|
||||
|
||||
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
|
||||
website=Web page
|
||||
phoneNumber=Phone number
|
||||
phoneNumberVerified=Phone number verified
|
||||
gender=Gender
|
||||
birthday=Birthdate
|
||||
zoneinfo=Time zone
|
||||
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
|
||||
|
||||
irreversibleAction=This action is irreversible
|
||||
deletingImplies=Deleting your account implies:
|
||||
errasingData=Erasing all your data
|
||||
loggingOutImmediately=Logging you out immediately
|
||||
accountUnusable=Any subsequent use of the application will not be possible with this account
|
||||
|
||||
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
|
||||
updateReadOnlyAttributesRejectedMessage=Update of read-only attribute rejected
|
||||
|
||||
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}.
|
||||
invalidPasswordMaxLengthMessage=Invalid password: maximum 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.
|
||||
invalidPasswordNotEmailMessage=Invalid password: must not be equal to the email.
|
||||
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_cs=\u010Ce\u0161tina
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Espa\u00f1ol
|
||||
locale_fr=Fran\u00e7ais
|
||||
locale_hu=Magyar
|
||||
locale_it=Italiano
|
||||
locale_ja=\u65e5\u672c\u8a9e
|
||||
locale_lt=Lietuvi\u0173
|
||||
locale_nl=Nederlands
|
||||
locale_no=Norsk
|
||||
locale_pl=Polski
|
||||
locale_pt-BR=Portugu\u00eas (Brasil)
|
||||
locale_ru=\u0420\u0443\u0441\u0441\u043a\u0438\u0439
|
||||
locale_sk=Sloven\u010dina
|
||||
locale_sv=Svenska
|
||||
locale_tr=T\u00FCrk\u00E7e
|
||||
locale_zh-CN=\u4e2d\u6587\u7b80\u4f53
|
||||
locale_fi=Suomi
|
||||
|
||||
# Applications
|
||||
applicationName=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
|
||||
|
||||
#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=Recovery Authentication Codes Setup
|
||||
realmName=Realm
|
||||
doDownload=Download
|
||||
doPrint=Print
|
||||
generateNewBackupCodes=Generate New Recovery Authentication Codes
|
||||
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
|
||||
|
||||
error-invalid-value=Invalid value.
|
||||
error-invalid-blank=Please specify value.
|
||||
error-empty=Please specify value.
|
||||
error-invalid-length=Attribute {0} must have a length between {1} and {2}.
|
||||
error-invalid-length-too-short=Attribute {0} must have minimal length of {1}.
|
||||
error-invalid-length-too-long=Attribute {0} must have maximal length of {2}.
|
||||
error-invalid-email=Invalid email address.
|
||||
error-invalid-number=Invalid number.
|
||||
error-number-out-of-range=Attribute {0} must be a number between {1} and {2}.
|
||||
error-number-out-of-range-too-small=Attribute {0} must have minimal value of {1}.
|
||||
error-number-out-of-range-too-big=Attribute {0} must have maximal value of {2}.
|
||||
error-pattern-no-match=Invalid value.
|
||||
error-invalid-uri=Invalid URL.
|
||||
error-invalid-uri-scheme=Invalid URL scheme.
|
||||
error-invalid-uri-fragment=Invalid URL fragment.
|
||||
error-user-attribute-required=Please specify attribute {0}.
|
||||
error-invalid-date=Invalid date.
|
||||
error-user-attribute-read-only=The field {0} is read only.
|
||||
error-username-invalid-character=Username contains invalid character.
|
||||
error-person-name-invalid-character=Name contains invalid character.
|
||||
147
keycloak-themes/base/account/messages/messages_es.properties
Normal file
147
keycloak-themes/base/account/messages/messages_es.properties
Normal file
@@ -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.
|
||||
400
keycloak-themes/base/account/messages/messages_fi.properties
Normal file
400
keycloak-themes/base/account/messages/messages_fi.properties
Normal file
@@ -0,0 +1,400 @@
|
||||
# encoding: UTF-8
|
||||
doSave=Tallenna
|
||||
doCancel=Peruuta
|
||||
doLogOutAllSessions=Kirjaudu ulos kaikista sessioista
|
||||
doRemove=Poista
|
||||
doAdd=Lisää
|
||||
doSignOut=Kirjaudu ulos
|
||||
doLogIn=Kirjaudu sisään
|
||||
doLink=Yhdistä
|
||||
noAccessMessage=Pääsy evätty
|
||||
|
||||
|
||||
editAccountHtmlTitle=Muokkaa käyttäjää
|
||||
personalInfoHtmlTitle=Henkilökohtaiset tiedot
|
||||
federatedIdentitiesHtmlTitle=Yhteinen tunnistaminen
|
||||
accountLogHtmlTitle=Käyttäjä loki
|
||||
changePasswordHtmlTitle=Vaihda salasana
|
||||
deviceActivityHtmlTitle=Device Activity
|
||||
sessionsHtmlTitle=Istunnot
|
||||
accountManagementTitle=Keycloak Käyttäjä Hallinta
|
||||
authenticatorTitle=Kaksinkertainen kirjautuminen
|
||||
applicationsHtmlTitle=Sovellukset
|
||||
linkedAccountsHtmlTitle=Yhdistetyt tilit
|
||||
|
||||
accountManagementWelcomeMessage=Tervetuloa Keycloak-tilin hallintaan
|
||||
personalInfoIntroMessage=Hallinnoi perustietoja
|
||||
accountSecurityTitle=Tilin turvallisuus
|
||||
accountSecurityIntroMessage=Hallitse salasanaasi ja tilin pääsyasetuksia
|
||||
applicationsIntroMessage=Seuraa ja hallitse sovelluksiasi, joilla on pääsy tilille
|
||||
resourceIntroMessage=Jaa resurssejasi tiimin jäsenten kesken
|
||||
passwordLastUpdateMessage=Salasanasi päivitettiin
|
||||
updatePasswordTitle=Päivitä salasana
|
||||
updatePasswordMessageTitle=Varmista, että valitsemasi salasana on vahva
|
||||
updatePasswordMessage=Vahva salasana sisältää sekaisin numeroita, kirjaimia ja symboleja. Se on vaikea arvata, ei muistuta oikeita sanoja ja on käytössä vain tällä tilillä.
|
||||
personalSubTitle=Henkilökohtaiset tiedot
|
||||
personalSubMessage=Hallitse näitä perustietojasi: etunimi, sukunimi ja sähköposti
|
||||
|
||||
authenticatorCode=Kertakäyttökoodi
|
||||
email=Sähköposti
|
||||
firstName=Etunimi
|
||||
givenName=Sukunimi
|
||||
fullName=Koko nimi
|
||||
lastName=Sukunimi
|
||||
familyName=Sukunimi
|
||||
password=Salasana
|
||||
currentPassword=Nykyinen salasana
|
||||
passwordConfirm=Salasana uudelleen
|
||||
passwordNew=Uusi salasana
|
||||
username=Käyttäjänimi
|
||||
address=Osoite
|
||||
street=Katu
|
||||
locality=Kaupunki
|
||||
region=Osavaltio, Provinssi, tai Alue
|
||||
postal_code=Postinumero
|
||||
country=Maa
|
||||
emailVerified=Sähköposti vahvistettu
|
||||
website=Verkkosivu
|
||||
phoneNumber=Puhelinnumero
|
||||
phoneNumberVerified=Puhelinnumero varmennettu
|
||||
gender=Sukupuoli
|
||||
birthday=Syntymäpäivä
|
||||
zoneinfo=Aikavyöhyke
|
||||
gssDelegationCredential=GSS Delegation Credential
|
||||
|
||||
profileScopeConsentText=Käyttäjän profiili
|
||||
emailScopeConsentText=Sähköpostiosoite
|
||||
addressScopeConsentText=Osoite
|
||||
phoneScopeConsentText=Puhelinnumero
|
||||
offlineAccessScopeConsentText=Offline-käyttö
|
||||
samlRoleListScopeConsentText=Omat roolit
|
||||
rolesScopeConsentText=Käyttäjäroolit
|
||||
|
||||
role_admin=Admin
|
||||
role_realm-admin=Realm Admin
|
||||
role_create-realm=Luo realm
|
||||
role_view-realm=Näytä realm
|
||||
role_view-users=Näytä käyttäjät
|
||||
role_view-applications=Näytä sovellukset
|
||||
role_view-clients=Näytä asiakkaat
|
||||
role_view-events=Näytä tapahtumat
|
||||
role_view-identity-providers=Näytä henkilöllisyyden tarjoajat
|
||||
role_view-consent=Näytä suostumukset
|
||||
role_manage-realm=Hallinnoi realmia
|
||||
role_manage-users=Hallinnoi käyttäjiä
|
||||
role_manage-applications=Hallinnoi sovelluksia
|
||||
role_manage-identity-providers=Hallinnoi henkilöllisyyden tarjoajia
|
||||
role_manage-clients=Hallinnoi asiakkaita
|
||||
role_manage-events=Hallinnoi tapahtumia
|
||||
role_view-profile=Näytä profiili
|
||||
role_manage-account=Hallitse tiliä
|
||||
role_manage-account-links=Hallitse tilin linkkejä
|
||||
role_manage-consent=Hallitse suostumuksia
|
||||
role_read-token=Lue token
|
||||
role_offline-access=Offline-pääsy
|
||||
role_uma_authorization=Hanki käyttöoikeudet
|
||||
client_account=Tili
|
||||
client_account-console=Tilin konsoli
|
||||
client_security-admin-console=Turvallisuus-hallintapaneeli
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Realm Hallinta
|
||||
client_broker=Broker
|
||||
|
||||
|
||||
requiredFields=Vaaditut kentät
|
||||
allFieldsRequired=Kaikki kentät vaaditaan
|
||||
|
||||
backToApplication=« Takaisin sovellukseen
|
||||
backTo=Takaisin {0}
|
||||
|
||||
date=Päivämäärä
|
||||
event=Event
|
||||
ip=IP
|
||||
client=Asiakas
|
||||
clients=Asiakkaat
|
||||
details=Yksityiskohdat
|
||||
started=Luotu
|
||||
lastAccess=Viimeksi käytetty
|
||||
expires=Vanhenee
|
||||
applications=Sovellukset
|
||||
|
||||
account=Käyttäjätili
|
||||
federatedIdentity=Yhteinen tunnistaminen
|
||||
authenticator=Kaksinkertainen kirjautuminen
|
||||
device-activity=Laiteaktiviteetti
|
||||
sessions=Istunnot
|
||||
log=Loki
|
||||
|
||||
application=Sovellus
|
||||
availableRoles=Saatavilla olevat roolit
|
||||
availablePermissions=Saatavilla olevat oikeudet
|
||||
grantedPermissions=Myönnetyt oikeudet
|
||||
grantedPersonalInfo=Henkilökohtaiset tiedot
|
||||
additionalGrants=Vaihtoehtoiset oikeudet
|
||||
action=Toiminto
|
||||
inResource=in
|
||||
fullAccess=Täydet oikeudet
|
||||
offlineToken=Offline Token
|
||||
revoke=Kumoa oikeudet
|
||||
|
||||
configureAuthenticators=Konfiguroitu kaksivaiheinen kirjautuminen
|
||||
mobile=Mobiili
|
||||
totpStep1=Asenna <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> tai Google Authenticator ohjelma laiteellesi. Kummatkin sovellukset ovat saatavilla <a href="https://play.google.com">Google Play</a> ja Apple App Store kaupoissa.
|
||||
totpStep2=Avaa sovellus ja skannaa QR-koodi tai kirjoita avain.
|
||||
totpStep3=Täytä saamasi kertaluontoinen koodisi allaolevaan kenttään ja paina Tallenna.
|
||||
totpStep3DeviceName=Anna laitteelle nimi, jotta voit hallinnoida OTP-laitteitasi.
|
||||
|
||||
totpManualStep2=Avaa sovellus ja syötä koodi
|
||||
totpManualStep3=Käytä seuraavia asetuksia mikäli sovellus sallii niiden syötön
|
||||
totpUnableToScan=Ongelmia skannuksessa?
|
||||
totpScanBarcode=Skannaa viivakoodi?
|
||||
|
||||
totp.totp=Aikapohjainen
|
||||
totp.hotp=Laskuripohjainen
|
||||
|
||||
totpType=Tyyppi
|
||||
totpAlgorithm=Algoritmi
|
||||
totpDigits=Numerot
|
||||
totpInterval=Intervalli
|
||||
totpCounter=Laskuri
|
||||
totpDeviceName=Laitteen nimi
|
||||
|
||||
irreversibleAction=Tätä toimintoa ei voi peruuttaa
|
||||
deletingImplies=Tilin poisto tarkoittaa sitä, että:
|
||||
errasingData=Kaikki tietosi poistetaan
|
||||
loggingOutImmediately=Sinut kirjataan ulos välittömästi
|
||||
accountUnusable=Tämän sovelluksen käyttö ei myöhemmin enää ole mahdollista tällä käyttäjätilillä
|
||||
|
||||
missingUsernameMessage=Anna käyttäjätunnus.
|
||||
missingFirstNameMessage=Anna etunimi.
|
||||
invalidEmailMessage=Virheellinen sähköpostiosoite.
|
||||
missingLastNameMessage=Anna sukunimi.
|
||||
missingEmailMessage=Anna sähköpostiosoite.
|
||||
missingPasswordMessage=Anna salasana.
|
||||
notMatchPasswordMessage=Salasanat eivät täsmää.
|
||||
invalidUserMessage=Väärä käyttäjä
|
||||
updateReadOnlyAttributesRejectedMessage=Vain-luku-ominaisuuden päivittäminen hylätty
|
||||
|
||||
missingTotpMessage=Ole hyvä ja määritä varmennuskoodi.
|
||||
missingTotpDeviceNameMessage=Ole hyvä ja määritä laitteen nimi.
|
||||
invalidPasswordExistingMessage=Vanha salasana on virheellinen.
|
||||
invalidPasswordConfirmMessage=Salasanan vahivistus ei täsmää.
|
||||
invalidTotpMessage=Väärä varmennuskoodi.
|
||||
|
||||
usernameExistsMessage=Käyttäjänimi on varattu.
|
||||
emailExistsMessage=Sähköpostiosoite on jo käytössä.
|
||||
|
||||
readOnlyUserMessage=Et voi muokata käyttäjätiliäsi.
|
||||
readOnlyUsernameMessage=Et voi päivittää käyttäjänimeäsi, koska se on "vain-luku"-tilassa.
|
||||
readOnlyPasswordMessage=Et voi vaihtaa salasanaa.
|
||||
|
||||
successTotpMessage=Mobiiliautentikointi konfiguroitu.
|
||||
successTotpRemovedMessage=Mobiiliautentikointi poistettu.
|
||||
|
||||
successGrantRevokedMessage=Lupa peruutettu onnistuneesti.
|
||||
|
||||
accountUpdatedMessage=Käyttäjätiedot päivitetty.
|
||||
accountPasswordUpdatedMessage=Salasana vaihdettu.
|
||||
|
||||
missingIdentityProviderMessage=Henkilöllisyyden tarjoajaa ei määritetty.
|
||||
invalidFederatedIdentityActionMessage=Väärä tai puuttuva toiminto.
|
||||
identityProviderNotFoundMessage=Määritettyä henkilöllisyyden tarjoajaa ei löydy.
|
||||
federatedIdentityLinkNotActiveMessage=Tämä henkilöllisyys ei ole enää aktiivinen.
|
||||
federatedIdentityRemovingLastProviderMessage=Et voi poistaa viimeistä yhdistettyä henkilöllisyyttä, koska sinulla ei ole salasanaa.
|
||||
identityProviderRedirectErrorMessage=Uudelleenohjaus henkilöllisyyden tarjoajaan epäonnistui.
|
||||
identityProviderRemovedMessage=Henkilöllisyyden tarjoaja poistettu onnistuneesti.
|
||||
identityProviderAlreadyLinkedMessage=Yhdistetty henkilöllisyys, minkä {0} palautti, on jo linkitetty toiseen käyttäjään.
|
||||
staleCodeAccountMessage=Sivu vanhentui. Ole hyvä ja yritä vielä kerran.
|
||||
consentDenied=Suostumus evätty.
|
||||
|
||||
accountDisabledMessage=Tili on poistettu käytöstä, ota yhteyttä järjestelmänvalvojaan.
|
||||
|
||||
accountTemporarilyDisabledMessage=Tili on väliaikaisesti poissa käytöstä, ota yhteyttä järjestelmänvalvojaan tai yritä myöhemmin uudelleen.
|
||||
invalidPasswordMinLengthMessage=Virheellinen salasana: vähimmäispituus {0}.
|
||||
invalidPasswordMaxLengthMessage=Virheellinen salasana: maksimipituus {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Virheellinen salasana: salasanassa tulee olla vähintään {0} pientä kirjainta.
|
||||
invalidPasswordMinDigitsMessage=Virheellinen salasana: salasanassa tulee olla vähintään {0} numeroa.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Virheellinen salasana: salasanassa tulee olla vähintään {0} isoa kirjainta.
|
||||
invalidPasswordMinSpecialCharsMessage=Virheellinen salasana: salasanassa tulee olla vähintään {0} erikoismerkkiä.
|
||||
invalidPasswordNotUsernameMessage=Virheellinen salasana: salasana ei saa olla sama kuin käyttäjätunnus.
|
||||
invalidPasswordNotEmailMessage=Virheellinen salasana: ei voi olla sama kuin sähköposti.
|
||||
invalidPasswordRegexPatternMessage=Virheellinen salasana: fails to match regex pattern(s).
|
||||
invalidPasswordHistoryMessage=Virheellinen salasana: salasana ei saa olla sama kuin {0} edellistä salasanaasi.
|
||||
invalidPasswordBlacklistedMessage=Väärä salasana, salasana on lisätty mustalle listalle.
|
||||
invalidPasswordGenericMessage=Virheellinen salasana: uusi salasana ei täytä salasanavaatimuksia.
|
||||
|
||||
# Authorization
|
||||
myResources=Minun resurssini
|
||||
myResourcesSub=Minun resurssini
|
||||
doDeny=Kiellä
|
||||
doRevoke=Peru
|
||||
doApprove=Hyväksy
|
||||
doRemoveSharing=Poista Jakaminen
|
||||
doRemoveRequest=Poista Pyyntö
|
||||
peopleAccessResource=Ihmiset, joilla on pääsy tähän resurssiin
|
||||
resourceManagedPolicies=Luvat antavat pääsyn tähän resurssiin
|
||||
resourceNoPermissionsGrantingAccess=Ei lupia, mitkä antavat pääsyn tähän resurssiin
|
||||
anyAction=Mikä tahansa toiminto
|
||||
description=Kuvaus
|
||||
name=Nimi
|
||||
scopes=Scopes
|
||||
resource=Resurssi
|
||||
user=Käyttäjä
|
||||
peopleSharingThisResource=Ihmiset, jotka jakavat tämän resurssin
|
||||
shareWithOthers=Jaa toisten kanssa
|
||||
needMyApproval=Tarvitsee minulta luvan
|
||||
requestsWaitingApproval=Pyyntösi odottaa hyväksymistä
|
||||
icon=Ikoni
|
||||
requestor=Pyynnön esittäjä
|
||||
owner=Omistaja
|
||||
resourcesSharedWithMe=Minun kanssani jaetut resurssit
|
||||
permissionRequestion=Lupapyyntö
|
||||
permission=Lupa
|
||||
shares=jaettu
|
||||
notBeingShared=Tätä resurssia ei ole jaettu.
|
||||
notHaveAnyResource=Sinulla ei ole mitään resursseja
|
||||
noResourcesSharedWithYou=Kanssasi ei ole jaettuna resursseja
|
||||
havePermissionRequestsWaitingForApproval=Sinulla on {0} lupapyyntöä odottamassa hyväksyntää.
|
||||
clickHereForDetails=Klikkaa tästä nähdäksesi yksityiskohdat.
|
||||
resourceIsNotBeingShared=Resurssia ei ole jaettu
|
||||
locale_ca=Català
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Español
|
||||
locale_fr=Français
|
||||
locale_hu=Magyar
|
||||
locale_it=Italiano
|
||||
locale_ja=日本語
|
||||
locale_lt=Lietuvių
|
||||
locale_nl=Nederlands
|
||||
locale_no=Norsk
|
||||
locale_pl=Polski
|
||||
locale_pt-BR=Português (Brasil)
|
||||
locale_ru=Русский
|
||||
locale_sk=Slovenčina
|
||||
locale_sv=Svenska
|
||||
locale_tr=Türkçe
|
||||
locale_zh-CN=中文简体
|
||||
locale_fi=Suomi
|
||||
|
||||
# Applications
|
||||
applicationName=Nimi
|
||||
applicationType=Ohjelman tyyppi
|
||||
applicationInUse=Vain sovelluksen sisäinen käyttö
|
||||
clearAllFilter=Poista kaikki suodattimet
|
||||
activeFilters=Aktiiviset suodattimet
|
||||
filterByName=Suodata nimen mukaan ...
|
||||
allApps=Kaikki sovellukset
|
||||
internalApps=Sisäiset sovellukset
|
||||
thirdpartyApps=Kolmannen osapuolen sovellukset
|
||||
appResults=Tulokset
|
||||
clientNotFoundMessage=Asiakasta ei löytynyt.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Valtuutettu palveluntarjoaja
|
||||
authorizedProviderMessage=Tiliisi linkitetyt valtuutetut palveluntarjoajat
|
||||
identityProvider=Henkilöllisyyden tarjoaja
|
||||
identityProviderMessage=Linkittääksesi tilin asettamiesi henkilöllisyyden tarjoajien kanssa
|
||||
socialLogin=Kirjaudu sosiaalisen median tunnuksilla
|
||||
userDefined=Käyttäjän määrittämä
|
||||
removeAccess=Poista käyttöoikeus
|
||||
removeAccessMessage=Sinun täytyy myöntää käyttöoikeus uudelleen, jos haluat käyttää tätä sovellustiliä.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=Kaksivaiheinen tunnistautuminen on tällä hetkellä
|
||||
authenticatorFinishSetUpTitle=Sinun kaksivaiheinen tunnistautuminen
|
||||
authenticatorFinishSetUpMessage=Joka kerta kun kirjaudut Keycloak-tilillesi, sinua pyydetään antamaan kaksivaiheisen tunnistautumisen koodi.
|
||||
authenticatorSubTitle=Aseta kaksivaiheinen tunnistautuminen
|
||||
authenticatorSubMessage=Parantaaksesi tilisi turvallisuutta, ota käyttöön vähintään yksi tarjolla olevista kaksivaiheisen tunnistautumisen tavoista.
|
||||
authenticatorMobileTitle=Mobiili-tunnistautuminen
|
||||
authenticatorMobileMessage=Käytä mobiili-todentajaa saadaksesi vahvistuskoodit kaksivaiheiseen tunnistautumiseen
|
||||
authenticatorMobileFinishSetUpMessage=Tunnistautuminen on sidottu puhelimeesi.
|
||||
authenticatorActionSetup=Aseta
|
||||
authenticatorSMSTitle=SMS-koodi
|
||||
authenticatorSMSMessage=Keycloak lähettää sinulle vahvistuskoodit kaksivaiheista tunnistautumista varten.
|
||||
authenticatorSMSFinishSetUpMessage=Tekstiviestit lähetetään numeroon
|
||||
authenticatorDefaultStatus=Oletus
|
||||
authenticatorChangePhone=Vaihda puhelinnumero
|
||||
authenticatorBackupCodesTitle=Varmuuskoodit
|
||||
authenticatorBackupCodesMessage=Hanki 8-numeroiset varmuuskoodisi
|
||||
authenticatorBackupCodesFinishSetUpMessage=12 varmuuskoodia luotiin tällä kertaa. Jokaisen niistä voi käyttää yhden kerran.
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Mobiili-todentajan asetukset
|
||||
smscodeIntroMessage=Syötä puhelinnumerosi ja vahvistuskoodi lähetetään puhelimeesi.
|
||||
mobileSetupStep1=Asenna todentaja-sovellus puhelimeesi. Listatut sovellukset ovat tuettuna.
|
||||
mobileSetupStep2=Avaa sovellus ja skannaa viivakoodi:
|
||||
mobileSetupStep3=Syötä saamasi kertaluontoinen koodi allaolevaan kenttään ja paina Tallenna viimeistelläksesi asetuksen.
|
||||
scanBarCode=Haluatko skannata viivakoodin?
|
||||
enterBarCode=Syötä kertaluontoinen koodisi
|
||||
doCopy=Kopioi
|
||||
doFinish=Valmis
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=SMS-koodin asetukset
|
||||
chooseYourCountry=Valitse maa
|
||||
enterYourPhoneNumber=Syötä puhelinnumerosi
|
||||
sendVerficationCode=Lähetä vahvistuskoodi
|
||||
enterYourVerficationCode=Syötä vahvistuskoodisi
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Varmuuskoodien asetukset
|
||||
backupcodesIntroMessage=Jos menetät pääsyn puhelimeesi, voit silti kirjautua tilillesi käyttämällä varmuuskoodeja. Pidä ne turvassa ja saatavilla.
|
||||
realmName=Realm
|
||||
doDownload=Lataa
|
||||
doPrint=Tulosta
|
||||
doCopy=Copy
|
||||
backupCodesTips-1=Jokaisen varmuuskoodin voi käyttää yhden kerran.
|
||||
backupCodesTips-2=Nämä koodit on luotu
|
||||
generateNewBackupCodes=Luo uudet varmuuskoodit
|
||||
backupCodesTips-3=Kun luot uudet varmuuskoodit, nykyiset varmuuskoodit lakkaavat toimimasta.
|
||||
backtoAuthenticatorPage=Takaisin Authenticator-sivulle
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Resurssit
|
||||
sharedwithMe=Jaettu kanssani
|
||||
share=Jaa
|
||||
sharedwith=Jaettu heidän kanssa
|
||||
accessPermissions=Käyttöoikeudet
|
||||
permissionRequests=Lupapyynnöt
|
||||
approve=Hyväksy
|
||||
approveAll=Hyväksy kaikki
|
||||
people=ihmiset
|
||||
perPage=per sivu
|
||||
currentPage=Nykyinen sivu
|
||||
sharetheResource=Jaa resurssi
|
||||
group=Ryhmä
|
||||
selectPermission=Valitse lupa
|
||||
addPeople=Lisää henkilöitä, joille haluat jakaa resurssisi
|
||||
addTeam=Lisää tiimi, jolle haluat jakaa resurssisi
|
||||
myPermissions=Oikeuteni
|
||||
waitingforApproval=Odottaa hyväksyntää
|
||||
anyPermission=Mikä tahansa lupa
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Käyttäjän tiedot
|
||||
openshift.scope.user_check-access=Käyttäjän käyttöoikeustiedot
|
||||
openshift.scope.user_full=Täysi käyttöoikeus
|
||||
openshift.scope.list-projects=Listaa projektit
|
||||
|
||||
error-invalid-value=Väärä arvo.
|
||||
error-invalid-blank=Ole hyvä ja määritä arvo.
|
||||
error-empty=Ole hyvä ja määritä arvo.
|
||||
error-invalid-length=Ominaisuudella {0} täytyy olla pituus väliltä {1} ja {2}.
|
||||
error-invalid-length-too-short=Ominaisuudella {0} täytyy olla minimipituus {1}.
|
||||
error-invalid-length-too-long=Ominaisuudella {0} täytyy olla maksimipituus {2}.
|
||||
error-invalid-email=Väärä sähköpostiosoite.
|
||||
error-invalid-number=Väärä numero.
|
||||
error-number-out-of-range=Ominaisuuden {0} täytyy olla numero väliltä {1} ja {2}.
|
||||
error-number-out-of-range-too-small=Ominaisuudella {0} täytyy olla minimiarvona {1}.
|
||||
error-number-out-of-range-too-big=Ominaisuudella {0} täytyy olla maksimiarvona {2}.
|
||||
error-pattern-no-match=Väärä arvo.
|
||||
error-invalid-uri=Väärä URL.
|
||||
error-invalid-uri-scheme=Väärä URL:n malli.
|
||||
error-invalid-uri-fragment=Väärä URL:n osa.
|
||||
error-user-attribute-required=Ole hyvä ja määritä ominaisuus {0}.
|
||||
error-invalid-date=Väärä päivämäärä.
|
||||
error-user-attribute-read-only=Kenttä {0} on "vain luku"-tilassa.
|
||||
error-username-invalid-character=Käyttäjänimi sisältää vääriä merkkejä.
|
||||
error-person-name-invalid-character=Nimi sisältää vääriä merkkejä.
|
||||
180
keycloak-themes/base/account/messages/messages_fr.properties
Normal file
180
keycloak-themes/base/account/messages/messages_fr.properties
Normal file
@@ -0,0 +1,180 @@
|
||||
# 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.
|
||||
|
||||
applicationName=Nom de l''application
|
||||
update=Mettre \u00e0 jour
|
||||
status=Statut
|
||||
authenticatorActionSetup=Configurer
|
||||
device-activity=Activit\u00e9 des Appareils
|
||||
accountSecurityTitle=S\u00e9curit\u00e9 du Compte
|
||||
accountManagementWelcomeMessage=Bienvenue dans la Gestion de Compte Keycloak
|
||||
personalInfoHtmlTitle=Informations Personnelles
|
||||
personalInfoIntroMessage=G\u00e9rez vos informations de base
|
||||
personalSubMessage=G\u00e9rez ces informations de base: votre pr\u00e9nom, nom de famille et email
|
||||
accountSecurityIntroMessage=G\u00e9rez votre mot de passe et l''acc\u00e8s \u00e0 votre compte
|
||||
applicationsIntroMessage=Auditez et g\u00e9rez les permissions d''acc\u00e8s des applications aux donn\u00e9es de votre compte
|
||||
applicationType=Type d''application
|
||||
334
keycloak-themes/base/account/messages/messages_hu.properties
Normal file
334
keycloak-themes/base/account/messages/messages_hu.properties
Normal file
@@ -0,0 +1,334 @@
|
||||
# encoding: utf-8
|
||||
doSave=Mentés
|
||||
doCancel=Mégsem
|
||||
doLogOutAllSessions=Minden munkamenet kiléptetése
|
||||
doRemove=Törlés
|
||||
doAdd=Hozzáadás
|
||||
doSignOut=Kilépés
|
||||
doLogIn=Belépés
|
||||
doLink=Összekötés
|
||||
|
||||
editAccountHtmlTitle=Fiók szerkesztése
|
||||
personalInfoHtmlTitle=Személyes adatok
|
||||
federatedIdentitiesHtmlTitle=Összekapcsolt személyazonosságok
|
||||
accountLogHtmlTitle=Fiók napló
|
||||
changePasswordHtmlTitle=Jelszó csere
|
||||
deviceActivityHtmlTitle=Eszköz történet
|
||||
sessionsHtmlTitle=Munkamenetek
|
||||
accountManagementTitle=Keycloak Fiók Kezelő
|
||||
authenticatorTitle=Hitelesítő
|
||||
applicationsHtmlTitle=Alkalmazások
|
||||
linkedAccountsHtmlTitle=Összekötött fiókok
|
||||
|
||||
accountManagementWelcomeMessage=Üdvözöljük a Keycloak Fiók Kezelőben
|
||||
personalInfoIntroMessage=Kezelje az alap személyes adatait
|
||||
accountSecurityTitle=Fiók biztonság
|
||||
accountSecurityIntroMessage=Szabályozza jelszó és fiók hozzáféréseit
|
||||
applicationsIntroMessage=Kezelje alkalmazás jogosultságait, hogy hozzáférjen a fiókjához
|
||||
resourceIntroMessage=Ossza meg az erőforrásait csapattagjai között
|
||||
passwordLastUpdateMessage=A jelszava ekkor módosult
|
||||
updatePasswordTitle=Módosítsa jelszavát
|
||||
updatePasswordMessageTitle=Kérem válasszon erős jelszót
|
||||
updatePasswordMessage=Egy erős jelszó számok, betűk és speciális karakterek keveréke, nehéz kitalálni, nem hasonlít valódi (szótári) szóra és csak ehhez a fiókhoz tartozik.
|
||||
personalSubTitle=Személyes adatai
|
||||
personalSubMessage=Kezelje alapvető személyes adatait: vezetéknév, keresztnév, email cím
|
||||
|
||||
authenticatorCode=Egyszer használatos kód
|
||||
email=Email cím
|
||||
firstName=Keresztnév
|
||||
givenName=Keresztnév
|
||||
fullName=Teljes név
|
||||
lastName=Vezetéknév
|
||||
familyName=Vezetéknév
|
||||
password=Jelszó
|
||||
currentPassword=Jelenlegi jelszó
|
||||
passwordConfirm=Megerősítés
|
||||
passwordNew=Új jelszó
|
||||
username=Felhasználó név
|
||||
address=Cím
|
||||
street=Közterület
|
||||
locality=Település
|
||||
region=Állam, Tartomány, Megye, Régió
|
||||
postal_code=Irányítószám
|
||||
country=Ország
|
||||
emailVerified=Ellenőrzött email cím
|
||||
gssDelegationCredential=GSS Delegation Credential
|
||||
|
||||
profileScopeConsentText=Felhasználói fiók
|
||||
emailScopeConsentText=Email cím
|
||||
addressScopeConsentText=Cím
|
||||
phoneScopeConsentText=Telefonszám
|
||||
offlineAccessScopeConsentText=Offline hozzáférés
|
||||
samlRoleListScopeConsentText=Szerepköreim
|
||||
rolesScopeConsentText=Felhasználói szerepkörök
|
||||
|
||||
role_admin=Adminisztrátor
|
||||
role_realm-admin=Tartomány Adminisztrátor
|
||||
role_create-realm=Tartomány létrehozása
|
||||
role_view-realm=Tartományok megtekintése
|
||||
role_view-users=Felhasználók megtekintése
|
||||
role_view-applications=Alkalmazások megtekintése
|
||||
role_view-clients=Kliensek megtekintése
|
||||
role_view-events=Események megtekintése
|
||||
role_view-identity-providers=Személyazonosság-kezelők megtekintése
|
||||
role_view-consent=Jóváhagyó nyilatkozatok megtekintése
|
||||
role_manage-realm=Tartományok kezelése
|
||||
role_manage-users=Felhasználók kezelése
|
||||
role_manage-applications=Alkalmazások kezelése
|
||||
role_manage-identity-providers=Személyazonosság-kezelők karbantartása
|
||||
role_manage-clients=Kliensek kezelése
|
||||
role_manage-events=Események kezelése
|
||||
role_view-profile=Fiók megtekintése
|
||||
role_manage-account=Fiók kezelése
|
||||
role_manage-account-links=Fiók összekötések kezelése
|
||||
role_manage-consent=Jóváhagyó nyilatkozatok kezelése
|
||||
role_read-token=Olvasási token
|
||||
role_offline-access=Offline hozzáférés
|
||||
role_uma_authorization=Hozzáférés jogosultságokhoz (UMA)
|
||||
client_account=Fiók
|
||||
client_account-console=Fiók kezelés
|
||||
client_security-admin-console=Biztonsági, adminisztrátor fiók kezelés
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Tartomány kezelés
|
||||
client_broker=Ügynök
|
||||
|
||||
|
||||
requiredFields=Kötelezően kitöltendő mezők
|
||||
allFieldsRequired=Minden mező kitöltése kötelező
|
||||
|
||||
backToApplication=« Vissza az alkalmazásba
|
||||
backTo=Vissza a {0}-ba/be
|
||||
|
||||
date=Dátum
|
||||
event=Esemény
|
||||
ip=IP cím
|
||||
client=Kliens
|
||||
clients=Kliensek
|
||||
details=Részletek
|
||||
started=Kezdete
|
||||
lastAccess=Utolsó hozzáférés
|
||||
expires=Lejárat
|
||||
applications=Alkalmazások
|
||||
|
||||
account=Fiók
|
||||
federatedIdentity=Összekapcsolt személyazonosság
|
||||
authenticator=Hitelesítő
|
||||
device-activity=Eszköz történet
|
||||
sessions=Munkamentek
|
||||
log=Napló
|
||||
|
||||
application=Alkalmazás
|
||||
availableRoles=Elérhető szerepkörök
|
||||
grantedPermissions=Engedélyezett jogosultságok
|
||||
grantedPersonalInfo=Engedélyezett személyes adatok
|
||||
additionalGrants=További engedélyek
|
||||
action=Művelet
|
||||
inResource=itt:
|
||||
fullAccess=Teljes hozzáférés
|
||||
offlineToken=Offline Token
|
||||
revoke=Engedély visszavonása
|
||||
|
||||
configureAuthenticators=Beállított Hitelesítők
|
||||
mobile=Mobil eszköz
|
||||
totpStep1=Kérem telepítse az itt felsorolt alkalmazások egyikét a mobil eszközére:
|
||||
totpStep2=Indítsa el az alkalmazást a mobil eszközén és olvassa be ezt a (QR) kódot:
|
||||
totpStep3=Adja meg az alkalmazás által generált egyszer használatos kódot majd kattintson a Mentés gombra a beállítás befejezéséhez.
|
||||
totpStep3DeviceName=Adja meg a mobil eszköz nevét. Ez a későbbiekben segíthet az eszköz azonosításában.
|
||||
|
||||
totpManualStep2=Indítsa el az alkalmazás és adja meg a következő kulcsot:
|
||||
totpManualStep3=Használja a következő beállításokat, ha az alkalmazása támogatja ezeket:
|
||||
totpUnableToScan=Nem tud (QR) kódot beolvasni?
|
||||
totpScanBarcode=Inkább (QR) kódot olvasna be?
|
||||
|
||||
totp.totp=Idő alapú
|
||||
totp.hotp=Számláló alapú
|
||||
|
||||
totpType=Típus
|
||||
totpAlgorithm=Algoritmus
|
||||
totpDigits=Számjegyek
|
||||
totpInterval=Intervallum
|
||||
totpCounter=Számláló
|
||||
totpDeviceName=Eszköz neve
|
||||
|
||||
missingUsernameMessage=Kérem adja meg a felhasználó nevét.
|
||||
missingFirstNameMessage=Kérem adja meg a keresztnevet.
|
||||
invalidEmailMessage=Érvénytelen email cím.
|
||||
missingLastNameMessage=Kérem adja meg a vezetéknevet.
|
||||
missingEmailMessage=Kérem adja meg az email címet.
|
||||
missingPasswordMessage=Kérem adja meg a jelszót.
|
||||
notMatchPasswordMessage=A jelszavak nem egyeznek meg.
|
||||
invalidUserMessage=Érvénytelen felhasználó
|
||||
|
||||
missingTotpMessage=Kérem adja meg a hitelesítő kódot.
|
||||
missingTotpDeviceNameMessage=Kérem adja meg az eszköz nevét.
|
||||
invalidPasswordExistingMessage=Érvénytelen jelenlegi jelszó.
|
||||
invalidPasswordConfirmMessage=A jelszavak nem egyeznek meg.
|
||||
invalidTotpMessage=Érvénytelen hitelesítő kód.
|
||||
|
||||
usernameExistsMessage=Ez a felhasználó név már foglalt.
|
||||
emailExistsMessage=Ez az email cím már foglalt.
|
||||
|
||||
readOnlyUserMessage=A felhasználói fiókja csak olvasható, módosítás nem lehetséges.
|
||||
readOnlyUsernameMessage=A felhasználó név nem módosítható.
|
||||
readOnlyPasswordMessage=A felhasználói fiókja csak olvasható, így jelszó módosítás nem lehetséges.
|
||||
|
||||
successTotpMessage=A mobil hitelesítőt beállítottuk.
|
||||
successTotpRemovedMessage=A mobil hitelesítőt eltávolítottuk.
|
||||
|
||||
successGrantRevokedMessage=Az engedélyt visszavontuk.
|
||||
|
||||
accountUpdatedMessage=Felhasználói fiókját módosítottuk.
|
||||
accountPasswordUpdatedMessage=Jelszavát módosítottuk.
|
||||
|
||||
missingIdentityProviderMessage=Nincs megadva személyazonosság-kezelő.
|
||||
invalidFederatedIdentityActionMessage=Érvénytelen, vagy nem létező művelet.
|
||||
identityProviderNotFoundMessage=A megadott személyazonosság-kezelő nem található.
|
||||
federatedIdentityLinkNotActiveMessage=Ez a személyazonosság összekötés már nem érvényes.
|
||||
federatedIdentityRemovingLastProviderMessage=Az utolsó összekapcsolt személyazonosság nem törölhető, mert Ön nem rendelkezik érvényes jelszóval.
|
||||
identityProviderRedirectErrorMessage=Nem sikerült az átirányítás a személyazonosság-kezelőre.
|
||||
identityProviderRemovedMessage=A személyazonosság-kezelő összekötést töröltük.
|
||||
identityProviderAlreadyLinkedMessage=Az összekapcsolt személyazonosság-kezelő által bizotsított személyazonosság már össze van kötve egy másik felhasználói fiókkal.
|
||||
staleCodeAccountMessage=Az oldal érvényességi ideje lejárt. Kérem próbálja meg újra a kérést.
|
||||
consentDenied=Jóváhagyó nyilatkozat elutasítva.
|
||||
|
||||
accountDisabledMessage=Felhasználói fiókja inaktív, kérem vegye fel a kapcsolatot az alkalmazás adminisztrátorral.
|
||||
|
||||
accountTemporarilyDisabledMessage=Felhasználói fiókja átmenetileg inaktív, kérem vegye fel a kapcsolatot az alkalmazás adminisztrátorral, vagy próbálkozzon később.
|
||||
invalidPasswordMinLengthMessage=Érvénytelen jelszó: minimum hossz {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Érvénytelen jelszó: legalább {0} darab kisbetűt kell tartalmaznia.
|
||||
invalidPasswordMinDigitsMessage=Érvénytelen jelszó: legalább {0} darab számjegyet kell tartalmaznia.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Érvénytelen jelszó: legalább {0} darab nagybetűt kell tartalmaznia.
|
||||
invalidPasswordMinSpecialCharsMessage=Érvénytelen jelszó: legalább {0} darab speciális karaktert (pl. #!$@ stb.) kell tartalmaznia.
|
||||
invalidPasswordNotUsernameMessage=Érvénytelen jelszó: nem lehet azonos a felhasználó névvel.
|
||||
invalidPasswordRegexPatternMessage=Érvénytelen jelszó: a jelszó nem illeszkedik a megadott reguláris kifejezés mintára.
|
||||
invalidPasswordHistoryMessage=Érvénytelen jelszó: nem lehet azonos az utolsó {0} darab, korábban alkalmazott jelszóval.
|
||||
invalidPasswordBlacklistedMessage=Érvénytelen jelszó: a jelszó tiltó listán szerepel.
|
||||
invalidPasswordGenericMessage=Érvénytelen jelszó: az új jelszó nem felel meg a jelszó házirendnek.
|
||||
|
||||
# Authorization
|
||||
myResources=Erőforrásaim
|
||||
myResourcesSub=Erőforrásaim
|
||||
doDeny=Tiltás
|
||||
doRevoke=Visszavonás
|
||||
doApprove=Jóváhagyás
|
||||
doRemoveSharing=Megosztás törlése
|
||||
doRemoveRequest=Kérelem törlése
|
||||
peopleAccessResource=Az erőforráshoz hozzáférő felhasználók
|
||||
resourceManagedPolicies=Az erőforrás hozzáféréshez szükséges jogosultságok
|
||||
resourceNoPermissionsGrantingAccess=Az erőforrás hozzáféréshez nem szükségesek jogosultságok
|
||||
anyAction=Bármelyik művelet
|
||||
description=Leírás
|
||||
name=Név
|
||||
scopes=Hatókör
|
||||
resource=Erőforrás
|
||||
user=Felhasználó
|
||||
peopleSharingThisResource=Az erőforrást megosztó felhasználók
|
||||
shareWithOthers=Megosztás más felhasználókkal
|
||||
needMyApproval=A jóváhagyásom szükséges
|
||||
requestsWaitingApproval=A kérése jóváhagyásra vár
|
||||
icon=Ikon
|
||||
requestor=Kérelmező
|
||||
owner=Tulajdonos
|
||||
resourcesSharedWithMe=Velem megosztott erőforrások
|
||||
permissionRequestion=Jogosultság kérelem
|
||||
permission=Jogosultság
|
||||
shares=megosztás(ok)
|
||||
notBeingShared=Az erőforrás nincs megosztva
|
||||
notHaveAnyResource=Nincsen erőforrása
|
||||
noResourcesSharedWithYou=Nincsenek Önnel megosztott erőforrásai
|
||||
havePermissionRequestsWaitingForApproval=Önnek {0} darab várakozó, jóváhagyandó jogosultság kérése van.
|
||||
clickHereForDetails=Kattintson ide a részletekért.
|
||||
resourceIsNotBeingShared=Az erőforrás nincs megosztva
|
||||
|
||||
# Applications
|
||||
applicationName=Név
|
||||
applicationType=Alkalmazás típus
|
||||
#applicationInUse=In-use app only
|
||||
clearAllFilter=Szűrő mezők törlése
|
||||
activeFilters=Aktív szűrők
|
||||
filterByName=Név alapú keresés
|
||||
allApps=Minden alkalmazás
|
||||
internalApps=Belső alkalmazások
|
||||
thirdpartyApps=Harmadik féltől származó alkalmazások
|
||||
appResults=Eredmény
|
||||
clientNotFoundMessage=A kliens nem található.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Meghatalmazott szolgáltató
|
||||
authorizedProviderMessage=A felhasználói fiókjához kötött meghatalmazott szolgáltatók
|
||||
identityProvider=Személyazonosság-kezelő
|
||||
identityProviderMessage=Fiókja személyazonosság-kezelőkhöz kötéséhez eddig ezeket a beállításokat adta meg
|
||||
#socialLogin=Social Login
|
||||
userDefined=Felhasználó által meghatározott
|
||||
removeAccess=Hozzáférés törlése
|
||||
removeAccessMessage=Újra engedélyeznie kell a hozzáférést az alkalmazás ismételt használatához.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=A kétszintű hitelesítés jelenleg
|
||||
authenticatorFinishSetUpTitle=Kétszintű hitelesítés
|
||||
authenticatorFinishSetUpMessage=Minden Keycloak fiók bejelentkezéskor kérni fogunk Öntől egy második szintű hitelesítő kódot.
|
||||
authenticatorSubTitle=Állítsa be a második szintű hitelesítést
|
||||
authenticatorSubMessage=Felhasználói fiókjának biztonsági szintjét növelheti, ha legalább egy második szintű hitelesítést is bekapcsol az elérhető eljárások közül.
|
||||
authenticatorMobileTitle=Mobil eszköz alapú hitelesítés
|
||||
authenticatorMobileMessage=Mobil eszközön generált ellenőrző kód, mint második szintű hitelesítés.
|
||||
authenticatorMobileFinishSetUpMessage=A hitelesítés a mobil eszközéhez kötődik.
|
||||
authenticatorActionSetup=Beállítás
|
||||
authenticatorSMSTitle=SMS kód
|
||||
authenticatorSMSMessage=A Keycloak SMS ellenőrző kódot küld a telefonjára (második szintű hitelesítő kód).
|
||||
authenticatorSMSFinishSetUpMessage=A következő telefonszámokra SMS-t küldünk
|
||||
authenticatorDefaultStatus=Alapértelmezett
|
||||
authenticatorChangePhone=Módosítsa telefonszámát
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Mobil hitelesítő eszköz beállítása
|
||||
smscodeIntroMessage=Adja meg a telefonszámát, melyre egy ellenőrző kódot küldünk.
|
||||
mobileSetupStep1=Telepítsen egy hitelesítő alkalmazást mobil eszközére az itt felsorolt, támogatott, alkalmazások közül.
|
||||
mobileSetupStep2=Indítsa el az alkalmazást és olvassa be a következő (QR) kódot:
|
||||
mobileSetupStep3=Adja meg a mobil alkalmazás által generált egyszer használatos kódot, majd kattintson a Mentés gombra a beállításhoz.
|
||||
scanBarCode=Inkább (QR) kódot olvasna be?
|
||||
enterBarCode=Adja meg az egyszer használatos kódot
|
||||
doCopy=Másolás
|
||||
doFinish=Befejezés
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=SMS kód beállítása
|
||||
chooseYourCountry=Válassza ki az országot
|
||||
enterYourPhoneNumber=Adja meg a telefonszámát
|
||||
sendVerficationCode=Ellenőrző kód küldése
|
||||
enterYourVerficationCode=Adja meg az ellenőrző kódot
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Tartalék kódok beállítása
|
||||
realmName=Tartomány
|
||||
doDownload=Letöltés
|
||||
doPrint=Nyomtatás
|
||||
generateNewBackupCodes=Új tartalék kódok generálása
|
||||
backtoAuthenticatorPage=Vissza a hitelesítő lapra
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Erőforrások
|
||||
sharedwithMe=Velem megosztott erőforrások
|
||||
share=Megosztás
|
||||
sharedwith=Megosztva
|
||||
accessPermissions=Hozzáférési jogosultságok
|
||||
permissionRequests=Jogosultság kérések
|
||||
approve=Jóváhagyás
|
||||
approveAll=Mindet jóváhagyja
|
||||
people=felhasználó
|
||||
perPage=oldalanként
|
||||
currentPage=Aktuális oldal
|
||||
sharetheResource=Erőforrás megosztása
|
||||
group=Csoport
|
||||
selectPermission=Jogosultság választás
|
||||
addPeople=Adjon hozzá felhasználókat az erőforrás megosztáshoz
|
||||
addTeam=Adjon meg csoportot az erőforrás megosztáshoz
|
||||
myPermissions=Jogosultságaim
|
||||
waitingforApproval=Jóváhagyásra vár
|
||||
anyPermission=Bármilyen jogosultság
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Felhasználó adatok
|
||||
openshift.scope.user_check-access=Felhasználó hozzáférés adatok
|
||||
openshift.scope.user_full=Teljes hozzáférés
|
||||
openshift.scope.list-projects=Projektek listája
|
||||
336
keycloak-themes/base/account/messages/messages_it.properties
Normal file
336
keycloak-themes/base/account/messages/messages_it.properties
Normal file
@@ -0,0 +1,336 @@
|
||||
doSave=Salva
|
||||
doCancel=Annulla
|
||||
doLogOutAllSessions=Effettua il logout da tutte le sessioni
|
||||
doRemove=Elimina
|
||||
doAdd=Aggiungi
|
||||
doSignOut=Esci
|
||||
doLogIn=Log In
|
||||
doLink=Link
|
||||
|
||||
|
||||
editAccountHtmlTitle=Modifica Account
|
||||
personalInfoHtmlTitle=Informazioni personali
|
||||
federatedIdentitiesHtmlTitle=Identit\u00e0 federate
|
||||
accountLogHtmlTitle=Log dell''account
|
||||
changePasswordHtmlTitle=Cambia password
|
||||
deviceActivityHtmlTitle=Attivit\u00e0 dei dispositivi
|
||||
sessionsHtmlTitle=Sessioni
|
||||
accountManagementTitle=Gestione degli account di Keycloak
|
||||
authenticatorTitle=Autenticatore
|
||||
applicationsHtmlTitle=Applicazioni
|
||||
linkedAccountsHtmlTitle=Account collegati
|
||||
|
||||
accountManagementWelcomeMessage=Benvenuto nella gestione degli account di Keycloak
|
||||
personalInfoIntroMessage=Gestisci le tue informazioni di base
|
||||
accountSecurityTitle=Sicurezza dell''account
|
||||
accountSecurityIntroMessage=Controlla la tua password e gli accessi dell''account
|
||||
applicationsIntroMessage=Traccia e gestisci i permessi delle applicazioni nell''accesso al tuo account
|
||||
resourceIntroMessage=Condividi le tue risorse tra i membri del team
|
||||
passwordLastUpdateMessage=La tua password \u00e8 stata aggiornata il
|
||||
updatePasswordTitle=Aggiornamento password
|
||||
updatePasswordMessageTitle=Assicurati di scegliere una password robusta
|
||||
updatePasswordMessage=Una password robusta contiene un misto di numeri, lettere, e simboli. \u00c8 difficile da indovinare, non assomiglia a una parola reale, ed \u00e8 utilizzata solo per questo account.
|
||||
personalSubTitle=Le tue informazioni personali
|
||||
personalSubMessage=Gestisce queste informazioni di base: il tuo nome, cognome, e indirizzo email
|
||||
|
||||
authenticatorCode=Codice monouso
|
||||
|
||||
email=Email
|
||||
firstName=Nome
|
||||
givenName=Nome
|
||||
fullName=Nome completo
|
||||
lastName=Cognome
|
||||
familyName=Cognome
|
||||
password=Password
|
||||
currentPassword=Password attuale
|
||||
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 delega GSS
|
||||
|
||||
profileScopeConsentText=Profilo utente
|
||||
emailScopeConsentText=Indirizzo email
|
||||
addressScopeConsentText=Indirizzo
|
||||
phoneScopeConsentText=Numero di telefono
|
||||
offlineAccessScopeConsentText=Accesso offline
|
||||
samlRoleListScopeConsentText=I miei ruoli
|
||||
rolesScopeConsentText=Ruoli utente
|
||||
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_view-consent=Visualizza consensi
|
||||
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 client
|
||||
role_manage-events=Gestisci eventi
|
||||
role_view-profile=Visualizza profilo
|
||||
role_manage-account=Gestisci account
|
||||
role_manage-account-links=Gestisci i link dell''account
|
||||
role_manage-consent=Gestisci consensi
|
||||
role_read-token=Leggi token
|
||||
role_offline-access=Accesso offline
|
||||
role_uma_authorization=Ottieni permessi
|
||||
client_account=Account
|
||||
client_account-console=Console account
|
||||
client_security-admin-console=Console di amministrazione di sicurezza
|
||||
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=Client
|
||||
details=Dettagli
|
||||
started=Iniziato
|
||||
lastAccess=Ultimo accesso
|
||||
expires=Scade
|
||||
applications=Applicazioni
|
||||
|
||||
account=Account
|
||||
federatedIdentity=Identit\u00e0 federate
|
||||
authenticator=Autenticatore
|
||||
device-activity=Attivit\u00e0 dei dispositivi
|
||||
sessions=Sessioni
|
||||
log=Log
|
||||
|
||||
application=Applicazione
|
||||
availablePermissions=Autorizzazioni disponibili
|
||||
grantedPermissions=Autorizzazioni concesse
|
||||
grantedPersonalInfo=Informazioni personali concesse
|
||||
additionalGrants=Ulteriori concessioni
|
||||
action=Azione
|
||||
inResource=in
|
||||
fullAccess=Accesso completo
|
||||
offlineToken=Token offline
|
||||
revoke=Revoca concessione
|
||||
|
||||
configureAuthenticators=Autenticatori configurati
|
||||
mobile=Dispositivo mobile
|
||||
totpStep1=Installa una delle seguenti applicazioni sul tuo dispositivo mobile
|
||||
totpStep2=Apri l''applicazione e scansiona il codice QR
|
||||
totpStep3=Scrivi il codice monouso fornito dall''applicazione e clicca Salva per completare il setup.
|
||||
totpStep3DeviceName=Fornisci il nome del dispositivo per aiutarti a gestire i dispositivi di autenticazione.
|
||||
|
||||
totpManualStep2=Apri l''applicazione e scrivi la chiave
|
||||
totpManualStep3=Usa le seguenti impostazioni se l''applicazione lo consente
|
||||
totpUnableToScan=Non riesci a scansionare il codice QR?
|
||||
totpScanBarcode=Vuoi scansionare il codice QR?
|
||||
|
||||
totp.totp=Basato sull''ora
|
||||
totp.hotp=Basato sul contatore
|
||||
|
||||
totpType=Tipo
|
||||
totpAlgorithm=Algoritmo
|
||||
totpDigits=Cifre
|
||||
totpInterval=Intervallo
|
||||
totpCounter=Contatore
|
||||
totpDeviceName=Nome dispositivo
|
||||
|
||||
missingUsernameMessage=Inserisci lo 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 coincidono.
|
||||
invalidUserMessage=Utente non valido
|
||||
|
||||
missingTotpMessage=Inserisci il codice di autenticazione.
|
||||
missingTotpDeviceNameMessage=Inserisci il nome del dispositivo 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 poich\u00E9 \u00e8 in modalit\u00e0 sola lettura.
|
||||
readOnlyUsernameMessage=Non puoi aggiornare il tuo nome utente poich\u00E9 \u00e8 in modalit\u00e0 sola lettura.
|
||||
readOnlyPasswordMessage=Non puoi aggiornare il tuo account poich\u00E9 \u00e8 in modalit\u00e0 sola lettura.
|
||||
|
||||
successTotpMessage=Autenticatore mobile configurato.
|
||||
successTotpRemovedMessage=Autenticatore mobile eliminato.
|
||||
|
||||
successGrantRevokedMessage=Concessione revocata con successo.
|
||||
|
||||
accountUpdatedMessage=Il tuo account \u00e8 stato aggiornato.
|
||||
accountPasswordUpdatedMessage=La tua password \u00e8 stata aggiornata.
|
||||
|
||||
missingIdentityProviderMessage=Identity provider non specificato.
|
||||
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''ultima identit\u00e0 federata poich\u00E9 non hai pi\u00f9 la password.
|
||||
identityProviderRedirectErrorMessage=Il reindirizzamento all''identity provider \u00e8 fallito.
|
||||
identityProviderRemovedMessage=Identity provider eliminato correttamente.
|
||||
identityProviderAlreadyLinkedMessage=L''identit\u00e0 federata restituita da {0} \u00e8 gi\u00e0 collegata ad un altro utente.
|
||||
staleCodeAccountMessage=La pagina \u00e8 scaduta. Prova di nuovo.
|
||||
consentDenied=Consenso 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 allo username.
|
||||
invalidPasswordRegexPatternMessage=Password non valida: fallito il match con una o pi\u00f9 espressioni regolari.
|
||||
invalidPasswordHistoryMessage=Password non valida: non deve essere uguale a una delle ultime {0} password.
|
||||
invalidPasswordBlacklistedMessage=Password non valida: la password non \u00e8 consentita.
|
||||
invalidPasswordGenericMessage=Password non valida: la nuova password non rispetta le indicazioni previste.
|
||||
|
||||
# Authorization
|
||||
myResources=Le mie risorse
|
||||
myResourcesSub=Le mie risorse
|
||||
doDeny=Nega
|
||||
doRevoke=Revoca
|
||||
doApprove=Approva
|
||||
doRemoveSharing=Rimuovi condivisione
|
||||
doRemoveRequest=Rimuovi richiesta
|
||||
peopleAccessResource=Persone che hanno accesso a questa risorsa
|
||||
resourceManagedPolicies=Permessi che danno accesso a questa risorsa
|
||||
resourceNoPermissionsGrantingAccess=Nessun permesso d\u00E0 accesso a questa risorsa
|
||||
anyAction=Qualsiasi azione
|
||||
description=Descrizione
|
||||
name=Nome
|
||||
scopes=Ambito
|
||||
resource=Risorsa
|
||||
user=Utente
|
||||
peopleSharingThisResource=Persone che condividono questa risorsa
|
||||
shareWithOthers=Condividi con altri
|
||||
needMyApproval=Richiede la mia approvazione
|
||||
requestsWaitingApproval=La tua richiesta è in attesa di approvazione
|
||||
icon=Icona
|
||||
requestor=Richiedente
|
||||
owner=Proprietario
|
||||
resourcesSharedWithMe=Risorse condivise con me
|
||||
permissionRequestion=Richiesta di permesso
|
||||
permission=Permesso
|
||||
shares=condivisioni
|
||||
notBeingShared=Questa risorsa non \u00e8 in condivisione.
|
||||
notHaveAnyResource=Non hai nessuna risorsa
|
||||
noResourcesSharedWithYou=Non ci sono risorse condivise con te
|
||||
havePermissionRequestsWaitingForApproval=Hai {0} richiesta(e) di permesso in attesa di approvazione.
|
||||
clickHereForDetails=Clicca qui per i dettagli.
|
||||
resourceIsNotBeingShared=La risorsa non \u00e8 in condivisione
|
||||
|
||||
locale_it=Italiano
|
||||
|
||||
# Applications
|
||||
applicationName=Nome
|
||||
applicationType=Tipo applicazione
|
||||
applicationInUse=In-use app only
|
||||
clearAllFilter=Azzera tutti i filtri
|
||||
activeFilters=Filtri attivi
|
||||
filterByName=Filtra per nome ...
|
||||
allApps=Tutte le applicazioni
|
||||
internalApps=Applicazioni interne
|
||||
thirdpartyApps=Applicazioni di terze parti
|
||||
appResults=Risultati
|
||||
clientNotFoundMessage=Client non trovato.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Provider autorizzato
|
||||
authorizedProviderMessage=Provider autorizzati collegati al tuo account
|
||||
identityProvider=Identity provider
|
||||
identityProviderMessage=Collegare il tuo account con gli identity provider che hai configurato
|
||||
socialLogin=Social Login
|
||||
userDefined=Definito dall''utente
|
||||
removeAccess=Rimuovi accesso
|
||||
removeAccessMessage=Devi concedere di nuovo l''accesso, se vuoi utilizzare l''account di questa applicazione.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=L''autenticazione a due fattori \u00e8 attualmente
|
||||
authenticatorFinishSetUpTitle=La tua autenticazione a due fattori
|
||||
authenticatorFinishSetUpMessage=Ogni volta che effettui l''accesso al tuo account Keycloak, ti verr\u00E0 richiesto di fornire il tuo codice di autenticazione a due fattori.
|
||||
authenticatorSubTitle=Imposta l''autenticazione a due fattori
|
||||
authenticatorSubMessage=Per incrementare la sicurezza del tuo account, attiva almeno uno dei metodi disponibili per l''autenticazione a due fattori.
|
||||
authenticatorMobileTitle=Autenticatore mobile
|
||||
authenticatorMobileMessage=Utilizza l''autenticatore mobile per ottenere i codici di verifica per l''autenticazione a due fattori.
|
||||
authenticatorMobileFinishSetUpMessage=L''autenticatore \u00e8 stato collegato al tuo telefono.
|
||||
authenticatorActionSetup=Set up
|
||||
authenticatorSMSTitle=Codice SMS
|
||||
authenticatorSMSMessage=Keycloak invier\u00E0 il codice di verifica al tuo telefono per l''autenticazione a due fattori.
|
||||
authenticatorSMSFinishSetUpMessage=I messaggi di testo vengono inviati a
|
||||
authenticatorDefaultStatus=Default
|
||||
authenticatorChangePhone=Cambia numero di telefono
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Setup autenticatore mobile
|
||||
smscodeIntroMessage=Inserisci il tuo numero di telefono e ti verr\u00E0 inviato un codice di verifica.
|
||||
mobileSetupStep1=Installa un''applicazione di autenticazione sul tuo telefono. Sono supportate le applicazioni qui elencate.
|
||||
mobileSetupStep2=Apri l''applicazione e scansiona il codice QR:
|
||||
mobileSetupStep3=Inserisci il codice monouso fornito dall''applicazione e clicca Salva per completare il setup.
|
||||
scanBarCode=Vuoi scansionare il codice QR?
|
||||
enterBarCode=Inserisci il codice monouso
|
||||
doCopy=Copia
|
||||
doFinish=Termina
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=Setup codice SMS
|
||||
chooseYourCountry=Scegli la tua nazione
|
||||
enterYourPhoneNumber=Inserisci il tuo numero di telefono
|
||||
sendVerficationCode=Invia il codice di verifica
|
||||
enterYourVerficationCode=Inserisci il codice di verifica
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Setup backup codici
|
||||
realmName=Realm
|
||||
doDownload=Download
|
||||
doPrint=Stampa
|
||||
generateNewBackupCodes=Genera dei nuovi codici di backup
|
||||
backtoAuthenticatorPage=Torna alla pagina dell''autenticatore
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Risorse
|
||||
sharedwithMe=Condiviso con me
|
||||
share=Condiviso
|
||||
sharedwith=Condiviso con
|
||||
accessPermissions=Permessi di accesso
|
||||
permissionRequests=Richieste di permesso
|
||||
approve=Approva
|
||||
approveAll=Approva tutti
|
||||
people=persone
|
||||
perPage=per pagina
|
||||
currentPage=Pagina corrente
|
||||
sharetheResource=Condividi la risorsa
|
||||
group=Gruppo
|
||||
selectPermission=Seleziona permessi
|
||||
addPeople=Aggiungi persone con le quali condividere la tua risorsa
|
||||
addTeam=Aggiungi gruppi con i quali condividere la tua risorsa
|
||||
myPermissions=Miei permessi
|
||||
waitingforApproval=Attesa dell''approvazione
|
||||
anyPermission=Qualsiasi permesso
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Informazioni utente
|
||||
openshift.scope.user_check-access=Informazioni per l''accesso dell''utente
|
||||
openshift.scope.user_full=Accesso completo
|
||||
openshift.scope.list-projects=Elenca progetti
|
||||
335
keycloak-themes/base/account/messages/messages_ja.properties
Normal file
335
keycloak-themes/base/account/messages/messages_ja.properties
Normal file
@@ -0,0 +1,335 @@
|
||||
# encoding: utf-8
|
||||
doSave=保存
|
||||
doCancel=キャンセル
|
||||
doLogOutAllSessions=全セッションからログアウト
|
||||
doRemove=削除
|
||||
doAdd=追加
|
||||
doSignOut=サインアウト
|
||||
doLogIn=ログイン
|
||||
doLink=リンク
|
||||
|
||||
|
||||
editAccountHtmlTitle=アカウントの編集
|
||||
personalInfoHtmlTitle=個人情報
|
||||
federatedIdentitiesHtmlTitle=連携済みアイデンティティー
|
||||
accountLogHtmlTitle=アカウントログ
|
||||
changePasswordHtmlTitle=パスワード変更
|
||||
deviceActivityHtmlTitle=デバイス・アクティビティー
|
||||
sessionsHtmlTitle=セッション
|
||||
accountManagementTitle=Keycloakアカウント管理
|
||||
authenticatorTitle=オーセンティケーター
|
||||
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_view-consent=同意の参照
|
||||
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_manage-consent=同意の管理
|
||||
role_read-token=トークンの参照
|
||||
role_offline-access=オフライン・アクセス
|
||||
role_uma_authorization=パーミッションの取得
|
||||
client_account=アカウント
|
||||
client_account-console=アカウント・コンソール
|
||||
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=連携済みアイデンティティー
|
||||
authenticator=オーセンティケーター
|
||||
device-activity=デバイス・アクティビティー
|
||||
sessions=セッション
|
||||
log=ログ
|
||||
|
||||
application=アプリケーション
|
||||
availableRoles=利用可能なロール
|
||||
grantedPermissions=許可されたパーミッション
|
||||
grantedPersonalInfo=許可された個人情報
|
||||
additionalGrants=追加の許可
|
||||
action=アクション
|
||||
inResource=in
|
||||
fullAccess=フルアクセス
|
||||
offlineToken=オフライン・トークン
|
||||
revoke=許可の取り消し
|
||||
|
||||
configureAuthenticators=設定済みのオーセンティケーター
|
||||
mobile=モバイル
|
||||
totpStep1=モバイルに以下のアプリケーションのいずれかをインストールしてください。
|
||||
totpStep2=アプリケーションを開き、バーコードをスキャンしてください。
|
||||
totpStep3=アプリケーションで提供されたワンタイムコードを入力して保存をクリックし、セットアップを完了してください。
|
||||
totpStep3DeviceName=OTPデバイスの管理に役立つようなデバイス名を指定してください。
|
||||
|
||||
totpManualStep2=アプリケーションを開き、キーを入力してください。
|
||||
totpManualStep3=アプリケーションが設定できる場合は、次の設定値を使用してください。
|
||||
totpUnableToScan=スキャンできませんか?
|
||||
totpScanBarcode=バーコードをスキャンしますか?
|
||||
|
||||
totp.totp=時間ベース
|
||||
totp.hotp=カウンターベース
|
||||
|
||||
totpType=タイプ
|
||||
totpAlgorithm=アルゴリズム
|
||||
totpDigits=数字
|
||||
totpInterval=間隔
|
||||
totpCounter=カウンター
|
||||
totpDeviceName=デバイス名
|
||||
|
||||
missingUsernameMessage=ユーザー名を入力してください。
|
||||
missingFirstNameMessage=名を入力してください。
|
||||
invalidEmailMessage=無効なメールアドレスです。
|
||||
missingLastNameMessage=姓を入力してください。
|
||||
missingEmailMessage=Eメールを入力してください。
|
||||
missingPasswordMessage=パスワードを入力してください。
|
||||
notMatchPasswordMessage=パスワードが一致していません。
|
||||
invalidUserMessage=無効なユーザーです。
|
||||
|
||||
missingTotpMessage=オーセンティケーター・コードを入力してください。
|
||||
missingTotpDeviceNameMessage=デバイス名を指定してください。
|
||||
invalidPasswordExistingMessage=既存のパスワードが不正です。
|
||||
invalidPasswordConfirmMessage=新しいパスワード(確認)と一致していません。
|
||||
invalidTotpMessage=無効なオーセンティケーター・コードです。
|
||||
|
||||
usernameExistsMessage=既に存在するユーザー名です。
|
||||
emailExistsMessage=既に存在するEメールです。
|
||||
|
||||
readOnlyUserMessage=読み取り専用のため、アカウントを更新することはできません。
|
||||
readOnlyUsernameMessage=読み取り専用のため、ユーザー名を更新することはできません。
|
||||
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}パスワードのいずれかと同じパスワードは禁止されています。
|
||||
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=リソースは共有されていません。
|
||||
|
||||
# Applications
|
||||
applicationName=名前
|
||||
applicationType=アプリケーション・タイプ
|
||||
applicationInUse=使用中のアプリケーションのみ
|
||||
clearAllFilter=すべてのフィルターをクリア
|
||||
activeFilters=アクティブなフィルター
|
||||
filterByName=名前でフィルタリング...
|
||||
allApps=すべてのアプリケーション
|
||||
internalApps=内部アプリケーション
|
||||
thirdpartyApps=サードパーティーのアプリケーション
|
||||
appResults=結果
|
||||
clientNotFoundMessage=クライアントが見つかりません。
|
||||
|
||||
# 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=電話番号の変更
|
||||
|
||||
#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=バックアップ・コードのセットアップ
|
||||
realmName=レルム
|
||||
doDownload=ダウンロード
|
||||
doPrint=印刷
|
||||
generateNewBackupCodes=新しいバックアップ・コードを生成する
|
||||
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=プロジェクトの一覧表示
|
||||
154
keycloak-themes/base/account/messages/messages_lt.properties
Normal file
154
keycloak-themes/base/account/messages/messages_lt.properties
Normal file
@@ -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.
|
||||
197
keycloak-themes/base/account/messages/messages_lv.properties
Normal file
197
keycloak-themes/base/account/messages/messages_lv.properties
Normal file
@@ -0,0 +1,197 @@
|
||||
# encoding: utf-8
|
||||
doSave=Saglabāt
|
||||
doCancel=Atcelt
|
||||
doLogOutAllSessions=Izlogoties no visām sesijām
|
||||
doRemove=Noņemt
|
||||
doAdd=Pievienot
|
||||
doSignOut=Atslēgties
|
||||
doLogIn=Pieslēgties
|
||||
doLink=Savienot
|
||||
|
||||
|
||||
editAccountHtmlTitle=Rediģēt kontu
|
||||
personalInfoHtmlTitle=Personiskā informācija
|
||||
federatedIdentitiesHtmlTitle=Federatīvās identitātes
|
||||
accountLogHtmlTitle=Konta žurnāls
|
||||
changePasswordHtmlTitle=Mainīt paroli
|
||||
deviceActivityHtmlTitle=Ierīces aktivitāte
|
||||
sessionsHtmlTitle=Sesijas
|
||||
accountManagementTitle=Keycloak konta pārvaldība
|
||||
authenticatorTitle=Autentifikators
|
||||
applicationsHtmlTitle=Lietojumprogrammas
|
||||
linkedAccountsHtmlTitle=Savienotie konti
|
||||
|
||||
accountManagementWelcomeMessage=Laipni lūgti Keycloak konta pārvaldniekā
|
||||
personalInfoIntroMessage=Pārvaldīt pamatinformāciju
|
||||
accountSecurityTitle=Konta drošība
|
||||
accountSecurityIntroMessage=Pārvaldi savu paroli un konta pieeju
|
||||
applicationsIntroMessage=Uzraugi un pārvaldi lietojumprogrammas pieeju savam kontam
|
||||
resourceIntroMessage=
|
||||
passwordLastUpdateMessage=Tava parole tika atjaunota
|
||||
updatePasswordTitle=Atjaunot paroli
|
||||
updatePasswordMessageTitle=Izvēlies drošu parolu
|
||||
updatePasswordMessage=Droša parole satur ciparus, burtus un simbolus. To ir grūti uzminēt, tā nesatur reālus vārdus un tiek izmantota tikai šim kontam.
|
||||
personalSubTitle=Tava personīgā informācija
|
||||
personalSubMessage=Pārvaldi savu pamatinformāciju: vārdu, uzvārdu un e-pastu
|
||||
|
||||
authenticatorCode=Vienreizējā parole
|
||||
email=E-pasts
|
||||
firstName=Vārds
|
||||
givenName=Vārds
|
||||
fullName=Pilns vārds
|
||||
lastName=Uzvārds
|
||||
familyName=Uzvārds
|
||||
password=Parole
|
||||
currentPassword=Pašreizējā parole
|
||||
passwordConfirm=Parole atkārtoti
|
||||
passwordNew=Jauna parole
|
||||
username=Lietotājvārds
|
||||
address=Adrese
|
||||
street=Iela
|
||||
locality=Pilsēta
|
||||
region=Novads vai reģions
|
||||
postal_code=Pasta indegs
|
||||
country=Valsts
|
||||
emailVerified=E-pasts apstiprināts
|
||||
gssDelegationCredential=GSS delegācijas atslēga
|
||||
|
||||
profileScopeConsentText=Lietotāja profils
|
||||
emailScopeConsentText=E-pasta adrese
|
||||
addressScopeConsentText=Adrese
|
||||
phoneScopeConsentText=Tālrunis
|
||||
offlineAccessScopeConsentText=Bezsaustes piekļuve
|
||||
samlRoleListScopeConsentText=Manas lomas
|
||||
rolesScopeConsentText=Lietotāju lomas
|
||||
|
||||
role_admin=Administrators
|
||||
role_realm-admin=Realm administrators
|
||||
role_create-realm=Izveidot realm
|
||||
role_view-realm=Skatīt realm
|
||||
role_view-users=Skatīt lietoājus
|
||||
role_view-applications=Skatīt lietojumprogrammas
|
||||
role_view-clients=Skatīt klientus
|
||||
role_view-events=Skatīt notikumus
|
||||
role_view-identity-providers=Skatīt identitātes sniedzējus
|
||||
role_manage-realm=Pārvaldīt realm
|
||||
role_manage-users=Pārvaldīt lietotājus
|
||||
role_manage-applications=Pārvaldīt lietojumprogrammas
|
||||
role_manage-identity-providers=Pārvaldīt identitātes sniedzējus
|
||||
role_manage-clients=Pārvaldīt klientus
|
||||
role_manage-events=Pārvaldīt notikumus
|
||||
role_view-profile=Skatīt profilu
|
||||
role_manage-account=Pārvaldīt kontu
|
||||
role_manage-account-links=Pārvaldīt konta saites
|
||||
role_read-token=Lasīt talonu (token)
|
||||
role_offline-access=Bezsaistes piekļuve
|
||||
role_uma_authorization=Iegūt atļaujas
|
||||
client_account=Konts
|
||||
client_security-admin-console=Drošības administrācijas konsole
|
||||
client_admin-cli=Administrācijas CLI
|
||||
client_realm-management=Realm pārvaldība
|
||||
client_broker=Brokeris
|
||||
|
||||
|
||||
requiredFields=Obligātie lauki
|
||||
allFieldsRequired=Visi lauki ir obligāti
|
||||
|
||||
backToApplication=« Atpakaļ uz lietojumprogrammu
|
||||
backTo=Atpakaļ uz {0}
|
||||
|
||||
date=Datums
|
||||
event=Notikums
|
||||
ip=IP
|
||||
client=Klients
|
||||
clients=Klienti
|
||||
details=Detaļas
|
||||
started=Uzsākta
|
||||
lastAccess=Pēdējā piekļuve
|
||||
expires=Beidzas
|
||||
applications=Lietojumprogrammas
|
||||
|
||||
account=Konts
|
||||
federatedIdentity=Federatīvā identitāte
|
||||
authenticator=Autentifikators
|
||||
device-activity=Ierīces aktivitāte
|
||||
sessions=Sesijas
|
||||
log=Žurnāls
|
||||
|
||||
application=Lietojumprogramma
|
||||
availableRoles=Pieejamās lomas
|
||||
grantedPermissions=Piešķirtās atļaujas
|
||||
grantedPersonalInfo=Pieškirtā personālā informācija
|
||||
additionalGrants=Papildus atļaujas
|
||||
action=Darbība
|
||||
inResource=iekš
|
||||
fullAccess=Pilna piekļuve
|
||||
offlineToken=Bezsaistes talons (token)
|
||||
revoke=Atsaukt atļauju
|
||||
|
||||
missingUsernameMessage=Lūdzu norādi lietotājvārdu.
|
||||
missingFirstNameMessage=Lūdzu norādi vārdu.
|
||||
invalidEmailMessage=Nekorekta e-pasta adrese.
|
||||
missingLastNameMessage=Lūdzu norādi uzvārdu.
|
||||
missingEmailMessage=Lūdzu norādi e-pastu.
|
||||
missingPasswordMessage=Lūdzu norādi paroli.
|
||||
notMatchPasswordMessage=Paroles nesakrīt.
|
||||
invalidUserMessage=Nekorekts lietotājs
|
||||
|
||||
usernameExistsMessage=Lietotājvārds jau eksistē.
|
||||
emailExistsMessage=E-pasts jau eksistē.
|
||||
|
||||
# Authorization
|
||||
myResources=Mani resursi
|
||||
myResourcesSub=Mani resursi
|
||||
doDeny=Aizliegt
|
||||
doRevoke=Atsaukt
|
||||
doApprove=Apstiprināt
|
||||
doRemoveSharing=Noņemt dalīšanos
|
||||
doRemoveRequest=Noņemt pieprasījumu
|
||||
peopleAccessResource=Cilvēki ar pieeju šim resursam
|
||||
resourceManagedPolicies=Atļaujas šim resursam
|
||||
resourceNoPermissionsGrantingAccess=Nav atļauju šim resursam
|
||||
anyAction=Jebkura darbība
|
||||
description=Apraksts
|
||||
name=Nosaukums
|
||||
scopes=Jomas (scopes)
|
||||
resource=Resurss
|
||||
user=Lietotājs
|
||||
peopleSharingThisResource=Cilveki, kas dalās ar šo resursu
|
||||
shareWithOthers=Dalīties ar citiem
|
||||
needMyApproval=Nepieciešams mans apstiprinājums
|
||||
requestsWaitingApproval=Tavi pieprasījumi, kas gaida apstiprinājumu
|
||||
icon=Ikona
|
||||
requestor=Pieprasītājs
|
||||
owner=Īpašnieks
|
||||
resourcesSharedWithMe=Resursi, kuri tiek dalīti ar mani
|
||||
permissionRequestion=Atļaujas pieprasījums
|
||||
permission=Atļauja
|
||||
shares=share(s)
|
||||
|
||||
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_lt=Latviešu
|
||||
locale_pt-BR=Português (Brasil)
|
||||
locale_ru=Русский
|
||||
locale_sk=Slovenčina
|
||||
locale_sv=Svenska
|
||||
locale_zh-CN=中文简体
|
||||
|
||||
# Applications
|
||||
applicaitonName=Nosaukums
|
||||
applicationType=Lietojumprogrammas tips
|
||||
applicationInUse=Tikai aktīvās lietojumprogrammas
|
||||
clearAllFilter=Noņemt visus filtrus
|
||||
activeFilters=Aktīvie filtri
|
||||
filterByName=Filtrēt pēc nosaukuma ...
|
||||
allApps=Visas lietojumprogrammas
|
||||
internalApps=Iekšējās lietojumprogrammas
|
||||
thirdpartyApps=Trešās puses lietojumprogrammas
|
||||
appResults=Rezultāti
|
||||
133
keycloak-themes/base/account/messages/messages_nl.properties
Normal file
133
keycloak-themes/base/account/messages/messages_nl.properties
Normal file
@@ -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.
|
||||
152
keycloak-themes/base/account/messages/messages_no.properties
Normal file
152
keycloak-themes/base/account/messages/messages_no.properties
Normal file
@@ -0,0 +1,152 @@
|
||||
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.
|
||||
248
keycloak-themes/base/account/messages/messages_pl.properties
Normal file
248
keycloak-themes/base/account/messages/messages_pl.properties
Normal file
@@ -0,0 +1,248 @@
|
||||
# encoding: UTF-8
|
||||
doSave=Zapisz
|
||||
doCancel=Anuluj
|
||||
doLogOutAllSessions=Wyloguj wszystkie sesje
|
||||
doRemove=Usuń
|
||||
doAdd=Dodaj
|
||||
doSignOut=Wyloguj
|
||||
doLogIn=Logowanie
|
||||
doLink=Link
|
||||
|
||||
|
||||
editAccountHtmlTitle=Edycja konta
|
||||
personalInfoHtmlTitle=Dane osobiste
|
||||
federatedIdentitiesHtmlTitle=Połączone tożsamości
|
||||
accountLogHtmlTitle=Dziennik konta
|
||||
changePasswordHtmlTitle=Zmień hasło
|
||||
deviceActivityHtmlTitle=Aktywność urządzeń
|
||||
sessionsHtmlTitle=Sesje
|
||||
accountManagementTitle=Zarządzanie kontem
|
||||
authenticatorTitle=Uwierzytelnienie dwuetapowe
|
||||
applicationsHtmlTitle=Aplikacje
|
||||
linkedAccountsHtmlTitle=Połączone konta
|
||||
|
||||
accountManagementWelcomeMessage=Witamy w zarządzaniu kontem
|
||||
personalInfoIntroMessage=Zarządzaj informacjami podstawowymi o sobie
|
||||
accountSecurityTitle=Bezpieczeństwo Konta
|
||||
accountSecurityIntroMessage=Kontroluj swoje hasło i dostęp
|
||||
applicationsIntroMessage=Śledź i zarządzaj uprawnieniami aplikacji do twojego konta
|
||||
resourceIntroMessage=Udostępnij swoje zasoby członkom zespołu
|
||||
passwordLastUpdateMessage=Twoje hasło zostało zaktualizowane
|
||||
updatePasswordTitle=Aktualizuj hasło
|
||||
updatePasswordMessageTitle=Miej pewność, że wybrałeś silne hasło
|
||||
updatePasswordMessage=Silne hasło zawiera mieszaninę cyfr, liter i symboli. Nie używaj zwykłych słów oraz haseł używanych na innych kontach.
|
||||
personalSubTitle=Twoje dane osobiste
|
||||
personalSubMessage=Zarządzaj informacjami podstawowymi: twoim imieniem, nazwiskiem oraz emailem
|
||||
|
||||
authenticatorCode=Kod jednorazowy
|
||||
email=Email
|
||||
firstName=Imię
|
||||
givenName=Imię
|
||||
fullName=Pełna nazwa
|
||||
lastName=Nazwisko
|
||||
familyName=Nazwisko rodowe
|
||||
password=Hasło
|
||||
currentPassword=Aktualne hasło
|
||||
passwordConfirm=Potwierdzenie
|
||||
passwordNew=Nowe hasło
|
||||
username=Nazwa użytkownika
|
||||
address=Adres
|
||||
street=Ulica
|
||||
locality=Miejscowość
|
||||
region=Stan, województwo, region
|
||||
postal_code=Kod pocztowy
|
||||
country=Kraj
|
||||
emailVerified=Email zweryfikowany
|
||||
website=Strona internetowa
|
||||
phoneNumber=Nr telefonu
|
||||
phoneNumberVerified=Nr telefonu zweryfikowany
|
||||
gender=Płeć
|
||||
birthday=Data urodzenia
|
||||
zoneinfo=Strefa czasowa
|
||||
gssDelegationCredential=Poświadczenia delegowane GSS
|
||||
|
||||
profileScopeConsentText=Profil użytkownika
|
||||
emailScopeConsentText=Adres email
|
||||
addressScopeConsentText=Adres
|
||||
phoneScopeConsentText=Telefon
|
||||
offlineAccessScopeConsentText=Dostęp offline
|
||||
samlRoleListScopeConsentText=Moje role
|
||||
rolesScopeConsentText=Role użytkownika
|
||||
|
||||
role_admin=Admin
|
||||
role_realm-admin=Strefa Admin
|
||||
role_create-realm=Utwórz strefę
|
||||
role_view-realm=Przeglądaj strefy
|
||||
role_view-users=Przeglądaj użytkowników
|
||||
role_view-applications=Przeglądaj aplikacje
|
||||
role_view-clients=Przeglądaj klientów
|
||||
role_view-events=Przeglądaj zdarzenia
|
||||
role_view-identity-providers=Przeglądaj dostawców tożsamości
|
||||
role_view-consent=Przeglądaj zgody
|
||||
role_manage-realm=Zarządzaj strefami
|
||||
role_manage-users=Zarządzaj użytkownikami
|
||||
role_manage-applications=Zarządzaj aplikacjami
|
||||
role_manage-identity-providers=Zarządzaj dostawcami tożsamości
|
||||
role_manage-clients=Zarządzaj klientami
|
||||
role_manage-events=Zarządzaj zdarzeniami
|
||||
role_view-profile=Przeglądaj profil
|
||||
role_manage-account=Zarządzaj kontem
|
||||
role_manage-account-links=Zarządzaj linkami konta
|
||||
role_manage-consent=Zarządzaj zgodami
|
||||
role_read-token=Odczytaj token
|
||||
role_offline-access=Dostęp offline
|
||||
role_uma_authorization=Uzyskaj uprawnienia
|
||||
client_account=Konto
|
||||
client_account-console=Konsola konta
|
||||
client_security-admin-console=Konsola administratora bezpieczeństwa
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Zarządzanie strefą
|
||||
client_broker=Broker
|
||||
|
||||
|
||||
requiredFields=Wymagane pola
|
||||
allFieldsRequired=Wszystkie pola są wymagane
|
||||
|
||||
backToApplication=« Powrót do aplikacji
|
||||
backTo=Wróć do: {0}
|
||||
|
||||
date=Data
|
||||
event=Zdarzenie
|
||||
ip=IP
|
||||
client=Klient
|
||||
clients=Aplikacje klienckie
|
||||
details=Szczegóły
|
||||
started=Rozpoczęta
|
||||
lastAccess=Ostatni dostęp
|
||||
expires=Data ważności
|
||||
applications=Aplikacje
|
||||
|
||||
account=Konto
|
||||
federatedIdentity=Połączone tożsamości
|
||||
authenticator=Uwierzytelnienie dwuetapowe
|
||||
device-activity=Aktywność urządzenia
|
||||
sessions=Sesje
|
||||
log=Dziennik
|
||||
|
||||
application=Aplikacja
|
||||
availableRoles=Dostępne role
|
||||
grantedPermissions=Przydzielone uprawnienia
|
||||
grantedPersonalInfo=Przydzielone dane osobiste
|
||||
additionalGrants=Dodatkowe przydziały
|
||||
action=Akcje
|
||||
inResource=w
|
||||
fullAccess=Pełny dostęp
|
||||
offlineToken=Token offline
|
||||
revoke=Odbierz uprawnienia
|
||||
|
||||
configureAuthenticators=Skonfigurowane autentykatory
|
||||
mobile=Mobilne
|
||||
totpStep1=Zainstaluj jedną z następujących aplikacji na telefonie komórkowym:
|
||||
totpStep2=Otwórz aplikację i zeskanuj kod kreskowy:
|
||||
totpStep3=Wprowadź jednorazowy kod podany przez aplikację i kliknij Zapisz aby zakończyć konfigurację.
|
||||
totpStep3DeviceName=Podaj nazwę urządzenia aby lepiej zarządzać swoimi urządzeniami haseł jednorazowych.
|
||||
|
||||
totpManualStep2=Otwórz aplikację i wprowadź klucz:
|
||||
totpManualStep3=Użyj poniższych wartości konfiguracji, jeśli aplikacja pozwala na ich ustawienie:
|
||||
totpUnableToScan=Nie można skanować?
|
||||
totpScanBarcode=Zeskanować kod paskowy?
|
||||
|
||||
totp.totp=Oparte o czas
|
||||
totp.hotp=Oparte o licznik
|
||||
|
||||
totpType=Typ
|
||||
totpAlgorithm=Algorytm
|
||||
totpDigits=Cyfry
|
||||
totpInterval=Interwał
|
||||
totpCounter=Licznik
|
||||
totpDeviceName=Nazwa urządzenia
|
||||
|
||||
missingUsernameMessage=Proszę podać nazwę użytkownika.
|
||||
missingFirstNameMessage=Proszę podać imię.
|
||||
invalidEmailMessage=Nieprawidłowy adres email.
|
||||
missingLastNameMessage=Proszę podać nazwisko.
|
||||
missingEmailMessage=Proszę podać e-mail.
|
||||
missingPasswordMessage=Proszę podać hasło.
|
||||
notMatchPasswordMessage=Hasła nie są zgodne.
|
||||
invalidUserMessage=Nieprawidłowy użytkownik
|
||||
|
||||
missingTotpMessage=Proszę podać kod uwierzytelniający.
|
||||
missingTotpDeviceNameMessage=Proszę podać nazwę urządzenia.
|
||||
invalidPasswordExistingMessage=Nieprawidłowe aktualne hasło.
|
||||
invalidPasswordConfirmMessage=Potwierdzenie hasła nie jest zgodne.
|
||||
invalidTotpMessage=Nieprawidłowy kod uwierzytelniający.
|
||||
|
||||
usernameExistsMessage=Nazwa użytkownika już jest wykorzystana.
|
||||
emailExistsMessage=Email już istnieje.
|
||||
|
||||
readOnlyUserMessage=Zmiana nie jest możliwa, ponieważ edycja konta jest zablokowana.
|
||||
readOnlyUsernameMessage=Zmiana nazwy użytkownika nie jest możliwa, ponieważ edycja konta jest zablokowana.
|
||||
readOnlyPasswordMessage=Zmiana hasła nie jest możliwa, ponieważ edycja konta jest zablokowana.
|
||||
|
||||
successTotpMessage=Mobilny autentykator skonfigurowany.
|
||||
successTotpRemovedMessage=Mobilny autentykator usunięty.
|
||||
|
||||
successGrantRevokedMessage=Cofnięto uprawnienia.
|
||||
|
||||
accountUpdatedMessage=Twoje konto zostało zaktualizowane.
|
||||
accountPasswordUpdatedMessage=Twoje hasło zostało zmienione.
|
||||
|
||||
missingIdentityProviderMessage=Dostawca tożsamości nie został wybrany.
|
||||
invalidFederatedIdentityActionMessage=Nieprawidłowa akcja.
|
||||
identityProviderNotFoundMessage=Podany dostawca tożsamości nie istnieje.
|
||||
federatedIdentityLinkNotActiveMessage=Podana tożsamość nie jest już aktywna.
|
||||
federatedIdentityRemovingLastProviderMessage=Nie można usunąć ostatniej połączonej tożsamości, jeżeli nie ustawiłeś hasła.
|
||||
identityProviderRedirectErrorMessage=Nieudane przekierowanie do zewnętrznego dostawcy tożsamości.
|
||||
identityProviderRemovedMessage=Dostawca tożsamości został usunięty.
|
||||
identityProviderAlreadyLinkedMessage=Połączona tożsamość {0} jest już przypisana do innego użytkownika.
|
||||
staleCodeAccountMessage=Strona wygasła. Prosimy spróbować ponownie.
|
||||
consentDenied=Zgoda wycofana.
|
||||
|
||||
accountDisabledMessage=Konto jest zablokowane, skontaktuj się z administratorem.
|
||||
|
||||
accountTemporarilyDisabledMessage=Konto jest tymczasowo zablokowane, skontaktuj się z administratorem lub spróbuj później.
|
||||
invalidPasswordMinLengthMessage=Nieprawidłowe hasło: minimalna długość {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Nieprawidłowe hasło: brak małych liter (co najmniej {0}).
|
||||
invalidPasswordMinDigitsMessage=Nieprawidłowe hasło: brak cyfr (co najmniej {0}).
|
||||
invalidPasswordMinUpperCaseCharsMessage=Nieprawidłowe hasło: brak dużych liter (co najmniej {0}).
|
||||
invalidPasswordMinSpecialCharsMessage=Nieprawidłowe hasło: brak znaków specjalnych (co najmniej {0}).
|
||||
invalidPasswordNotUsernameMessage=Nieprawidłowe hasło: nie może być zgodne z nazwą użytkownika.
|
||||
invalidPasswordRegexPatternMessage=Nieprawidłowe hasło: nie spełnia przyjętych reguł.
|
||||
invalidPasswordHistoryMessage=Nieprawidłowe hasło: jest identyczne jak jedno z ostatnich ({0}) haseł.
|
||||
invalidPasswordBlacklistedMessage=Nieprawidłowe hasło: jest na liście haseł zabronionych.
|
||||
invalidPasswordGenericMessage=Nieprawidłowe hasło: nowe hasło nie spełnia polityki haseł.
|
||||
|
||||
# Authorization
|
||||
myResources=Moje zasoby
|
||||
myResourcesSub=Moje zasoby
|
||||
doDeny=Zabroń
|
||||
doRevoke=Cofnij
|
||||
doApprove=Akceptuj
|
||||
doRemoveSharing=Usuń udostępnianie
|
||||
doRemoveRequest=Usuń żądanie
|
||||
peopleAccessResource=Osoby z dostępem do tego zasobu
|
||||
resourceManagedPolicies=Uprawnienia dające dostęp do tego zasobu
|
||||
resourceNoPermissionsGrantingAccess=Brak uprawnień dających dostęp do tego zasobu
|
||||
anyAction=Dowolna akcja
|
||||
description=Opis
|
||||
name=Nazwa
|
||||
scopes=Zakres
|
||||
resource=Zasób
|
||||
user=Użytkownik
|
||||
peopleSharingThisResource=Osoby współdzielące ten zasób
|
||||
shareWithOthers=Udostępnij innym
|
||||
needMyApproval=Wymagana moja akceptacja
|
||||
requestsWaitingApproval=Twoje żądanie czeka na akceptację
|
||||
icon=Ikona
|
||||
requestor=Żądający
|
||||
owner=Właściciel
|
||||
resourcesSharedWithMe=Zasoby współdzielone ze mną
|
||||
permissionRequestion=Żądania uprawnień
|
||||
permission=Uprawnienia
|
||||
shares=udostępnienia
|
||||
notBeingShared=Ten zasób nie jest współdzielony.
|
||||
notHaveAnyResource=Nie masz żadnych zasobów
|
||||
noResourcesSharedWithYou=Brak zasobów udostępnionych dla Ciebie
|
||||
havePermissionRequestsWaitingForApproval=Masz {0} żądań uprawnień oczekujących na akceptację.
|
||||
clickHereForDetails=Więcej szczegółów...
|
||||
resourceIsNotBeingShared=Zasób nie jest współdzielony
|
||||
349
keycloak-themes/base/account/messages/messages_pt_BR.properties
Normal file
349
keycloak-themes/base/account/messages/messages_pt_BR.properties
Normal file
@@ -0,0 +1,349 @@
|
||||
doSave=Salvar
|
||||
doCancel=Cancelar
|
||||
doLogOutAllSessions=Sair de todas as sess\u00F5es
|
||||
doRemove=Remover
|
||||
doAdd=Adicionar
|
||||
doSignOut=Sair
|
||||
doLogIn=Entrar
|
||||
doLink=Vincular
|
||||
noAccessMessage=Acesso n\u00e3o permitido
|
||||
|
||||
|
||||
editAccountHtmlTitle=Editar Conta
|
||||
personalInfoHtmlTitle=Informa\u00e7\u00f5es Pessoais
|
||||
federatedIdentitiesHtmlTitle=Identidades Federadas
|
||||
accountLogHtmlTitle=Hist\u00f3rico da conta
|
||||
changePasswordHtmlTitle=Alterar senha
|
||||
deviceActivityHtmlTitle=Atividade de Dispositivos
|
||||
sessionsHtmlTitle=Sess\u00F5es
|
||||
accountManagementTitle=Gerenciamento de Conta
|
||||
authenticatorTitle=Autenticator
|
||||
applicationsHtmlTitle=Aplicativos
|
||||
linkedAccountsHtmlTitle=Contas Vinculadas
|
||||
|
||||
accountManagementWelcomeMessage=Bem-vindo ao Gerenciamento de Conta
|
||||
personalInfoIntroMessage=Gerenciar informa\u00e7\u00f5es b\u00e1sicas
|
||||
accountSecurityTitle=Seguran\u00e7a da Conta
|
||||
accountSecurityIntroMessage=Gerencie sua senha e acesso da conta
|
||||
applicationsIntroMessage=Acompanhe e gerencie as permiss\u00f5es de app para acesso \u00e0 sua conta
|
||||
resourceIntroMessage=Compartilhe seus recursos com membros de equipe
|
||||
passwordLastUpdateMessage=Sua senha foi atualizada em
|
||||
updatePasswordTitle=Atualizar Senha
|
||||
updatePasswordMessageTitle=Certifique-se de que a nova senha \u00e9 segura
|
||||
updatePasswordMessage=Uma senha segura cont\u00e9m uma combina\u00e7\u00e3o de n\u00famero, letras e caracteres especiais. Ela deve ser dif\u00edcil de adivinhar, n\u00e3o pode se assemelhar a uma palavra real e n\u00e3o \u00e9 utilizada em outros lugares.
|
||||
personalSubTitle=Suas Informa\u00e7\u00f5es Pessoais
|
||||
personalSubMessage=Gerencie as informa\u00e7\u00f5es b\u00e1sicas: seu primeiro nome, seu sobrenome e seu endere\u00e7o de e-mail
|
||||
|
||||
authenticatorCode=C\u00F3digo autenticador
|
||||
email=E-mail
|
||||
firstName=Primeiro nome
|
||||
givenName=Primeiro nome
|
||||
fullName=Nome completo
|
||||
lastName=Sobrenome
|
||||
familyName=Sobrenome
|
||||
password=Senha
|
||||
currentPassword=Senha Atual
|
||||
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
|
||||
website=P\u00e1gina da web
|
||||
phoneNumber=N\u00famero de telefone
|
||||
phoneNumberVerified=N\u00famero de telefone verificado
|
||||
gender=G\u00eanero
|
||||
birthday=Data de nascimento
|
||||
zoneinfo=Zona hor\u00e1ria
|
||||
gssDelegationCredential=Delega\u00E7\u00E3o de Credenciais GSS
|
||||
|
||||
profileScopeConsentText=Perfil de usu\u00e1rio
|
||||
emailScopeConsentText=Endere\u00e7o de e-mail
|
||||
addressScopeConsentText=Endere\u00e7o
|
||||
phoneScopeConsentText=N\u00famero de telefone
|
||||
offlineAccessScopeConsentText=Acesso Offline
|
||||
samlRoleListScopeConsentText=Meus Perfis de Acesso
|
||||
rolesScopeConsentText=Perfis de acesso de usu\u00e1rio
|
||||
|
||||
role_admin=Administrador
|
||||
role_realm-admin=Administrador de dom\u00ednio
|
||||
role_create-realm=Criar dom\u00ednio
|
||||
role_view-realm=Visualizar dom\u00ednio
|
||||
role_view-users=Visualizar usu\u00E1rios
|
||||
role_view-applications=Visualizar aplicativos
|
||||
role_view-clients=Visualizar clientes
|
||||
role_view-events=Visualizar eventos
|
||||
role_view-identity-providers=Visualizar provedores de identidade
|
||||
role_view-consent=Visualizar consentimentos
|
||||
role_manage-realm=Gerenciar dom\u00ednio
|
||||
role_manage-users=Gerenciar usu\u00E1rios
|
||||
role_manage-applications=Gerenciar aplicativos
|
||||
role_manage-identity-providers=Gerenciar provedores de identidade
|
||||
role_manage-clients=Gerenciar clientes
|
||||
role_manage-events=Gerenciar eventos
|
||||
role_view-profile=Visualizar perfil
|
||||
role_manage-account=Gerenciar conta
|
||||
role_manage-account-links=Gerenciar vincula\u00e7\u00f5es de conta
|
||||
role_manage-consent=Gerenciar consentimentos
|
||||
role_read-token=Ler token
|
||||
role_offline-access=Acesso offline
|
||||
role_uma_authorization=Obter permiss\u00F5es
|
||||
client_account=Conta
|
||||
client_account-console=Console de Conta
|
||||
client_security-admin-console=Console de Administra\u00E7\u00E3o de Seguran\u00E7a
|
||||
client_admin-cli=CLI de Administra\u00e7\u00e3o
|
||||
client_realm-management=Gerenciamento de Dom\u00ednio
|
||||
client_broker=Provedor de Identidade
|
||||
|
||||
|
||||
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=In\u00edcio em
|
||||
lastAccess=\u00DAltimo acesso
|
||||
expires=Expira em
|
||||
applications=Aplicativos
|
||||
|
||||
account=Conta
|
||||
federatedIdentity=Identidade Federada
|
||||
authenticator=Autenticador
|
||||
device-activity=Atividade de Dispositivos
|
||||
sessions=Sess\u00F5es
|
||||
log=Hist\u00f3rico
|
||||
|
||||
application=Aplicativo
|
||||
availableRoles=Perfis de Acesso 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=Token Offline
|
||||
revoke=Revogar Concess\u00e3o
|
||||
|
||||
configureAuthenticators=Autenticadores Configurados
|
||||
mobile=M\u00f3vel
|
||||
totpStep1=Instale uma das seguintes aplica\u00e7\u00f5es no seu celular:
|
||||
totpStep2=Abra a aplica\u00e7\u00e3o e escaneie o c\u00f3digo QR:
|
||||
totpStep3=Insira o c\u00f3digo de uso \u00fanico exibido pela aplica\u00e7\u00e3o e clique em Salvar para finalizar a configura\u00e7\u00e3o.
|
||||
totpStep3DeviceName=Forne\u00e7a um nome de dispositivo para ajud\u00e1-lo a gerenciar seus dipositivos de autentica\u00e7\u00e3o de dois fatores.
|
||||
|
||||
totpManualStep2=Abra a aplica\u00e7\u00e3o e insira a chave:
|
||||
totpManualStep3=Use as seguintes configura\u00e7\u00f5es se a aplica\u00e7\u00e3o permitir:
|
||||
totpUnableToScan=N\u00e3o consegue escanear?
|
||||
totpScanBarcode=Escanear c\u00f3digo QR?
|
||||
|
||||
totp.totp=Baseada em tempo
|
||||
totp.hotp=Baseada em contador
|
||||
|
||||
totpType=Tipo
|
||||
totpAlgorithm=Algoritmo
|
||||
totpDigits=D\u00edgitos
|
||||
totpInterval=Intervalo
|
||||
totpCounter=Contador
|
||||
totpDeviceName=Nome do Dispositivo
|
||||
|
||||
irreversibleAction=Esta a\u00e7\u00e3o \u00e9 irrevers\u00edvel
|
||||
deletingImplies=Apagar a sua conta implica em:
|
||||
errasingData=Remover todos os dados
|
||||
loggingOutImmediately=Finalizar a sess\u00e3o imediatamente
|
||||
accountUnusable=Qualquer uso subsquente da aplica\u00e7\u00e3o n\u00e3o ser\u00e1 mais poss\u00edvel com esta conta
|
||||
|
||||
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.
|
||||
invalidUserMessage=Usu\u00e1rio inv\u00e1lido
|
||||
updateReadOnlyAttributesRejectedMessage=Atualiza\u00e7\u00e3o de atributo de apenas leitura n\u00e3o permitida
|
||||
|
||||
missingTotpMessage=Por favor, informe o c\u00F3digo de uso \u00fanico.
|
||||
missingTotpDeviceNameMessage=Por favor, informe o nome do dispositivo.
|
||||
invalidPasswordExistingMessage=A senha atual \u00e9 inv\u00E1lida.
|
||||
invalidPasswordConfirmMessage=A senha de confirma\u00E7\u00E3o n\u00E3o coincide.
|
||||
invalidTotpMessage=C\u00F3digo de uso \u00fanico inv\u00E1lido.
|
||||
|
||||
usernameExistsMessage=Este nome de usu\u00E1rio j\u00E1 existe.
|
||||
emailExistsMessage=Este endere\u00e7o de e-mail j\u00E1 existe.
|
||||
|
||||
readOnlyUserMessage=Voc\u00EA n\u00E3o pode atualizar sua conta, uma vez que \u00E9 apenas de leitura.
|
||||
readOnlyUsernameMessage=Voc\u00ea^n\u00e3o pode atualizar o seu nome de usu\u00e1rio, uma vez que \u00e9 apenas de leitura.
|
||||
readOnlyPasswordMessage=Voc\u00EA n\u00E3o pode atualizar sua senha, uma vez que sua conta \u00E9 apenas de leitura.
|
||||
|
||||
successTotpMessage=Autenticador m\u00f3vel configurado.
|
||||
successTotpRemovedMessage=Autenticador m\u00f3vel removido.
|
||||
|
||||
successGrantRevokedMessage=Concess\u00e3o revogada 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, porque voc\u00EA n\u00E3o tem uma senha.
|
||||
identityProviderRedirectErrorMessage=Falha ao redirecionar para o provedor de identidade.
|
||||
identityProviderRemovedMessage=Provedor de identidade removido com sucesso.
|
||||
identityProviderAlreadyLinkedMessage=Identidade federada retornada por {0} j\u00E1 est\u00E1 ligada a outro usu\u00E1rio.
|
||||
staleCodeAccountMessage=A p\u00e1gina expirou. Por favor, tente novamente.
|
||||
consentDenied=Consentimento negado.
|
||||
|
||||
accountDisabledMessage=Conta desativada, por favor, contate um administrador.
|
||||
|
||||
accountTemporarilyDisabledMessage=A conta est\u00E1 temporariamente indispon\u00EDvel, contate um administrador ou tente novamente mais tarde.
|
||||
invalidPasswordMinLengthMessage=Senha inv\u00E1lida\: deve ter pelo menos {0} caracteres.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} letra(s) min\u00FAscula(s).
|
||||
invalidPasswordMinDigitsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} n\u00FAmero(s).
|
||||
invalidPasswordMinUpperCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} letra(s) mai\u00FAscula(s).
|
||||
invalidPasswordMinSpecialCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) especial(is).
|
||||
invalidPasswordNotUsernameMessage=Senha inv\u00E1lida\: n\u00E3o pode ser igual ao nome de usu\u00E1rio.
|
||||
invalidPasswordNotEmailMessage=Senha inv\u00e1lida: n\u00e3o pode ser igual ao endere\u00e7o de e-mail.
|
||||
invalidPasswordRegexPatternMessage=Senha inv\u00E1lida\: n\u00E3o corresponde ao(s) padr\u00E3o(\u00f5es) da express\u00E3o regular.
|
||||
invalidPasswordHistoryMessage=Senha inv\u00E1lida\: n\u00E3o pode ser igual a qualquer uma da(s) \u00FAltima(s) {0} senha(s).
|
||||
invalidPasswordBlacklistedMessage=Senha inv\u00e1lida: esta senha est\u00e1 na lista de exclus\u00e3o.
|
||||
invalidPasswordGenericMessage=Senha inv\u00e1lida: a nova senha n\u00e3o cumpre as pol\u00edticas de senha.
|
||||
|
||||
# Authorization
|
||||
myResources=Meus Recursos
|
||||
myResourcesSub=Meus recursos
|
||||
doDeny=Negar
|
||||
doRevoke=Revogar
|
||||
doApprove=Permitir
|
||||
doRemoveSharing=Remover Compartilhamento
|
||||
doRemoveRequest=Remover Solicita\u00e7\u00e3o
|
||||
peopleAccessResource=Pessoas com acesso a este recurso
|
||||
resourceManagedPolicies=Permiss\u00f5es dando acesso a este recurso
|
||||
resourceNoPermissionsGrantingAccess=Sem permiss\u00f5es dando acesso a este recurso
|
||||
anyAction=Qualquer a\u00e7\u00e3o
|
||||
description=Descri\u00e7\u00e3o
|
||||
name=Nome
|
||||
scopes=Escopo
|
||||
resource=Recurso
|
||||
user=Usu\u00e1rio
|
||||
peopleSharingThisResource=Pessoas compartilhando este recurso
|
||||
shareWithOthers=Compartilhar com outros
|
||||
needMyApproval=Requer minha aprova\u00e7\u00e3o
|
||||
requestsWaitingApproval=Solicita\u00e7\u00f5es suas aguardando aprova\u00e7\u00e3o
|
||||
icon=\u00cdcone
|
||||
requestor=Requerente
|
||||
owner=Dono
|
||||
resourcesSharedWithMe=Recursos compartilhados comigo
|
||||
permissionRequestion=Solicita\u00e7\u00e3o de Permiss\u00e3o
|
||||
permission=Permiss\u00e3o
|
||||
shares=compartilha(m)
|
||||
notBeingShared=Este recurso n\u00e3o est\u00e1 sendo compartilhado.
|
||||
notHaveAnyResource=Voc\u00ea n\u00e3o possui recursos
|
||||
noResourcesSharedWithYou=N\u00e3o h\u00e1 recursos compartilhados com voc\u00ea
|
||||
havePermissionRequestsWaitingForApproval=Voc\u00ea tem {0} solicita\u00e7\u00e3o(\u00f5es) de permiss\u00e3o aguardando aprova\u00e7\u00e3o.
|
||||
clickHereForDetails=Clique aqui para mais detalhes.
|
||||
resourceIsNotBeingShared=O recurso n\u00e3o \u00e9 compartilhado
|
||||
|
||||
# Applications
|
||||
applicationName=Nome
|
||||
applicationType=Tipo de aplica\u00e7\u00e3o
|
||||
applicationInUse=Uso apenas em aplica\u00e7\u00e3o
|
||||
clearAllFilter=Limpar todos os filtros
|
||||
activeFilters=Filtros ativos
|
||||
filterByName=Filtrar Por Nome ...
|
||||
allApps=Todas as aplica\u00e7\u00f5es
|
||||
internalApps=Aplica\u00e7\u00f5es internas
|
||||
thirdpartyApps=Aplica\u00e7\u00f5es de terceiros
|
||||
appResults=Resultados
|
||||
clientNotFoundMessage=Cliente n\u00e3o encontrado.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Provedor Autorizado
|
||||
authorizedProviderMessage=Provedores Autorizados vinculados \u00e0 sua conta
|
||||
identityProvider=Provedor de Identidade
|
||||
identityProviderMessage=Para vincular a sua conta aos provedores de identidade configurados
|
||||
socialLogin=Login Social
|
||||
userDefined=Definido por Usu\u00e1rio
|
||||
removeAccess=Remover Acesso
|
||||
removeAccessMessage=Voc\u00ea dever\u00e1 conceder acesso novamente se quiser usar esta conta de app.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=A autentica\u00e7\u00e3o de dois fatores est\u00e1
|
||||
authenticatorFinishSetUpTitle=Sua Autentica\u00e7\u00e3o de Dois Fatores
|
||||
authenticatorFinishSetUpMessage=Sempre que entrar na sua conta, voc\u00ea dever\u00e1 fornecer um c\u00f3digo de autentica\u00e7\u00e3o de dois fatores.
|
||||
authenticatorSubTitle=Configurar Autentica\u00e7\u00e3o de Dois Fatores
|
||||
authenticatorSubMessage=Para aumentar a seguran\u00e7a da sua conta, habilite pelo menos um m\u00e9todo de autentica\u00e7\u00e3o de dois fatores dispon\u00edvel.
|
||||
authenticatorMobileTitle=Autenticador M\u00f3vel
|
||||
authenticatorMobileMessage=Use um autenticador m\u00f3vel para obter c\u00f3digos de verifica\u00e7\u00e3o para autentica\u00e7\u00e3o de dois fatores.
|
||||
authenticatorMobileFinishSetUpMessage=O autenticador foi vinculado ao seu celular.
|
||||
authenticatorActionSetup=Configurar
|
||||
authenticatorSMSTitle=C\u00f3digo SMS
|
||||
authenticatorSMSMessage=A aplica\u00e7\u00e3o ir\u00e1 enviar o c\u00f3digo de verifica\u00e7\u00e3o para o seu celular como autentica\u00e7\u00e3o de dois fatores.
|
||||
authenticatorSMSFinishSetUpMessage=As mensagens de texto ser\u00e3o enviadas para
|
||||
authenticatorDefaultStatus=Padr\u00e3o
|
||||
authenticatorChangePhone=Mudar N\u00famero de Celular
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Configura\u00e7\u00e3o do Autenticador M\u00f3vel
|
||||
smscodeIntroMessage=Insira seu n\u00famero de celular e o c\u00f3digo de verifica\u00e7\u00e3o ser\u00e1 enviado para o seu dispositivo.
|
||||
mobileSetupStep1=Instale um app autenticador no seu celular. As seguintes aplica\u00e7\u00f5es s\u00e3o suportadas.
|
||||
mobileSetupStep2=Abra a aplica\u00e7\u00e3o e escaneie o c\u00f3digo QR:
|
||||
mobileSetupStep3=Insira o c\u00f3digo autenticador exibido pela aplica\u00e7\u00e3o e clique em Salvar para finalizar a configura\u00e7\u00e3o.
|
||||
scanBarCode=Escanear c\u00f3digo QR?
|
||||
enterBarCode=Insira o c\u00f3digo autenticador
|
||||
doCopy=Copiar
|
||||
doFinish=Finalizar
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=Configura\u00e7\u00e3o de C\u00f3digo SMS
|
||||
chooseYourCountry=Selecione seu pa\u00eds
|
||||
enterYourPhoneNumber=Insira seu n\u00famero de telefone
|
||||
sendVerficationCode=Enviar C\u00f3digo de Verifica\u00e7\u00e3o
|
||||
enterYourVerficationCode=Insira o seu c\u00f3digo de verifica\u00e7\u00e3o
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Configura\u00e7\u00e3o de C\u00f3digos de Emerg\u00eancia
|
||||
realmName=Dom\u00ednio
|
||||
doDownload=Baixar
|
||||
doPrint=Imprimir
|
||||
generateNewBackupCodes=Gerar Novos C\u00f3digos de Emerg\u00eancia
|
||||
backtoAuthenticatorPage=Voltar \u00e0 P\u00e1gina de Autenticador
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Recursos
|
||||
sharedwithMe=Compartilhados Comigo
|
||||
share=Compartilhar
|
||||
sharedwith=Compartilhado com
|
||||
accessPermissions=Permiss\u00f5es de Acesso
|
||||
permissionRequests=Pedidos de Acesso
|
||||
approve=Aprovar
|
||||
approveAll=Aprovar todos
|
||||
people=pessoas
|
||||
perPage=por p\u00e1gina
|
||||
currentPage=P\u00e1gina Atual
|
||||
sharetheResource=Compartilhar recurso
|
||||
group=Grupo
|
||||
selectPermission=Selecionar Permiss\u00e3o
|
||||
addPeople=Adicionar pessoas que compartilhem o recurso
|
||||
addTeam=Adicionar equipe que compartilhe o recurso
|
||||
myPermissions=Minhas Permiss\u00f5es
|
||||
waitingforApproval=Aguardando aprova\u00e7\u00e3o
|
||||
anyPermission=Qualquer Permiss\u00e3o
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Informa\u00e7\u00f5es do usu\u00e1rio
|
||||
openshift.scope.user_check-access=Informa\u00e7\u00f5es de acesso do usu\u00e1rio
|
||||
openshift.scope.user_full=Acesso Completo
|
||||
openshift.scope.list-projects=Listar projetos
|
||||
155
keycloak-themes/base/account/messages/messages_ru.properties
Normal file
155
keycloak-themes/base/account/messages/messages_ru.properties
Normal file
@@ -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=Некорректный пароль: новый пароль не соответствует правилам пароля.
|
||||
|
||||
196
keycloak-themes/base/account/messages/messages_sk.properties
Normal file
196
keycloak-themes/base/account/messages/messages_sk.properties
Normal file
@@ -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)
|
||||
150
keycloak-themes/base/account/messages/messages_sv.properties
Normal file
150
keycloak-themes/base/account/messages/messages_sv.properties
Normal file
@@ -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.
|
||||
315
keycloak-themes/base/account/messages/messages_tr.properties
Normal file
315
keycloak-themes/base/account/messages/messages_tr.properties
Normal file
@@ -0,0 +1,315 @@
|
||||
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)
|
||||
|
||||
# Applications
|
||||
applicationName=\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
|
||||
|
||||
#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
|
||||
realmName=Realm
|
||||
doDownload=\u0130ndir
|
||||
doPrint=Yazd\u0131r
|
||||
generateNewBackupCodes=Yeni Yedekleme Kodlar\u0131 Olu\u015Ftur
|
||||
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
|
||||
153
keycloak-themes/base/account/messages/messages_zh_CN.properties
Normal file
153
keycloak-themes/base/account/messages/messages_zh_CN.properties
Normal file
@@ -0,0 +1,153 @@
|
||||
# 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} 个旧密码相同
|
||||
59
keycloak-themes/base/account/password.ftl
Normal file
59
keycloak-themes/base/account/password.ftl
Normal file
@@ -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>
|
||||
277
keycloak-themes/base/account/resource-detail.ftl
Normal file
277
keycloak-themes/base/account/resource-detail.ftl
Normal file
@@ -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>
|
||||
403
keycloak-themes/base/account/resources.ftl
Normal file
403
keycloak-themes/base/account/resources.ftl
Normal file
@@ -0,0 +1,403 @@
|
||||
<#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>
|
||||
${resource.ownerName}
|
||||
</td>
|
||||
<td>
|
||||
<#if resource.resourceServer.baseUri??>
|
||||
<a href="${resource.resourceServer.baseUri}">${resource.resourceServer.name}</a>
|
||||
<#else>
|
||||
${resource.resourceServer.name}
|
||||
</#if>
|
||||
</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>
|
||||
${resource.ownerName}
|
||||
</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>
|
||||
44
keycloak-themes/base/account/sessions.ftl
Normal file
44
keycloak-themes/base/account/sessions.ftl
Normal file
@@ -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>
|
||||
88
keycloak-themes/base/account/template.ftl
Normal file
88
keycloak-themes/base/account/template.ftl
Normal file
@@ -0,0 +1,88 @@
|
||||
<#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.stylesCommon?has_content>
|
||||
<#list properties.stylesCommon?split(' ') as style>
|
||||
<link href="${url.resourcesCommonPath}/${style}" rel="stylesheet" />
|
||||
</#list>
|
||||
</#if>
|
||||
<#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.getLogoutUrl()}">${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>
|
||||
1
keycloak-themes/base/account/theme.properties
Normal file
1
keycloak-themes/base/account/theme.properties
Normal file
@@ -0,0 +1 @@
|
||||
locales=ca,cs,da,de,en,es,fr,fi,hu,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN
|
||||
141
keycloak-themes/base/account/totp.ftl
Normal file
141
keycloak-themes/base/account/totp.ftl
Normal file
@@ -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>
|
||||
99
keycloak-themes/base/admin/index.ftl
Normal file
99
keycloak-themes/base/admin/index.ftl
Normal file
@@ -0,0 +1,99 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="shortcut icon" href="${resourceUrl}/img/favicon.ico">
|
||||
<#if properties.stylesCommon?has_content>
|
||||
<#list properties.stylesCommon?split(' ') as style>
|
||||
<link href="${resourceCommonUrl}/${style}" rel="stylesheet" />
|
||||
</#list>
|
||||
<#list properties.styles?split(' ') as style>
|
||||
<link href="${resourceUrl}/${style}" rel="stylesheet" />
|
||||
</#list>
|
||||
</#if>
|
||||
|
||||
<script type="text/javascript">
|
||||
var authServerUrl = '${authServerUrl}';
|
||||
var authUrl = '${authUrl}';
|
||||
var consoleBaseUrl = '${consoleBaseUrl}';
|
||||
var resourceUrl = '${resourceUrl}';
|
||||
var masterRealm = '${masterRealm}';
|
||||
var resourceVersion = '${resourceVersion}';
|
||||
</script>
|
||||
|
||||
<!-- Minimized versions (for those that have one) -->
|
||||
<script src="${resourceCommonUrl}/node_modules/jquery/dist/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/select2/select2.js" type="text/javascript"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular/angular.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-resource/angular-resource.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-route/angular-route.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-cookies/angular-cookies.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-sanitize/angular-sanitize.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-translate/dist/angular-translate.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-translate-loader-url/angular-translate-loader-url.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/angular-ui-select2/src/select2.js" type="text/javascript"></script>
|
||||
<script src="${resourceCommonUrl}/node_modules/autofill-event/autofill-event.js"></script>
|
||||
|
||||
<!-- Libraries not managed by yarn -->
|
||||
<script src="${resourceCommonUrl}/lib/angular/ui-bootstrap-tpls-0.11.0.js"></script>
|
||||
<script src="${resourceCommonUrl}/lib/angular/treeview/angular.treeview.js"></script>
|
||||
<script src="${resourceCommonUrl}/lib/fileupload/angular-file-upload.min.js"></script>
|
||||
<script src="${resourceCommonUrl}/lib/filesaver/FileSaver.js"></script>
|
||||
|
||||
<script src="${keycloakJsUrl}" type="text/javascript"></script>
|
||||
|
||||
<script src="${resourceUrl}/js/app.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/controllers/realm.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/controllers/clients.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/controllers/users.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/controllers/groups.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/controllers/roles.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/loaders.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/services.js" type="text/javascript"></script>
|
||||
|
||||
<!-- Authorization -->
|
||||
<script src="${resourceUrl}/js/authz/authz-app.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/authz/authz-controller.js" type="text/javascript"></script>
|
||||
<script src="${resourceUrl}/js/authz/authz-services.js" type="text/javascript"></script>
|
||||
|
||||
<#if properties.scripts?has_content>
|
||||
<#list properties.scripts?split(' ') as script>
|
||||
<script type="text/javascript" src="${resourceUrl}/${script}"></script>
|
||||
</#list>
|
||||
</#if>
|
||||
</head>
|
||||
<body data-ng-controller="GlobalCtrl" data-ng-cloak data-ng-show="auth.user">
|
||||
|
||||
<nav class="navbar navbar-default navbar-pf" role="navigation" data-ng-include data-src="resourceUrl + '/partials/menu.html'">
|
||||
</nav>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div data-ng-view id="view"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feedback-aligner" data-ng-show="notification.display">
|
||||
<div class="alert alert-{{notification.type}} alert-dismissable">
|
||||
<button type="button" class="close" data-ng-click="notification.remove()" id="notification-close">
|
||||
<span class="pficon pficon-close"/>
|
||||
</button>
|
||||
|
||||
<span class="pficon pficon-ok" ng-show="notification.type == 'success'"></span>
|
||||
<span class="pficon pficon-info" ng-show="notification.type == 'info'"></span>
|
||||
<span class="pficon pficon-warning-triangle-o" ng-show="notification.type == 'warning'"></span>
|
||||
<span class="pficon pficon-error-circle-o" ng-show="notification.type == 'danger'"></span>
|
||||
<strong>{{notification.header}}</strong> {{notification.message}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="loading" class="loading">Loading...</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
477
keycloak-themes/base/admin/messages/admin-messages_ca.properties
Normal file
477
keycloak-themes/base/admin/messages/admin-messages_ca.properties
Normal file
@@ -0,0 +1,477 @@
|
||||
# Common messages
|
||||
enabled=Habilitat
|
||||
name=Nom
|
||||
save=Desar
|
||||
cancel=Cancel\u00B7la
|
||||
onText=SI
|
||||
offText=NO
|
||||
client=Client
|
||||
clients=Clients
|
||||
clear=Neteja
|
||||
selectOne=Selecciona un...
|
||||
|
||||
true=S\u00ED
|
||||
false=No
|
||||
|
||||
|
||||
# Realm settings
|
||||
realm-detail.enabled.tooltip=Els usuaris i clients nom\u00E9s poden accedir a un domini si est\u00E0 habilitat
|
||||
registrationAllowed=Registre d''usuari
|
||||
registrationAllowed.tooltip=Habilitar/deshabilitar la p\u00E0gina de registre. Un enlla\u00E7 per al registre es mostrar\u00E0 tamb\u00E9 a la p\u00E0gina d''inici de sessi\u00F3.
|
||||
registrationEmailAsUsername=Email com a nom d''usuari
|
||||
registrationEmailAsUsername.tooltip=Si est\u00E0 habilitat el nom d''usuari queda ocult del formulari de registre i l''email es fa servir com a nom d''usuari per als nous usuaris.
|
||||
editUsernameAllowed=Edita el nom d''usuari
|
||||
editUsernameAllowed.tooltip=Si est\u00E0 habilitat, el nom d''usuari \u00E9s editable, altrament \u00E9s de nom\u00E9s lectura.
|
||||
resetPasswordAllowed=Oblit contrasenya
|
||||
resetPasswordAllowed.tooltip=Mostra un enlla\u00E7 a la p\u00E0gina d''inici de sessi\u00F3 perqu\u00E8 l''usuari faci clic quan ha oblidat les seves credencials.
|
||||
rememberMe=Mantenir connectat
|
||||
rememberMe.tooltip=Mostra la casella de selecci\u00F3 en la p\u00E0gina d''inici de sessi\u00F3 per a permetre a l''usuari estar connectat entre reinicis del navegador fins que la sessi\u00F3 expiri.
|
||||
verifyEmail=Verificar email
|
||||
verifyEmail.tooltip=For\u00E7ar l''usuari a verificar la seva adre\u00E7a de correu electr\u00F2nic la primera vegada que inici\u00EF sessi\u00F3.
|
||||
sslRequired=Sol\u00B7licitar SSL
|
||||
sslRequired.option.all=totes les peticions
|
||||
sslRequired.option.external=peticions externes
|
||||
sslRequired.option.none=cap
|
||||
sslRequired.tooltip=\u00C9s HTTP obligatori? ''cap'' significa que HTTPS no \u00E9s obligatori per cap direcic\u00F3n IP de client, ''peticions externes'' indica que localhost i les adreces IP privades poden accedir sense HTTPS, ''totes les peticions'' vol dir que HTTPS \u00E9s obligatori per a totes les adreces IP.
|
||||
publicKey=Clau p\u00FAblica
|
||||
gen-new-keys=Generar noves claus
|
||||
certificate=Certificat
|
||||
host=Host
|
||||
smtp-host=Host SMTP
|
||||
port=Port
|
||||
smtp-port=Port SMTP (per defecte 25)
|
||||
from=Des de
|
||||
sender-email-addr=Email del emissor
|
||||
enable-ssl=Habilitar SSL
|
||||
enable-start-tls=Habilitar StartTLS
|
||||
enable-auth=Habilitar autenticaci\u00F3
|
||||
username=Usuari
|
||||
login-username=Usuari
|
||||
password=Contrasenya
|
||||
login-password=Contrasenya
|
||||
login-theme=Tema d''inici de sessi\u00F3
|
||||
select-one=Selecciona un...
|
||||
login-theme.tooltip=Selecciona el tema per a les p\u00E0gines d''inici de sessi\u00F3, OTP, permisos, registre i recordatori de contrasenya.
|
||||
account-theme=Tema de compte
|
||||
account-theme.tooltip=Selecciona el tema per a les p\u00E0gines de gesti\u00F3 del compte d''usuari.
|
||||
admin-console-theme=Tema de consola d''administraci\u00F3
|
||||
select-theme-admin-console=Selecciona el tema per a la consola d''administraci\u00F3.
|
||||
email-theme=Tema d''email
|
||||
select-theme-email=Selecciona el tema per als correus electr\u00F2nics que s\u00F3n enviats pel servidor.
|
||||
i18n-enabled=Internacionalitzaci\u00F3 activa
|
||||
supported-locales=Idiomes suportats
|
||||
supported-locales.placeholder=Indica l''idioma i prem Intro
|
||||
default-locale=Idioma per defecte
|
||||
#missing-locale=Missing locale.
|
||||
#missing-file=Missing file. Please select a file to upload.
|
||||
#localization-file.upload.success=The localization data has been loaded from file.
|
||||
#localization-file.upload.error=The file can not be uploaded. Please verify the file.
|
||||
#localization-show=Show realm specific localizations
|
||||
#no-localizations-configured=No realm specific localizations configured
|
||||
#add-localization-text=Add localization text
|
||||
#locale.create.success=The Locale has been created.
|
||||
#localization-text.create.success=The localization text has been created.
|
||||
#localization-text.update.success=The localization text has been updated.
|
||||
#localization-text.remove.success=The localization text has been deleted.
|
||||
realm-cache-enabled=Cach\u00E9 de domini habilitada
|
||||
realm-cache-enabled.tooltip=Activar/desactivar la cach\u00E9 per al domini, client i dades de rols.
|
||||
user-cache-enabled=Cach\u00E9 d''usuari habilitada
|
||||
user-cache-enabled.tooltip=Habilitar/deshabilitar la cach\u00E9 d''usuaris i d''assignacions d''usuaris a rols.
|
||||
revoke-refresh-token=Revocar el token d''actualitzaci\u00F3
|
||||
revoke-refresh-token.tooltip=Si est\u00E0 activat els tokens d''actualitzaci\u00F3 nom\u00E9s poden usar-se una vegada. En un altre cas els tokens d''actualitzaci\u00F3 no es revoquen quan s''utilitzen i poden ser usat m\u00FAltiples vegades.
|
||||
sso-session-idle=Sessions SSO inactives
|
||||
seconds=Segons
|
||||
minutes=Minuts
|
||||
hours=Hores
|
||||
days=Dies
|
||||
sso-session-max=Temps m\u00E0xim sessi\u00F3 SSO
|
||||
sso-session-idle.tooltip=Temps m\u00E0xim que una sessi\u00F3 pot estar inactiva abans que expiri. Els tokens i sessions de navegador s\u00F3n invalidades quan la sessi\u00F3 expira.
|
||||
sso-session-max.tooltip=Temps m\u00E0xim abans que una sessi\u00F3 expiri. Els tokens i sessions de navegador s\u00F3n invalidats quan una sessi\u00F3 expira.
|
||||
offline-session-idle=Inactivitat de sessi\u00F3 sense connexi\u00F3
|
||||
offline-session-idle.tooltip=Temps m\u00E0xim inactiu d''una sessi\u00F3 sense connexi\u00F3 abans que expiri. Necessites fer servi un token sense connexi\u00F3 per refrescar almenys una vegada dins d'aquest per\u00EDode, en un altre cas la sessi\u00F3 sense connexi\u00F3 expirar\u00E0.
|
||||
access-token-lifespan=Durada del token d''acc\u00E9s
|
||||
access-token-lifespan.tooltip=Temps m\u00E0xim abans que un token d''acc\u00E9s expiri. Es recomana que aquest valor sigui curt en relaci\u00F3 al temps m\u00E0xim de SSO
|
||||
client-login-timeout=Temps m\u00E0xim d''autenticaci\u00F3
|
||||
client-login-timeout.tooltip=Temps m\u00E0xim que un client t\u00E9 per finalitzar el protocol d''obtenci\u00F3 del token d''acc\u00E9s. Hauria de ser normalment de l''ordre d''1 minut.
|
||||
login-timeout=Temps m\u00E0xim de desconnexi\u00F3
|
||||
login-timeout.tooltip=Temps m\u00E0xim que un usuari t\u00E9 per completar l''inici de sessi\u00F3. Es recomana que sigui relativament alt. 30 minuts o m\u00E9s.
|
||||
login-action-timeout=Temps m\u00E0xim d''acci\u00F3 en l''inici de sessi\u00F3
|
||||
login-action-timeout.tooltip=Temps m\u00E0xim que un usuari t\u00E9 per completar accions relacionades amb l''inici de sessi\u00F3, com l''actualitzaci\u00F3 de contrasenya o configuraci\u00F3 de OTP. \u00C9s recomanat que sigui relativament alt. 5 minuts o m\u00E9s.
|
||||
headers=Cap\u00E7aleres
|
||||
brute-force-detection=Detecci\u00F3 d''atacs per for\u00E7a bruta
|
||||
x-frame-options=X-Frame-Options
|
||||
click-label-for-info=Fes clic a l''enlla\u00E7 de l''etiqueta per obtenir m\u00E9s informaci\u00F3. El valor per defecte evita que les p\u00E0gines siguin incloses des d'iframes externs.
|
||||
content-sec-policy=Content-Security-Policy
|
||||
max-login-failures=Nombre m\u00E0xim d''errors d''inici de sessi\u00F3
|
||||
max-login-failures.tooltip=Indica quants errors es permeten abans que es dispari una espera.
|
||||
wait-increment=Increment d''espera
|
||||
wait-increment.tooltip=Quan s''ha arribat al llindar d''error, quant de temps ha d''estar un usuari bloquejat?
|
||||
quick-login-check-millis=Temps en mil\u00B7lisegons entre inicis de sessi\u00F3 r\u00E0pids
|
||||
quick-login-check-millis.tooltip=Si ocorren errors de forma concurrent i molt r\u00E0pida, bloquejar a l''usuari.
|
||||
min-quick-login-wait=Temps m\u00EDnim entre errors de connexi\u00F3 r\u00E0pids
|
||||
min-quick-login-wait.tooltip=Quant de temps s''ha d''esperar despr\u00E9s d''un error en un intent r\u00E0pid d''identificaci\u00F3
|
||||
max-wait=Espera m\u00E0xima
|
||||
max-wait.tooltip=Temps m\u00E0xim que un usuari queda bloquejat.
|
||||
failure-reset-time=Reinici del comptador d''errors
|
||||
failure-reset-time.tooltip=Quan s''ha de reiniciar el comptador d''errors?
|
||||
realm-tab-login=Inici de sessi\u00F3
|
||||
realm-tab-keys=Claus
|
||||
realm-tab-email=Email
|
||||
realm-tab-themes=Temes
|
||||
#realm-tab-localization=Localization
|
||||
realm-tab-cache=Cach\u00E9
|
||||
realm-tab-tokens=Tokens
|
||||
realm-tab-security-defenses=Defenses de seguretat
|
||||
realm-tab-general=General
|
||||
add-realm=Afegir domini
|
||||
|
||||
#Session settings
|
||||
realm-sessions=Sessions de domini
|
||||
revocation=Revocaci\u00F3
|
||||
logout-all=Desconnectar tot
|
||||
active-sessions=Sessions actives
|
||||
sessions=Sessions
|
||||
not-before=No abans de
|
||||
not-before.tooltip=Revocar qualsevol token em\u00E8s abans d''aquesta data.
|
||||
set-to-now=Fixar a ara
|
||||
push=Push
|
||||
push.tooltip=Per a cada client que t\u00E9 un URL d''administraci\u00F3, notificar les noves pol\u00EDtiques de revocaci\u00F3.
|
||||
|
||||
#Protocol Mapper
|
||||
usermodel.prop.label=Propietat
|
||||
usermodel.prop.tooltip=Nom del m\u00E8tode de propietat en la interf\u00EDcie UserModel. Per exemple, un valor de ''email'' faria refer\u00E8ncia al m\u00E8tode UserModel.getEmail().
|
||||
usermodel.attr.label=Atribut d''usuari
|
||||
usermodel.attr.tooltip=Nom de l''atribut d''usuari emmagatzemat que \u00E9s el nom de l''atribut dins el map UserModel.attribute.
|
||||
userSession.modelNote.label=Nota sessi\u00F3 usuari
|
||||
userSession.modelNote.tooltip=Nom de la nota emmagatzemada en la sessi\u00F3 d''usuari dins del mapa UserSessionModel.note
|
||||
multivalued.label=Valors m\u00FAltiples
|
||||
multivalued.tooltip=Indica si l''atribut suporta m\u00FAltiples valors. Si est\u00E0 habilitat, la llista de tots els valors d''aquest atribut es fixar\u00E0 com a reclamaci\u00F3. Si est\u00E0 deshabilitat, nom\u00E9s el primer valor ser\u00E0 fixat com a reclamaci\u00F3.
|
||||
selectRole.label=Selecciona rol
|
||||
selectRole.tooltip=Introdueix el rol a la caixa de text de l''esquerra, o fes clic a aquest bot\u00F3 per navegar i buscar el rol que vols.
|
||||
tokenClaimName.label=Nom de reclam del token
|
||||
tokenClaimName.tooltip=Nom del reclam a inserir en el testimoni. Pot ser un nom complet com ''address.street''. En aquest cas, es crear\u00E0 un objecte JSON niat.
|
||||
jsonType.label=Tipus JSON de reclamaci\u00F3
|
||||
jsonType.tooltip=El tipus de JSON que hauria de fer-se servir per omplir la petici\u00F3 de JSON en el token. long, int, boolean i String s\u00F3n valors v\u00E0lids
|
||||
includeInIdToken.label=Afegir al token d''ID
|
||||
includeInAccessToken.label=Afegir al token d''acc\u00E9s
|
||||
includeInAccessToken.tooltip=S''hauria d'afegir la identitat reclamada al token d''acc\u00E9s?
|
||||
|
||||
|
||||
# client details
|
||||
clients.tooltip=Els clients s\u00F3n aplicacions de navegador de confian\u00E7a i serveis web d''un domini. Aquests clients poden sol\u00B7licitar un inici de sessi\u00F3. Tamb\u00E9 pots definir rols espec\u00EDfics de client.
|
||||
search.placeholder=Cercar...
|
||||
create=Crea
|
||||
import=Importar
|
||||
client-id=ID Client
|
||||
base-url=URL Base
|
||||
actions=Accions
|
||||
not-defined=No definit
|
||||
edit=Edita
|
||||
delete=Esborra
|
||||
no-results=Sense resultats
|
||||
no-clients-available=No hi ha clients disponibles
|
||||
add-client=Afegir Client
|
||||
select-file=Selecciona arxiu
|
||||
view-details=Veure detalls
|
||||
clear-import=Neteja importaci\u00F3
|
||||
client-id.tooltip=Indica l''identificador (ID) referenciat en URIs i tokens. Per exemple ''my-client''
|
||||
client.name.tooltip=Indica el nom visible del client. Per exemple ''My Client''. Tamb\u00E9 suporta claus per valors localitzats. Per exemple: ${my_client}
|
||||
client.enabled.tooltip=Els clients deshabilitats no poden iniciar una identificaci\u00F3 o obtenir codis d''acc\u00E9s.
|
||||
consent-required=Consentiment necessari
|
||||
consent-required.tooltip=Si est\u00E0 habilitat, els usuaris han de consentir l''acc\u00E9s del client.
|
||||
direct-grants-only=Nom\u00E9s permisos directes
|
||||
direct-grants-only.tooltip=Quan est\u00E0 habilitat, el client nom\u00E9s pot obtenir permisos de l''API REST.
|
||||
client-protocol=Protocol del Client
|
||||
client-protocol.tooltip=''OpenID connect'' permet als clients verificar la identitat de l''usuari final basat en l''autenticaci\u00F3 realitzada per un servidor d''autoritzaci\u00F3. ''SAML'' habilita l''autenticaci\u00F3 i autoritzaci\u00F3 d''escenaris basats en web incloent cross-domain i single sign-on (SSO) i utilitza tokens de seguretat que contenen afirmacions per passar informaci\u00F3.
|
||||
access-type=Tipus d''acc\u00E9s
|
||||
access-type.tooltip=Els clients ''Confidential'' necessiten un secret per iniciar el protocol d''identificaci\u00F3. Els clients ''Public'' no requereixen un secret. Els clients 'Bearer-only' s\u00F3n serveis web que mai inicien un login.
|
||||
service-accounts-enabled=Comptes de servei habilitades
|
||||
service-accounts-enabled.tooltip=Permetre autenticar aquest client contra Keycloak i rebre un token d''acc\u00E9s dedicat per a aquest client.
|
||||
include-authnstatement=Incloure AuthnStatement
|
||||
include-authnstatement.tooltip=Hauria d''incloure''s una declaraci\u00F3 especificant el m\u00E8tode i la marca de temps en la resposta d''inici de sessi\u00F3?
|
||||
sign-documents=Signar documents
|
||||
sign-documents.tooltip=Hauria el domini de signar els documents SAML?
|
||||
sign-assertions=Signar assercions
|
||||
sign-assertions.tooltip=Haurien de signar-se les assercions en documents SAML? Aquest ajust no \u00E9s necessari si el document ja s''est\u00E0 signant.
|
||||
signature-algorithm=Algorisme de signatura
|
||||
signature-algorithm.tooltip=L''algorisme de signatura usat per signar els documents.
|
||||
canonicalization-method=M\u00E8tode de canonicalitzaci\u00F3
|
||||
canonicalization-method.tooltip=M\u00E8tode de canonicalitzaci\u00F3 per a les signatures XML
|
||||
encrypt-assertions=Xifrar afirmacions
|
||||
encrypt-assertions.tooltip=Haurien de xifrar-se les afirmacions SAML amb la clau p\u00FAblica del client fent servir AES?
|
||||
client-signature-required=Signatura de Client requerida
|
||||
client-signature-required.tooltip=Signar\u00E0 el client les seves peticions i respostes SAML? I haurien de ser validades?
|
||||
force-post-binding=For\u00E7ar enlla\u00E7os POST
|
||||
force-post-binding.tooltip=Fer servir sempre POST per a les respostes
|
||||
front-channel-logout=Desconnexi\u00F3 en primer pla (Front Channel)
|
||||
front-channel-logout.tooltip=Quan est\u00E0 activat, la desconnexi\u00F3 requereix una redirecci\u00F3 del navegador cap al client. Quan no est\u00E0 activat, el servidor realitza una invovaci\u00F3n de desconnexi\u00F3 en segon pla.
|
||||
force-name-id-format=For\u00E7ar format NameID
|
||||
force-name-id-format.tooltip=Ignorar la petici\u00F3 de subjecte NameID i fer servir la configurada a la consola d''administraci\u00F3.
|
||||
name-id-format=Format de NameID
|
||||
name-id-format.tooltip=El format de NameID que es far\u00E0 servir per al t\u00EDtol
|
||||
root-url=URL arrel
|
||||
root-url.tooltip=URL arrel afegida a les URL relatives
|
||||
valid-redirect-uris=URIs de redirecci\u00F3 v\u00E0lides
|
||||
valid-redirect-uris.tooltip=Patr\u00F3 d''URI v\u00E0lida per a la qual un navegador pot sol\u00B7licitar la redirecci\u00F3 despr\u00E9s d''un inici o tancament de sessi\u00F3 completat. Es permeten comodins simples p.ex. ''http://example.com/*''. Tamb\u00E9 es poden indicar rutes relatives p.ex. ''/my/relative/path/*''. Les rutes relatives generaran un URI de redirecci\u00F3 fent servir el host i port de la petici\u00F3. Per SAML, s''han de fixar patrons d''URI v\u00E0lids si vols confiar en l''URL del servei del consumidor indicada en la petici\u00F3 d''inici de sessi\u00F3.
|
||||
base-url.tooltip=URL per defecte per utilitzar quan el servidor d''autoritzaci\u00F3 necessita redirigir o enviar de tornada al client.
|
||||
admin-url=URL d''administraci\u00F3
|
||||
admin-url.tooltip=URL a la interf\u00EDcie d''administraci\u00F3 del client. Fixa aquest valor si el client suporta l''adaptador de REST. Aquesta API REST permet al servidor d''autenticaci\u00F3 enviar al client pol\u00EDtiques de revocaci\u00F3 i altres tasques administratives. Normalment es fixa a l''URL base del client.
|
||||
master-saml-processing-url=URL principal de processament SAML
|
||||
master-saml-processing-url.tooltip=Si est\u00E0 configurada, aquesta URL es fara servir per a cada enlla\u00E7 al prove\u00EFdor del servei del consumidor d''assercions i serveis de desconnexi\u00F3 \u00FAnics. Pot ser sobreescrit de forma individual per a cada enlla\u00E7 i servei en el punt final de configuraci\u00F3 fina de SAML.
|
||||
idp-sso-url-ref=Nom de la URL d''un SSO iniciat per l''IDP
|
||||
idp-sso-url-ref.tooltip=Nom del fragment de l''URL per referenciar al client quan vols un SSO iniciat per l''IDP. Deixant aix\u00F2 buit desactiva els SSO iniciats per l''IDP. L''URL referenciada des del navegador ser\u00E0: {server-root}/realms/{realm}/protocol/saml/clients/{client-url-name}
|
||||
idp-sso-relay-state=Estat de retransmissi\u00F3 d''un SSO iniciat per l''IDP
|
||||
idp-sso-relay-state.tooltip=Estat de retransmissi\u00F3 que vols enviar amb una petici\u00F3 SAML quan s''inicia un SSO iniciat per l''IDP
|
||||
web-origins=Or\u00EDgens web
|
||||
web-origins.tooltip=Or\u00EDgens CORS permesos. Per permetre tots els or\u00EDgens d''URIs de redirecci\u00F3 v\u00E0lides afegeix ''+''. Per permetre tots els or\u00EDgens afegeix ''*''.
|
||||
fine-saml-endpoint-conf=Fine Grain SAML Endpoint Configuration
|
||||
fine-saml-endpoint-conf.tooltip=Expandeix aquesta secci\u00F3 per configurar les URL exactes per Assertion Consumer i Single Logout Service.
|
||||
assertion-consumer-post-binding-url=Assertion Consumer Service POST Binding URL
|
||||
assertion-consumer-post-binding-url.tooltip=SAML POST Binding URL for the client''s assertion consumer service (login responses). You can leave this blank if you do not have a URL for this binding.
|
||||
assertion-consumer-redirect-binding-url=Assertion Consumer Service Redirect Binding URL
|
||||
assertion-consumer-redirect-binding-url.tooltip=Assertion Consumer Service Redirect Binding URL
|
||||
logout-service-post-binding-url=URL d''enlla\u00E7 SAML POST per a la desconnexi\u00F3
|
||||
logout-service-post-binding-url.tooltip=URL d''enlla\u00E7 SAML POST per a la desconnexi\u00F3 \u00FAnica del client. Pots deixar-ho en blanc si est\u00E0s fent servir un enlla\u00E7 diferent.
|
||||
logout-service-redir-binding-url=URL d''enlla\u00E7 SAML de redirecci\u00F3 per a la desconnexi\u00F3
|
||||
logout-service-redir-binding-url.tooltip=URL d''enlla\u00E7 SAML de redirecci\u00F3 per a la desconnexi\u00F3 \u00FAnica del client. Pots deixar-ho en blanc si est\u00E0s fent servir un enlla\u00E7 diferent.
|
||||
|
||||
# client import
|
||||
import-client=Importar Client
|
||||
format-option=Format
|
||||
select-format=Selecciona un format
|
||||
import-file=Arxiu d''Importaci\u00F3
|
||||
|
||||
# client tabs
|
||||
settings=Ajustos
|
||||
credentials=Credencials
|
||||
roles=Rols
|
||||
mappers=Assignadors
|
||||
mappers.tooltip=Els assignadors de protocols realitzen transformacions en tokens i documents. Poden fer coses com assignar dades d''usuari en peticions de protocol, o simplement transformar qualsevol petici\u00F3 entre el client i el servidor d''autenticaci\u00F3.
|
||||
scope=\u00C0mbit
|
||||
scope.tooltip=Les assignacions d''\u00E0mbit et permeten restringir que assignacions de rols d''usuari s''inclouen en el testimoni d''acc\u00E9s sol\u00B7licitat pel client.
|
||||
sessions.tooltip=Veure sessions actives per a aquest client. Permet veure quins usuaris estan actius i quan es van identificar.
|
||||
offline-access=Acc\u00E9s sense connexi\u00F3
|
||||
offline-access.tooltip=Veure sessions sense connexi\u00F3 per aquest client. Et permet veure que usuaris han sol\u00B7licitat tokens sense connexi\u00F3 i quan els van sol\u00B7licitar. Per revocar tots els tokens del client, accedeix a la pestanya de Revocaci\u00F3 i fixa el valor \"No abans de\" a \"now\".
|
||||
clustering=Clustering
|
||||
installation=Instal\u00B7laci\u00F3
|
||||
installation.tooltip=Eina d''ajuda per generar la configuraci\u00F3 de diversos formats d''adaptadors de client que pots descarregar o copiar i enganxar per configurar teus clients.
|
||||
service-account-roles=Rols de compte de servei
|
||||
service-account-roles.tooltip=Permetre autenticar assignacions de rol per el compte de servei dedicat a aquest client.
|
||||
|
||||
# client credentials
|
||||
client-authenticator=Client autenticador
|
||||
client-authenticator.tooltip=Client autenticador usat per autenticar aquest client contra el servidor Keycloak
|
||||
certificate.tooltip=Certificat de client per validar els JWT emesos per aquest client i signats amb la clau privada del client del teu magatzem de claus.
|
||||
no-client-certificate-configured=No s''ha configurat el certificat de client
|
||||
gen-new-keys-and-cert=Generar noves claus i certificat
|
||||
import-certificate=Importar Certificat
|
||||
gen-client-private-key=Generar clau privada de client
|
||||
generate-private-key=Generar clau privada
|
||||
archive-format=Format d''Arxiu
|
||||
archive-format.tooltip=Format d''arxiu Java keystore o PKCS12
|
||||
key-alias=\u00C0lies de clau
|
||||
key-alias.tooltip=\u00C0lies de l''arxiu de la teva clau privada i certificat.
|
||||
key-password=Contrasenya de la clau
|
||||
key-password.tooltip=Contrasenya per accedir a la clau privada continguda en l''arxiu
|
||||
store-password=Contrasenya del magatzem
|
||||
store-password.tooltip=Contrasenya per accedir a l''arxiu
|
||||
generate-and-download=Generar i descarregar
|
||||
client-certificate-import=Importaci\u00F3 de certificat de client
|
||||
import-client-certificate=Importar Certificat de Client
|
||||
jwt-import.key-alias.tooltip=\u00C0lies de l''arxiu del teu certificat.
|
||||
secret=Secret
|
||||
regenerate-secret=Regenerar secret
|
||||
add-role=Afegir rol
|
||||
role-name=Nom de rol
|
||||
composite=Compost
|
||||
description=Descripci\u00F3
|
||||
no-client-roles-available=No hi ha rols de client disponibles
|
||||
scope-param-required=Par\u00E0metre d''\u00E0mbit obligatori
|
||||
scope-param-required.tooltip=Aquest rol nom\u00E9s ser\u00E0 concedit si el par\u00E0metre d''\u00E0mbit amb el nom del rol \u00E9s usat durant la petici\u00F3 d''autoritzaci\u00F3/obtenci\u00F3 de token.
|
||||
composite-roles=Rols compostos
|
||||
composite-roles.tooltip=Quan aquest paper \u00E9s assignat/desassignat a un usuari qualsevol rol associat amb ell ser\u00E0 assignat/desassignat de forma impl\u00EDcita.
|
||||
realm-roles=Rols de domini
|
||||
available-roles=Rols Disponibles
|
||||
add-selected=Afegeix seleccionat
|
||||
associated-roles=Rols Associats
|
||||
composite.associated-realm-roles.tooltip=Rols a nivell de domini associats amb aquest rol compost.
|
||||
composite.available-realm-roles.tooltip=Rols a nivell de domini disponibles en aquest paper compost.
|
||||
remove-selected=Esborrar seleccionats
|
||||
client-roles=Rols de Client
|
||||
select-client-to-view-roles=Selecciona el client per veure els seus rols
|
||||
available-roles.tooltip=Rols d''aquest client que pots associar a aquest rol compost.
|
||||
client.associated-roles.tooltip=Rols de client associats amb aquest rol compost.
|
||||
add-builtin=Afegeix Builtin
|
||||
category=Categoria
|
||||
type=Tipus
|
||||
no-mappers-available=No hi ha assignadors disponibles
|
||||
add-builtin-protocol-mappers=Afegeix Builtin Protocol Mappers
|
||||
add-builtin-protocol-mapper=Afegeix Builtin Protocol Mapper
|
||||
scope-mappings=Assignacions d''\u00E0mbit
|
||||
full-scope-allowed=Permet tots els \u00E0mbits
|
||||
full-scope-allowed.tooltip=Permet deshabilitar totes les restriccions.
|
||||
scope.available-roles.tooltip=Rols de domini que poden ser assignats a l''\u00E0mbit
|
||||
assigned-roles=Rols Assignats
|
||||
assigned-roles.tooltip=Rols a nivell de domini assignats a aquest \u00E0mbit.
|
||||
effective-roles=Rols efectius
|
||||
realm.effective-roles.tooltip=Rols de domini assignats que poden haver estat heretats d''un rol compost.
|
||||
select-client-roles.tooltip=Selecciona el client per veure els seus rols
|
||||
assign.available-roles.tooltip=Rols de clients disponibles per ser assignats.
|
||||
client.assigned-roles.tooltip=Rols de client assignats
|
||||
client.effective-roles.tooltip=Rols de client assignats que poden haver estat heretats des d''un rol compost.
|
||||
basic-configuration=Configuraci\u00F3 b\u00E0sica
|
||||
node-reregistration-timeout=Temps d''espera de re-registre de node
|
||||
node-reregistration-timeout.tooltip=Indica el m\u00E0xim interval de temps perqu\u00E8 els nodes del cl\u00FAster registrats es tornin a registrar. Si el node del cl\u00FAster no envia una petici\u00F3 de re-registre a Keycloak dins d''aquest interval, ser\u00E0 desregistrat de Keycloak
|
||||
registered-cluster-nodes=Registrar nodes de cl\u00FAster
|
||||
register-node-manually=Registrar node manualment
|
||||
test-cluster-availability=Provar disponibilitat del cl\u00FAster
|
||||
last-registration=\u00DAltim registre
|
||||
node-host=Host del node
|
||||
no-registered-cluster-nodes=No hi ha nodes de cl\u00FAster registrats disponibles
|
||||
cluster-nodes=Nodes de cl\u00FAster
|
||||
add-node=Afegir Node
|
||||
active-sessions.tooltip=Nombre total de sessions actives per a aquest client.
|
||||
show-sessions=Mostrar sessions
|
||||
show-sessions.tooltip=Advert\u00E8ncia, aquesta \u00E9s una operaci\u00F3 potencialment costosa depenent del nombre de sessions actives.
|
||||
user=Usuari
|
||||
from-ip=Des de IP
|
||||
session-start=Inici de sessi\u00F3
|
||||
first-page=Primera p\u00E0gina
|
||||
previous-page=P\u00E0gina Anterior
|
||||
next-page=P\u00E0gina seg\u00FCent
|
||||
client-revoke.not-before.tooltip=Revocar tots els tokens emesos abans d''aquesta data per a aquest client.
|
||||
client-revoke.push.tooltip=Si l''URL d''administraci\u00F3 est\u00E0 configurada per a aquest client, envia aquesta pol\u00EDtica a aquest client.
|
||||
select-a-format=Selecciona un format
|
||||
download=Descarrega
|
||||
offline-tokens=Tokens sense connexi\u00F3
|
||||
offline-tokens.tooltip=Nombre total de tokens sense connexi\u00F3 d''aquest client.
|
||||
show-offline-tokens=Mostrar tokens sense connexi\u00F3
|
||||
show-offline-tokens.tooltip=Advert\u00E8ncia, aquesta \u00E9s una operaci\u00F3 potencialment costosa depenent del nombre de tokens sense connexi\u00F3.
|
||||
token-issued=Token expedit
|
||||
last-access=\u00DAltim Acc\u00E9s
|
||||
last-refresh=\u00DAltima actualitzaci\u00F3
|
||||
key-export=Exportar clau
|
||||
key-import=Importar clau
|
||||
export-saml-key=Exporta clau SAML
|
||||
import-saml-key=Importar clau SAML
|
||||
realm-certificate-alias=\u00C0lies del certificat del domini
|
||||
realm-certificate-alias.tooltip=El certificat del domini \u00E9s emmagatzemat en arxiu. Aquest \u00E9s l''\u00E0lies a aquest.
|
||||
signing-key=Clau de firma
|
||||
saml-signing-key=Clau de firma SAML.
|
||||
private-key=Clau Privada
|
||||
generate-new-keys=Generar noves claus
|
||||
export=Exporta
|
||||
encryption-key=Clau de xifrat
|
||||
saml-encryption-key.tooltip=Clau de xifrat de SAML
|
||||
service-accounts=Comptes de servei
|
||||
service-account.available-roles.tooltip=Rols de domini que poden ser assignats al compte del servei.
|
||||
service-account.assigned-roles.tooltip=Rols de domini assignats al compte del servei.
|
||||
service-account-is-not-enabled-for=El compte del servei no est\u00E0 habilitada per {{client}}
|
||||
create-protocol-mappers=Crea assignadors de protocol
|
||||
create-protocol-mapper=Crea assignador de protocol
|
||||
protocol=Protocol
|
||||
protocol.tooltip=Protocol.
|
||||
id=ID
|
||||
mapper.name.tooltip=Nom de l''assignador.
|
||||
mapper.consent-required.tooltip=Quan es concedeix acc\u00E9s temporal, \u00E9s necessari el consentiment de l''usuari per a proporcinar aquestes dades al client?
|
||||
consent-text=Text del consentiment
|
||||
consent-text.tooltip=Text per mostrar a la p\u00E0gina de consentiment.
|
||||
mapper-type=Tipus d''assignador
|
||||
|
||||
# realm identity providers
|
||||
identity-providers=Prove\u00EFdors d''identitat
|
||||
table-of-identity-providers=Taula de prove\u00EFdors d''identitat
|
||||
add-provider.placeholder=Afegir prove\u00EFdor...
|
||||
provider=Prove\u00EFdor
|
||||
gui-order=Ordre en la interf\u00EDcie gr\u00E0fica (GUI)
|
||||
redirect-uri=URI de redirecci\u00F3
|
||||
redirect-uri.tooltip=L''URI de redirecci\u00F3 usada per configurar el prove\u00EFdor d''identitat.
|
||||
alias=\u00C0lies
|
||||
identity-provider.alias.tooltip=L''\u00E0lies que identifica de forma \u00FAnica un prove\u00EFdor d''identitat, es far servir tamb\u00E9 per construir la URI de redirecci\u00F3.
|
||||
identity-provider.enabled.tooltip=Habilita/deshabilita aquest prove\u00EFdor d''identitat.
|
||||
authenticate-by-default=Autenticar per defecte
|
||||
identity-provider.authenticate-by-default.tooltip=Indica si aquest prove\u00EFdor hauria de ser provat per defecte per autenticacaci\u00F3n fins i tot abans de mostrar la p\u00E0gina d''inici de sessi\u00F3.
|
||||
store-tokens=Emmagatzemar tokens
|
||||
identity-provider.store-tokens.tooltip=Habilitar/deshabilitar si els tokens han de ser emmagatzemats despr\u00E9s d''autenticar als usuaris.
|
||||
stored-tokens-readable=Tokens emmagatzemats llegibles
|
||||
identity-provider.stored-tokens-readable.tooltip=Habilitar/deshabilitar si els nous usuaris poden llegir els tokens emmagatzemats. Aix\u00F2 assigna el rol ''broker.read-token''.
|
||||
update-profile-on-first-login=Actualitzar perfil al primer inici de sessi\u00F3
|
||||
on=Activat
|
||||
on-missing-info=Si falta informaci\u00F3
|
||||
off=Desactivat
|
||||
update-profile-on-first-login.tooltip=Defineix condicions sota les quals un usuari ha de actualitzar el seu perfil durant el primer inici de sessi\u00F3.
|
||||
trust-email=Confiar en l''email
|
||||
trust-email.tooltip=Si est\u00E0 habilitat, l''email rebut d''aquest prove\u00EFdor no es verificar\u00E0 encara que la verificaci\u00F3 estigui habilitada per al domini.
|
||||
gui-order.tooltip=N\u00FAmero que defineix l''ordre del prove\u00EFdor en la interf\u00EDcie gr\u00E0fica (GUI) (ex. a la p\u00E0gina d''inici de sessi\u00F3)
|
||||
openid-connect-config=Configuraci\u00F3 d''OpenID Connect
|
||||
openid-connect-config.tooltip=Configuraci\u00F3 d''OIDC SP i IDP externs
|
||||
authorization-url=URL d''autoritzaci\u00F3
|
||||
authorization-url.tooltip=La URL d''autoritzaci\u00F3.
|
||||
token-url=Token URL
|
||||
token-url.tooltip=L''URL del token.
|
||||
logout-url=URL de desconnexi\u00F3
|
||||
identity-provider.logout-url.tooltip=Punt de tancament de sessi\u00F3 per utilitzar en la desconnexi\u00F3 d''usuaris des d''un prove\u00EFdor d''identitat (IDP) extern.
|
||||
backchannel-logout=Backchannel Logout
|
||||
backchannel-logout.tooltip=Does the external IDP support backchannel logout?
|
||||
user-info-url=URL d''informaci\u00F3 d''usuari
|
||||
user-info-url.tooltip=L''URL d''informaci\u00F3 d''usuari. Opcional.
|
||||
identity-provider.client-id.tooltip=El client o identificador de client registrat en el prove\u00EFdor d''identitat.
|
||||
client-secret=Secret de Client
|
||||
show-secret=Mostrar secret
|
||||
hide-secret=Amaga secret
|
||||
client-secret.tooltip=El client o el secret de client registrat en el prove\u00EFdor d''identitat.
|
||||
issuer=Emissor
|
||||
issuer.tooltip=L''identificador de l''emissor per a l''emissor de la resposta. Si no s''indica, no es realitzar\u00E0 cap validaci\u00F3.
|
||||
default-scopes=\u00C0mbits per defecte
|
||||
identity-provider.default-scopes.tooltip=Els \u00E0mbits que s''enviaran quan es sol\u00B7liciti autoritzaci\u00F3. Pot ser una llista d''\u00E0mbits separats per espais. El valor per defecte \u00E9s ''openid''.
|
||||
prompt=Prompt
|
||||
unspecified.option=no especificat
|
||||
none.option=cap
|
||||
consent.option=consentiment
|
||||
login.option=login
|
||||
select-account.option=select_account
|
||||
prompt.tooltip=Indica si el servidor d''autoritzaci\u00F3 sol\u00B7licita a l''usuari final per reautenticaci\u00F3n i consentiment.
|
||||
validate-signatures=Validar signatures
|
||||
identity-provider.validate-signatures.tooltip=Habilitar/deshabilitar la validaci\u00F3 de signatures de prove\u00EFdors d''identitat (IDP) externs
|
||||
validating-public-key=Validant clau p\u00FAblica
|
||||
identity-provider.validating-public-key.tooltip=La clau p\u00FAblica en format PEM que ha de fer-se servir per verificar les signatures de prove\u00EFdors d''identitat (IDP) externs.
|
||||
import-external-idp-config=Importar configuraci\u00F3 externa d''IDP
|
||||
import-external-idp-config.tooltip=Et permet carregar metadades d''un prove\u00EFdor d''identitat (IDP) extern d''un arxiu de coniguraci\u00F3n o descarregar des d''una URL.
|
||||
import-from-url=Importar des d''URL
|
||||
identity-provider.import-from-url.tooltip=Importa metadades des d''un descriptor d''un prove\u00EFdor d''identitat (IDP) remot.
|
||||
import-from-file=Importa des d''arxiu
|
||||
identity-provider.import-from-file.tooltip=Importa metadades des d''un descriptor d''un prove\u00EFdor d''identitat (IDP) descarregat.
|
||||
saml-config=Configuraci\u00F3 SAML
|
||||
identity-provider.saml-config.tooltip=Configuraci\u00F3 de prove\u00EFdor SAML i IDP extern
|
||||
single-signon-service-url=URL de servei de connexi\u00F3 \u00FAnic (SSO)
|
||||
saml.single-signon-service-url.tooltip=L''URL que s''ha de fer servir per enviar peticions d''autenticaci\u00F3 (SAML AuthnRequest).
|
||||
single-logout-service-url=URL de servei de desconnexi\u00F3 \u00FAnic
|
||||
saml.single-logout-service-url.tooltip=L''URL que ha de fer-se servir per enviar peticions de desconnexi\u00F3.
|
||||
nameid-policy-format=Format de pol\u00EDtica NameID
|
||||
nameid-policy-format.tooltip=Indica la refer\u00E8ncia a la URI corresponent a un format de NameID. El valor per defecte \u00E9s urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.
|
||||
http-post-binding-response=HTTP-POST enlla\u00E7 de resposta
|
||||
http-post-binding-response.tooltip=Indica si es respon a les peticions fent servir HTTP-POST. Si no est\u00E0 activat, es far servir HTTP-REDIRECT.
|
||||
http-post-binding-for-authn-request=HTTP-POST per AuthnRequest
|
||||
http-post-binding-for-authn-request.tooltip=Indica si AuthnRequest ha de ser enviat usant HTTP-POST. Si no est\u00E0 activat es fa HTTP-REDIRECT.
|
||||
want-authn-requests-signed=Signar AuthnRequests
|
||||
want-authn-requests-signed.tooltip=Indica si el prove\u00EFdor d''identitat espera rebre signades les AuthnRequest.
|
||||
force-authentication=For\u00E7ar autenticaci\u00F3
|
||||
identity-provider.force-authentication.tooltip=Indica si el prove\u00EFdor d''identitat ha d'autenticar en presentar directament les credencials en lloc de dependre d''un context de seguretat previ.
|
||||
validate-signature=Validar signatura
|
||||
saml.validate-signature.tooltip=Habilitar/deshabilitar la validaci\u00F3 de signatura en respostes SAML.
|
||||
validating-x509-certificate=Validant certificat X509
|
||||
validating-x509-certificate.tooltip=El certificat en format PEM que ha de fer-se servir per comprovar les signatures.
|
||||
saml.import-from-url.tooltip=Importar metadades des d''un descriptor d'entitat remot d''un IDP de SAML
|
||||
social.client-id.tooltip=L''identificador del client registrat amb el prove\u00EFdor d''identitat.
|
||||
social.client-secret.tooltip=El secret del client registrat amb el prove\u00EFdor d''identitat.
|
||||
social.default-scopes.tooltip=\u00C0mbits que s''enviaran quan es sol\u00B7liciti autoritzaci\u00F3. Veure la documentaci\u00F3 per als possibles valors, separador i valor per defecte.
|
||||
key=Clau
|
||||
stackoverflow.key.tooltip=La clau obtinguda en el registre del client de Stack Overflow.
|
||||
|
||||
realms=Dominis
|
||||
realm=Domini
|
||||
|
||||
identity-provider-mappers=Assignadors de prove\u00EFdors d''identitat (IDP)
|
||||
create-identity-provider-mapper=Crea assignador de prove\u00EFdor d''identitat (IDP)
|
||||
add-identity-provider-mapper=Afegeix assignador de prove\u00EFdor d''identitat
|
||||
client.description.tooltip=Indica la descripci\u00F3 del client. Per exemple ''My Client for TimeSheets''. Tamb\u00E9 suporta claus per a valors localitzats. Per exemple: ${my_client_description}
|
||||
1627
keycloak-themes/base/admin/messages/admin-messages_de.properties
Normal file
1627
keycloak-themes/base/admin/messages/admin-messages_de.properties
Normal file
File diff suppressed because it is too large
Load Diff
2024
keycloak-themes/base/admin/messages/admin-messages_en.properties
Normal file
2024
keycloak-themes/base/admin/messages/admin-messages_en.properties
Normal file
File diff suppressed because it is too large
Load Diff
479
keycloak-themes/base/admin/messages/admin-messages_es.properties
Normal file
479
keycloak-themes/base/admin/messages/admin-messages_es.properties
Normal file
@@ -0,0 +1,479 @@
|
||||
# Common messages
|
||||
enabled=Habilitado
|
||||
name=Nombre
|
||||
save=Guardar
|
||||
cancel=Cancelar
|
||||
onText=SI
|
||||
offText=NO
|
||||
client=Cliente
|
||||
clients=Clientes
|
||||
clear=Limpiar
|
||||
selectOne=Selecciona uno...
|
||||
|
||||
true=S\u00ED
|
||||
false=No
|
||||
|
||||
|
||||
# Realm settings
|
||||
realm-detail.enabled.tooltip=Los usuarios y clientes solo pueden acceder a un dominio si est\u00E1 habilitado
|
||||
registrationAllowed=Registro de usuario
|
||||
registrationAllowed.tooltip=Habilitar/deshabilitar la p\u00E1gina de registro. Un enlace para el registro se mostrar\u00E1 tambi\u00E9n en la p\u00E1gina de inicio de sesi\u00F3n.
|
||||
registrationEmailAsUsername=Email como nombre de usuario
|
||||
registrationEmailAsUsername.tooltip=Si est\u00E1 habilitado el nombre de usuario queda oculto del formulario de registro y el email se usa como nombre de usuario para los nuevos usuarios.
|
||||
editUsernameAllowed=Editar nombre de usuario
|
||||
editUsernameAllowed.tooltip=Si est\u00E1 habilitado, el nombre de usuario es editable, en otro caso es de solo lectura.
|
||||
resetPasswordAllowed=Olvido contrase\u00F1a
|
||||
resetPasswordAllowed.tooltip=Muestra un enlace en la p\u00E1gina de inicio de sesi\u00F3n para que el usuario haga clic cuando ha olvidado sus credenciales.
|
||||
rememberMe=Seguir conectado
|
||||
rememberMe.tooltip=Muestra la casilla de selecci\u00F3n en la p\u00E1gina de inicio de sesi\u00F3n para permitir al usuario permanecer conectado entre reinicios del navegador hasta que la sesi\u00F3n expire.
|
||||
verifyEmail=Verificar email
|
||||
verifyEmail.tooltip=Forzar al usuario a verificar su direcci\u00F3n de email la primera vez que inicie sesi\u00F3n.
|
||||
sslRequired=Solicitar SSL
|
||||
sslRequired.option.all=todas las peticiones
|
||||
sslRequired.option.external=peticiones externas
|
||||
sslRequired.option.none=ninguna
|
||||
sslRequired.tooltip=\u00BFEs HTTP obligatorio? ''ninguna'' significa que HTTPS no es obligatorio para ninguna direcic\u00F3n IP de cliente, ''peticiones externas'' indica que localhost y las direcciones IP privadas pueden acceder sin HTTPS, ''todas las peticiones'' significa que HTTPS es obligatorio para todas las direcciones IP.
|
||||
publicKey=Clave p\u00FAblica
|
||||
gen-new-keys=Generar nuevas claves
|
||||
certificate=Certificado
|
||||
host=Host
|
||||
smtp-host=Host SMTP
|
||||
port=Puerto
|
||||
smtp-port=Puerto SMTP (por defecto 25)
|
||||
from=De
|
||||
sender-email-addr=Email del emisor
|
||||
enable-ssl=Habilitar SSL
|
||||
enable-start-tls=Habilitar StartTLS
|
||||
enable-auth=Habilitar autenticaci\u00F3n
|
||||
username=Usuario
|
||||
login-username=Usuario
|
||||
password=Contrase\u00F1a
|
||||
login-password=Contrase\u00F1a
|
||||
login-theme=Tema de inicio de sesi\u00F3n
|
||||
select-one=Selecciona uno...
|
||||
login-theme.tooltip=Selecciona el tema para las p\u00E1ginas de inicio de sesi\u00F3n, OTP, permisos, registro y recordatorio de contrase\u00F1a.
|
||||
account-theme=Tema de cuenta
|
||||
account-theme.tooltip=Selecciona el tema para las p\u00E1ginas de gesti\u00F3n de la cuenta de usuario.
|
||||
admin-console-theme=Tema de consola de administraci\u00F3n
|
||||
select-theme-admin-console=Selecciona el tema para la consola de administraci\u00F3n.
|
||||
email-theme=Tema de email
|
||||
select-theme-email=Selecciona el tema para los emails que son enviados por el servidor.
|
||||
i18n-enabled=Internacionalizaci\u00F3n activa
|
||||
supported-locales=Idiomas soportados
|
||||
supported-locales.placeholder=Indica el idioma y pulsa Intro
|
||||
default-locale=Idioma por defecto
|
||||
#localization-upload-file=Upload localization JSON file
|
||||
#missing-locale=Missing locale.
|
||||
#missing-file=Missing file. Please select a file to upload.
|
||||
#localization-file.upload.success=The localization data has been loaded from file.
|
||||
#localization-file.upload.error=The file can not be uploaded. Please verify the file.
|
||||
#localization-show=Show realm specific localizations
|
||||
#no-localizations-configured=No realm specific localizations configured
|
||||
#add-localization-text=Add localization text
|
||||
#locale.create.success=The Locale has been created.
|
||||
#localization-text.create.success=The localization text has been created.
|
||||
#localization-text.update.success=The localization text has been updated.
|
||||
#localization-text.remove.success=The localization text has been deleted.
|
||||
realm-cache-enabled=Cach\u00E9 de dominio habilitada
|
||||
realm-cache-enabled.tooltip=Activar/desactivar la cach\u00E9 para el dominio, cliente y datos de roles.
|
||||
user-cache-enabled=Cach\u00E9 de usuario habilitada
|
||||
user-cache-enabled.tooltip=Habilitar/deshabilitar la cach\u00E9 de usuarios y de asignaciones de usuarios a roles.
|
||||
revoke-refresh-token=Revocar el token de actualizaci\u00F3n
|
||||
revoke-refresh-token.tooltip=Si est\u00E1 activado los tokens de actualizaci\u00F3n solo pueden usarse una vez. En otro caso los tokens de actualizaci\u00F3n no se revocan cuando se utilizan y pueden ser usado m\u00FAltiples veces.
|
||||
sso-session-idle=Sesiones SSO inactivas
|
||||
seconds=Segundos
|
||||
minutes=Minutos
|
||||
hours=Horas
|
||||
days=D\u00EDas
|
||||
sso-session-max=Tiempo m\u00E1ximo sesi\u00F3n SSO
|
||||
sso-session-idle.tooltip=Tiempo m\u00E1ximo que una sesi\u00F3n puede estar inactiva antes de que expire. Los tokens y sesiones de navegador son invalidadas cuando la sesi\u00F3n expira.
|
||||
sso-session-max.tooltip=Tiempo m\u00E1ximo antes de que una sesi\u00F3n expire. Los tokens y sesiones de navegador son invalidados cuando una sesi\u00F3n expira.
|
||||
offline-session-idle=Inactividad de sesi\u00F3n sin conexi\u00F3n
|
||||
offline-session-idle.tooltip=Tiempo m\u00E1ximo inactivo de una sesi\u00F3n sin conexi\u00F3n antes de que expire. Necesitas usar un token sin conexi\u00F3n para refrescar al menos una vez dentro de este periodo, en otro caso la sesi\u00F3n sin conexi\u00F3n expirar\u00E1.
|
||||
access-token-lifespan=Duraci\u00F3n del token de acceso
|
||||
access-token-lifespan.tooltip=Tiempo m\u00E1ximo antes de que un token de acceso expire. Se recomienda que este valor sea corto en relaci\u00F3n al tiempo m\u00E1ximo de SSO
|
||||
client-login-timeout=Tiempo m\u00E1ximo de autenticaci\u00F3n
|
||||
client-login-timeout.tooltip=Tiempo m\u00E1ximo que un cliente tiene para finalizar el protocolo de obtenci\u00F3n del token de acceso. Deber\u00EDa ser normalmente del orden de 1 minuto.
|
||||
login-timeout=Tiempo m\u00E1ximo de desconexi\u00F3n
|
||||
login-timeout.tooltip=Tiempo m\u00E1ximo que un usuario tiene para completar el inicio de sesi\u00F3n. Se recomienda que sea relativamente alto. 30 minutos o m\u00E1s.
|
||||
login-action-timeout=Tiempo m\u00E1ximo de acci\u00F3n en el inicio de sesi\u00F3n
|
||||
login-action-timeout.tooltip=Tiempo m\u00E1ximo que un usuario tiene para completar acciones relacionadas con el inicio de sesi\u00F3n, como la actualizaci\u00F3n de contrase\u00F1a o configuraci\u00F3n de OTP. Es recomendado que sea relativamente alto. 5 minutos o m\u00E1s.
|
||||
headers=Cabeceras
|
||||
brute-force-detection=Detecci\u00F3n de ataques por fuerza bruta
|
||||
x-frame-options=X-Frame-Options
|
||||
click-label-for-info=Haz clic en el enlace de la etiqueta para obtener m\u00E1s informaci\u00F3n. El valor por defecto evita que las p\u00E1ginas sean incluidas desde iframes externos.
|
||||
content-sec-policy=Content-Security-Policy
|
||||
max-login-failures=N\u00FAmero m\u00E1ximo de fallos de inicio de sesi\u00F3n
|
||||
max-login-failures.tooltip=Indica cuantos fallos se permiten antes de que se dispare una espera.
|
||||
wait-increment=Incremento de espera
|
||||
wait-increment.tooltip=Cuando se ha alcanzado el umbral de fallo, \u00BFcuanto tiempo debe estar un usuario bloqueado?
|
||||
quick-login-check-millis=Tiempo en milisegundos entre inicios de sesi\u00F3n r\u00E1pidos
|
||||
quick-login-check-millis.tooltip=Si ocurren errores de forma concurrente y muy r\u00E1pida, bloquear al usuario.
|
||||
min-quick-login-wait=Tiempo m\u00EDnimo entre fallos de conexi\u00F3n r\u00E1pidos
|
||||
min-quick-login-wait.tooltip=Cuanto tiempo se debe esperar tras un fallo en un intento r\u00E1pido de identificaci\u00F3n
|
||||
max-wait=Espera m\u00E1xima
|
||||
max-wait.tooltip=Tiempo m\u00E1ximo que un usuario quedar\u00E1 bloqueado.
|
||||
failure-reset-time=Reinicio del contador de errores
|
||||
failure-reset-time.tooltip=\u00BFCuando se debe reiniciar el contador de errores?
|
||||
realm-tab-login=Inicio de sesi\u00F3n
|
||||
realm-tab-keys=Claves
|
||||
realm-tab-email=Email
|
||||
realm-tab-themes=Temas
|
||||
#realm-tab-localization=Localization
|
||||
realm-tab-cache=Cach\u00E9
|
||||
realm-tab-tokens=Tokens
|
||||
realm-tab-security-defenses=Defensas de seguridad
|
||||
realm-tab-general=General
|
||||
add-realm=A\u00F1adir dominio
|
||||
|
||||
#Session settings
|
||||
realm-sessions=Sesiones de dominio
|
||||
revocation=Revocaci\u00F3n
|
||||
logout-all=Desconectar todo
|
||||
active-sessions=Sesiones activas
|
||||
sessions=Sesiones
|
||||
not-before=No antes de
|
||||
not-before.tooltip=Revocar cualquier token emitido antes de esta fecha.
|
||||
set-to-now=Fijar a ahora
|
||||
push=Push
|
||||
push.tooltip=Para cada cliente que tiene una URL de administraci\u00F3n, notificarlos las nuevas pol\u00EDticas de revocaci\u00F3n.
|
||||
|
||||
#Protocol Mapper
|
||||
usermodel.prop.label=Propiedad
|
||||
usermodel.prop.tooltip=Nombre del m\u00E9todo de propiedad en la interfaz UserModel. Por ejemplo, un valor de ''email'' referenciar\u00EDa al m\u00E9todo UserModel.getEmail().
|
||||
usermodel.attr.label=Atributo de usuario
|
||||
usermodel.attr.tooltip=Nombre del atributo de usuario almacenado que es el nombre del atributo dentro del map UserModel.attribute.
|
||||
userSession.modelNote.label=Nota sesi\u00F3n usuario
|
||||
userSession.modelNote.tooltip=Nombre de la nota almacenada en la sesi\u00F3n de usuario dentro del mapa UserSessionModel.note
|
||||
multivalued.label=Valores m\u00FAltiples
|
||||
multivalued.tooltip=Indica si el atributo soporta m\u00FAltiples valores. Si est\u00E1 habilitado, la lista de todos los valores de este atributo se fijar\u00E1 como reclamaci\u00F3n. Si est\u00E1 deshabilitado, solo el primer valor ser\u00E1 fijado como reclamaci\u00F3n.
|
||||
selectRole.label=Selecciona rol
|
||||
selectRole.tooltip=Introduce el rol en la caja de texto de la izquierda, o haz clic en este bot\u00F3n para navegar y buscar el rol que quieres.
|
||||
tokenClaimName.label=Nombre de reclamo del token
|
||||
tokenClaimName.tooltip=Nombre del reclamo a insertar en el token. Puede ser un nombre completo como ''address.street''. En este caso, se crear\u00E1 un objeto JSON anidado.
|
||||
jsonType.label=Tipo JSON de reclamaci\u00F3n
|
||||
jsonType.tooltip=El tipo de JSON que deber\u00EDa ser usado para rellenar la petici\u00F3n de JSON en el token. long, int, boolean y String son valores v\u00E1lidos
|
||||
includeInIdToken.label=A\u00F1adir al token de ID
|
||||
includeInAccessToken.label=A\u00F1adir al token de acceso
|
||||
includeInAccessToken.tooltip=\u00BFDeber\u00EDa a\u00F1adirse la identidad reclamada al token de acceso?
|
||||
|
||||
|
||||
# client details
|
||||
clients.tooltip=Los clientes son aplicaciones de navegador de confianza y servicios web de un dominio. Estos clientes pueden solicitar un inicio de sesi\u00F3n. Tambi\u00E9n puedes definir roles espec\u00EDficos de cliente.
|
||||
search.placeholder=Buscar...
|
||||
create=Crear
|
||||
import=Importar
|
||||
client-id=ID Cliente
|
||||
base-url=URL Base
|
||||
actions=Acciones
|
||||
not-defined=No definido
|
||||
edit=Editar
|
||||
delete=Borrar
|
||||
no-results=Sin resultados
|
||||
no-clients-available=No hay clientes disponibles
|
||||
add-client=A\u00F1adir Cliente
|
||||
select-file=Selecciona archivo
|
||||
view-details=Ver detalles
|
||||
clear-import=Limpiar importaci\u00F3n
|
||||
client-id.tooltip=Indica el identificador (ID) referenciado en URIs y tokens. Por ejemplo ''my-client''
|
||||
client.name.tooltip=Indica el nombre visible del cliente. Por ejemplo ''My Client''. Tambi\u00E9n soporta claves para valores localizados. Por ejemplo: ${my_client}
|
||||
client.enabled.tooltip=Los clientes deshabilitados no pueden iniciar una identificaci\u00F3n u obtener c\u00F3digos de acceso.
|
||||
consent-required=Consentimiento necesario
|
||||
consent-required.tooltip=Si est\u00E1 habilitado, los usuarios tienen que consentir el acceso del cliente.
|
||||
direct-grants-only=Solo permisos directos
|
||||
direct-grants-only.tooltip=Cuando est\u00E1 habilitado, el cliente solo puede obtener permisos de la API REST.
|
||||
client-protocol=Protocolo del Cliente
|
||||
client-protocol.tooltip=''OpenID connect'' permite a los clientes verificar la identidad del usuario final basado en la autenticaci\u00F3n realizada por un servidor de autorizaci\u00F3n. ''SAML'' habilita la autenticaci\u00F3n y autorizaci\u00F3n de escenarios basados en web incluyendo cross-domain y single sign-on (SSO) y utiliza tokens de seguridad que contienen afirmaciones para pasar informaci\u00F3n.
|
||||
access-type=Tipo de acceso
|
||||
access-type.tooltip=Los clientes ''Confidential'' necesitan un secreto para iniciar el protocolo de identificaci\u00F3n. Los clientes ''Public'' no requieren un secreto. Los clientes ''Bearer-only'' son servicios web que nunca inician un login.
|
||||
service-accounts-enabled=Cuentas de servicio habilitadas
|
||||
service-accounts-enabled.tooltip=Permitir autenticar este cliente contra Keycloak y recibir un token de acceso dedicado para este cliente.
|
||||
include-authnstatement=Incluir AuthnStatement
|
||||
include-authnstatement.tooltip=\u00BFDeber\u00EDa incluirse una declaraci\u00F3n especificando el m\u00E9todo y la marca de tiempo en la respuesta de inicio de sesi\u00F3n?
|
||||
sign-documents=Firmar documentos
|
||||
sign-documents.tooltip=\u00BFDeber\u00EDa el dominio firmar los documentos SAML?
|
||||
sign-assertions=Firmar aserciones
|
||||
sign-assertions.tooltip=\u00BFDeber\u00EDan firmarse las aserciones en documentos SAML? Este ajuste no es necesario si el documento ya est\u00E1 siendo firmado.
|
||||
signature-algorithm=Algoritmo de firma
|
||||
signature-algorithm.tooltip=El algoritmo de firma usado para firmar los documentos.
|
||||
canonicalization-method=M\u00E9todo de canonicalizaci\u00F3n
|
||||
canonicalization-method.tooltip=M\u00E9todo de canonicalizaci\u00F3n para las firmas XML
|
||||
encrypt-assertions=Cifrar afirmaciones
|
||||
encrypt-assertions.tooltip=\u00BFDeber\u00EDan cifrarse las afirmaciones SAML con la clave p\u00FAblica del cliente usando AES?
|
||||
client-signature-required=Firma de Cliente requerida
|
||||
client-signature-required.tooltip=\u00BFFirmar\u00E1 el cliente sus peticiones y respuestas SAML? \u00BFY deber\u00EDan ser validadas?
|
||||
force-post-binding=Forzar enlaces POST
|
||||
force-post-binding.tooltip=Usar siempre POST para las respuestas
|
||||
front-channel-logout=Desonexi\u00F3n en primer plano (Front Channel)
|
||||
front-channel-logout.tooltip=Cuando est\u00E1 activado, la desconexi\u00F3n require una redirecci\u00F3n del navegador hacia el cliente. Cuando no est\u00E1 activado, el servidor realiza una invovaci\u00F3n de desconexi\u00F3n en segundo plano.
|
||||
force-name-id-format=Forzar formato NameID
|
||||
force-name-id-format.tooltip=Ignorar la petici\u00F3n de sujeto NameID y usar la configurada en la consola de administraci\u00F3n.
|
||||
name-id-format=Formato de NameID
|
||||
name-id-format.tooltip=El formato de NameID que se usar\u00E1 para el t\u00EDtulo
|
||||
root-url=URL ra\u00EDz
|
||||
root-url.tooltip=URL ra\u00EDz a\u00F1adida a las URLs relativas
|
||||
valid-redirect-uris=URIs de redirecci\u00F3n v\u00E1lidas
|
||||
valid-redirect-uris.tooltip=Patr\u00F3n de URI v\u00E1lida para la cual un navegador puede solicitar la redirecci\u00F3n tras un inicio o cierre de sesi\u00F3n completado. Se permiten comodines simples p.ej. ''http://example.com/*''. Tambi\u00E9n se pueden indicar rutas relativas p.ej. ''/my/relative/path/*''. Las rutas relativas generar\u00E1n una URI de redirecci\u00F3n usando el host y puerto de la petici\u00F3n. Para SAML, se deben fijar patrones de URI v\u00E1lidos si quieres confiar en la URL del servicio del consumidor indicada en la petici\u00F3n de inicio de sesi\u00F3n.
|
||||
base-url.tooltip=URL por defecto para usar cuando el servidor de autorizaci\u00F3n necesita redirigir o enviar de vuelta al cliente.
|
||||
admin-url=URL de administraci\u00F3n
|
||||
admin-url.tooltip=URL a la interfaz de administraci\u00F3n del cliente. Fija este valor si el cliente soporta el adaptador de REST. Esta API REST permite al servidor de autenticaci\u00F3n enviar al cliente pol\u00EDticas de revocaci\u00F3n y otras tareas administrativas. Normalment se fija a la URL base del cliente.
|
||||
master-saml-processing-url=URL principal de procesamiento SAML
|
||||
master-saml-processing-url.tooltip=Si est\u00E1 configurada, esta URL se usar\u00E1 para cada enlace al proveedor del servicio del consumidor de aserciones y servicios de desconexi\u00F3n \u00FAnicos. Puede ser sobreescrito de forma individual para cada enlace y servicio en el punto final de configuraci\u00F3n fina de SAML.
|
||||
idp-sso-url-ref=Nombre de la URL de un SSO iniciado por el IDP
|
||||
idp-sso-url-ref.tooltip=Nombre del fragmento de la URL para referenciar al cliente cuando quieres un SSO iniciado por el IDP. Dejando esto vac\u00EDo deshabilita los SSO iniciados por el IDP. La URL referenciada desde el navegador ser\u00E1: {server-root}/realms/{realm}/protocol/saml/clients/{client-url-name}
|
||||
idp-sso-relay-state=Estado de retransmisi\u00F3n de un SSO iniciado por el IDP
|
||||
idp-sso-relay-state.tooltip=Estado de retransmisi\u00F3n que quieres enviar con una petici\u00F3n SAML cuando se inicia un SSO iniciado por el IDP
|
||||
web-origins=Or\u00EDgenes web
|
||||
web-origins.tooltip=Or\u00EDgenes CORS permitidos. Para permitir todos los or\u00EDgenes de URIs de redirecci\u00F3n v\u00E1lidas a\u00F1ade ''+''. Para permitir todos los or\u00EDgenes a\u00F1ade ''*''.
|
||||
fine-saml-endpoint-conf=Fine Grain SAML Endpoint Configuration
|
||||
fine-saml-endpoint-conf.tooltip=Expande esta secci\u00F3n para configurar las URL exactas para Assertion Consumer y Single Logout Service.
|
||||
assertion-consumer-post-binding-url=Assertion Consumer Service POST Binding URL
|
||||
assertion-consumer-post-binding-url.tooltip=SAML POST Binding URL for the client''s assertion consumer service (login responses). You can leave this blank if you do not have a URL for this binding.
|
||||
assertion-consumer-redirect-binding-url=Assertion Consumer Service Redirect Binding URL
|
||||
assertion-consumer-redirect-binding-url.tooltip=Assertion Consumer Service Redirect Binding URL
|
||||
logout-service-post-binding-url=URL de enlace SAML POST para la desconexi\u00F3n
|
||||
logout-service-post-binding-url.tooltip=URL de enlace SAML POST para la desconexi\u00F3n \u00FAnica del cliente. Puedes dejar esto en blanco si est\u00E1s usando un enlace distinto.
|
||||
logout-service-redir-binding-url=URL de enlace SAML de redirecci\u00F3n para la desconexi\u00F3n
|
||||
logout-service-redir-binding-url.tooltip=URL de enlace SAML de redirecci\u00F3n para la desconexi\u00F3n \u00FAnica del cliente. Puedes dejar esto en blanco si est\u00E1s usando un enlace distinto.
|
||||
|
||||
# client import
|
||||
import-client=Importar Cliente
|
||||
format-option=Formato
|
||||
select-format=Selecciona un formato
|
||||
import-file=Archivo de Importaci\u00F3n
|
||||
|
||||
# client tabs
|
||||
settings=Ajustes
|
||||
credentials=Credenciales
|
||||
roles=Roles
|
||||
mappers=Asignadores
|
||||
mappers.tooltip=Los asignadores de protocolos realizan transformaciones en tokens y documentos. Pueden hacer cosas como asignar datos de usuario en peticiones de protocolo, o simplemente transformar cualquier petici\u00F3n entre el cliente y el servidor de autenticaci\u00F3n.
|
||||
scope=\u00C1mbito
|
||||
scope.tooltip=Las asignaciones de \u00E1mbito te permiten restringir que asignaciones de roles de usuario se incluyen en el token de acceso solicitado por el cliente.
|
||||
sessions.tooltip=Ver sesiones activas para este cliente. Permite ver qu\u00E9 usuarios est\u00E1n activos y cuando se identificaron.
|
||||
offline-access=Acceso sin conexi\u00F3n
|
||||
offline-access.tooltip=Ver sesiones sin conexi\u00F3n para este cliente. Te permite ver que usuarios han solicitado tokens sin conexi\u00F3n y cuando los solicitaron. Para revocar todos los tokens del cliente, accede a la pesta\u00F1a de Revocaci\u00F3n y fija el valor \"No antes de\" a \"now\".
|
||||
clustering=Clustering
|
||||
installation=Instalaci\u00F3n
|
||||
installation.tooltip=Herramienta de ayuda para generar la configuraci\u00F3n de varios formatos de adaptadores de cliente que puedes descargar o copiar y pegar para configurar tus clientes.
|
||||
service-account-roles=Roles de cuenta de servicio
|
||||
service-account-roles.tooltip=Permitir autenticar asignaciones de rol para la cuenta de servicio dedicada a este cliente.
|
||||
|
||||
# client credentials
|
||||
client-authenticator=Cliente autenticador
|
||||
client-authenticator.tooltip=Cliente autenticador usado para autenticar este cliente contra el servidor Keycloak
|
||||
certificate.tooltip=Certificado de cliente para validar los JWT emitidos por este cliente y firmados con la clave privada del cliente de tu almac\u00E9n de claves.
|
||||
no-client-certificate-configured=No se ha configurado el certificado de cliente
|
||||
gen-new-keys-and-cert=Generar nuevas claves y certificado
|
||||
import-certificate=Importar Certificado
|
||||
gen-client-private-key=Generar clave privada de cliente
|
||||
generate-private-key=Generar clave privada
|
||||
archive-format=Formato de Archivo
|
||||
archive-format.tooltip=Formato de archivo Java keystore o PKCS12
|
||||
key-alias=Alias de clave
|
||||
key-alias.tooltip=Alias del archivo de tu clave privada y certificado.
|
||||
key-password=Contrase\u00F1a de la clave
|
||||
key-password.tooltip=Contrase\u00F1a para acceder a la clave privada contenida en el archivo
|
||||
store-password=Contrase\u00F1a del almac\u00E9n
|
||||
store-password.tooltip=Contrase\u00F1a para acceder al archivo
|
||||
generate-and-download=Generar y descargar
|
||||
client-certificate-import=Importaci\u00F3n de certificado de cliente
|
||||
import-client-certificate=Importar Certificado de Cliente
|
||||
jwt-import.key-alias.tooltip=Alias del archivo de tu certificado.
|
||||
secret=Secreto
|
||||
regenerate-secret=Regenerar secreto
|
||||
add-role=A\u00F1adir rol
|
||||
role-name=Nombre de rol
|
||||
composite=Compuesto
|
||||
description=Descripci\u00F3n
|
||||
no-client-roles-available=No hay roles de cliente disponibles
|
||||
scope-param-required=Par\u00E1metro de \u00E1mbito obligatorio
|
||||
scope-param-required.tooltip=Este rol solo ser\u00E1 concedido si el par\u00E1metro de \u00E1mbito con el nombre del rol es usado durante la petici\u00F3n de autorizaci\u00F3n/obtenci\u00F3n de token.
|
||||
composite-roles=Roles compuestos
|
||||
composite-roles.tooltip=Cuando este rol es asignado/desasignado a un usuario cualquier rol asociado con \u00E9l ser\u00E1 asignado/desasignado de forma impl\u00EDcita.
|
||||
realm-roles=Roles de dominio
|
||||
available-roles=Roles Disponibles
|
||||
add-selected=A\u00F1adir seleccionado
|
||||
associated-roles=Roles Asociados
|
||||
composite.associated-realm-roles.tooltip=Roles a nivel de dominio asociados con este rol compuesto.
|
||||
composite.available-realm-roles.tooltip=Roles a nivel de dominio disponibles en este rol compuesto.
|
||||
remove-selected=Borrar seleccionados
|
||||
client-roles=Roles de Cliente
|
||||
select-client-to-view-roles=Selecciona el cliente para ver sus roles
|
||||
available-roles.tooltip=Roles de este cliente que puedes asociar a este rol compuesto.
|
||||
client.associated-roles.tooltip=Roles de cliente asociados con este rol compuesto.
|
||||
add-builtin=A\u00F1adir Builtin
|
||||
category=Categor\u00EDa
|
||||
type=Tipo
|
||||
no-mappers-available=No hay asignadores disponibles
|
||||
add-builtin-protocol-mappers=A\u00F1adir Builtin Protocol Mappers
|
||||
add-builtin-protocol-mapper=A\u00F1adir Builtin Protocol Mapper
|
||||
scope-mappings=Asignaciones de \u00E1mbito
|
||||
full-scope-allowed=Permitir todos los \u00E1mbitos
|
||||
full-scope-allowed.tooltip=Permite deshabilitar todas las restricciones.
|
||||
scope.available-roles.tooltip=Roles de dominio que pueden ser asignados al \u00E1mbito
|
||||
assigned-roles=Roles Asignados
|
||||
assigned-roles.tooltip=Roles a nivel de dominio asignados a este \u00E1mbito.
|
||||
effective-roles=Roles Efectivos
|
||||
realm.effective-roles.tooltip=Roles de dominio asignados que pueden haber sido heredados de un rol compuesto.
|
||||
select-client-roles.tooltip=Selecciona el cliente para ver sus roles
|
||||
assign.available-roles.tooltip=Roles de clientes disponibles para ser asignados.
|
||||
client.assigned-roles.tooltip=Roles de cliente asignados
|
||||
client.effective-roles.tooltip=Roles de cliente asignados que pueden haber sido heredados desde un rol compuesto.
|
||||
basic-configuration=Configuraci\u00F3n b\u00E1sica
|
||||
node-reregistration-timeout=Tiempo de espera de re-registro de nodo
|
||||
node-reregistration-timeout.tooltip=Indica el m\u00E1ximo intervalo de tiempo para que los nodos del cluster registrados se vuelvan a registrar. Si el nodo del cluster no env\u00EDa una petici\u00F3n de re-registro a Keycloak dentro de este intervalo, ser\u00E1 desregistrado de Keycloak
|
||||
registered-cluster-nodes=Registrar nodos de cluster
|
||||
register-node-manually=Registrar nodo manualmente
|
||||
test-cluster-availability=Probar disponibilidad del cluster
|
||||
last-registration=\u00DAltimo registro
|
||||
node-host=Host del nodo
|
||||
no-registered-cluster-nodes=No hay nodos de cluster registrados disponibles
|
||||
cluster-nodes=Nodos de cl\u00FAster
|
||||
add-node=A\u00F1adir Nodo
|
||||
active-sessions.tooltip=N\u00FAmero total de sesiones activas para este cliente.
|
||||
show-sessions=Mostrar sesiones
|
||||
show-sessions.tooltip=Advertencia, esta es una operaci\u00F3n potencialmente costosa dependiendo del n\u00FAmero de sesiones activas.
|
||||
user=Usuario
|
||||
from-ip=Desde IP
|
||||
session-start=Inicio de sesi\u00F3n
|
||||
first-page=Primera p\u00E1gina
|
||||
previous-page=P\u00E1gina Anterior
|
||||
next-page=P\u00E1gina siguiente
|
||||
client-revoke.not-before.tooltip=Revocar todos los tokens emitidos antes de esta fecha para este cliente.
|
||||
client-revoke.push.tooltip=Si la URL de administraci\u00F3n est\u00E1 configurada para este cliente, env\u00EDa esta pol\u00EDtica a este cliente.
|
||||
select-a-format=Selecciona un formato
|
||||
download=Descargar
|
||||
offline-tokens=Tokens sin conexi\u00F3n
|
||||
offline-tokens.tooltip=N\u00FAmero total de tokens sin conexi\u00F3n de este cliente.
|
||||
show-offline-tokens=Mostrar tokens sin conexi\u00F3n
|
||||
show-offline-tokens.tooltip=Advertencia, esta es una operaci\u00F3n potencialmente costosa dependiendo del n\u00FAmero de tokens sin conexi\u00F3n.
|
||||
token-issued=Token expedido
|
||||
last-access=\u00DAltimo Acceso
|
||||
last-refresh=\u00DAltima actualizaci\u00F3n
|
||||
key-export=Exportar clave
|
||||
key-import=Importar clave
|
||||
export-saml-key=Exportar clave SAML
|
||||
import-saml-key=Importar clave SAML
|
||||
realm-certificate-alias=Alias del certificado del dominio
|
||||
realm-certificate-alias.tooltip=El certificado del dominio es almacenado en archivo. Este es el alias al mismo.
|
||||
signing-key=Clave de firma
|
||||
saml-signing-key=Clave de firma SAML.
|
||||
private-key=Clave Privada
|
||||
generate-new-keys=Generar nuevas claves
|
||||
export=Exportar
|
||||
encryption-key=Clave de cifrado
|
||||
saml-encryption-key.tooltip=Clave de cifrado de SAML
|
||||
service-accounts=Cuentas de servicio
|
||||
service-account.available-roles.tooltip=Roles de dominio que pueden ser asignados a la cuenta del servicio.
|
||||
service-account.assigned-roles.tooltip=Roles de dominio asignados a la cuenta del servicio.
|
||||
service-account-is-not-enabled-for=La cuenta del servicio no est\u00E1 habilitada para {{client}}
|
||||
create-protocol-mappers=Crear asignadores de protocolo
|
||||
create-protocol-mapper=Crear asignador de protocolo
|
||||
protocol=Protocolo
|
||||
protocol.tooltip=Protocolo.
|
||||
id=ID
|
||||
mapper.name.tooltip=Nombre del asignador.
|
||||
mapper.consent-required.tooltip=Cuando se concede acceso temporal, \u00BFes necesario el consentimiento del usuario para proporcionar estos datos al cliente?
|
||||
consent-text=Texto del consentimiento
|
||||
consent-text.tooltip=Texto para mostrar en la p\u00E1gina de consentimiento.
|
||||
mapper-type=Tipo de asignador
|
||||
|
||||
# realm identity providers
|
||||
identity-providers=Proveedores de identidad
|
||||
table-of-identity-providers=Tabla de proveedores de identidad
|
||||
add-provider.placeholder=A\u00F1adir proveedor...
|
||||
provider=Proveedor
|
||||
gui-order=Orden en la interfaz gr\u00E1fica (GUI)
|
||||
redirect-uri=URI de redirecci\u00F3n
|
||||
redirect-uri.tooltip=La URI de redirecci\u00F3n usada para configurar el proveedor de identidad.
|
||||
alias=Alias
|
||||
identity-provider.alias.tooltip=El alias que identifica de forma \u00FAnica un proveedor de identidad, se usa tambi\u00E9n para construir la URI de redirecci\u00F3n.
|
||||
identity-provider.enabled.tooltip=Habilita/deshabilita este proveedor de identidad.
|
||||
authenticate-by-default=Autenticar por defecto
|
||||
identity-provider.authenticate-by-default.tooltip=Indica si este proveedor deber\u00EDa ser probado por defecto para autenticacaci\u00F3n incluso antes de mostrar la p\u00E1gina de inicio de sesi\u00F3n.
|
||||
store-tokens=Almacenar tokens
|
||||
identity-provider.store-tokens.tooltip=Habilitar/deshabilitar si los tokens deben ser almacenados despu\u00E9s de autenticar a los usuarios.
|
||||
stored-tokens-readable=Tokens almacenados legibles
|
||||
identity-provider.stored-tokens-readable.tooltip=Habilitar/deshabilitar si los nuevos usuarios pueden leer los tokens almacenados. Esto asigna el rol ''broker.read-token''.
|
||||
update-profile-on-first-login=Actualizar perfil en el primer inicio de sesi\u00F3n
|
||||
on=Activado
|
||||
on-missing-info=Si falta informaci\u00F3n
|
||||
off=Desactivado
|
||||
update-profile-on-first-login.tooltip=Define condiciones bajo las cuales un usuario tiene que actualizar su perfil durante el primer inicio de sesi\u00F3n.
|
||||
trust-email=Confiar en el email
|
||||
trust-email.tooltip=Si est\u00E1 habilitado, el email recibido de este proveedor no se verificar\u00E1 aunque la verificaci\u00F3n est\u00E9 habilitada para el dominio.
|
||||
gui-order.tooltip=N\u00FAmero que define el orden del proveedor en la interfaz gr\u00E1fica (GUI) (ej. en la p\u00E1gina de inicio de sesi\u00F3n)
|
||||
openid-connect-config=Configuraci\u00F3n de OpenID Connect
|
||||
openid-connect-config.tooltip=Configuraci\u00F3n de OIDC SP e IDP externos
|
||||
authorization-url=URL de autorizaci\u00F3n
|
||||
authorization-url.tooltip=La URL de autorizaci\u00F3n.
|
||||
token-url=Token URL
|
||||
token-url.tooltip=La URL del token.
|
||||
logout-url=URL de desconexi\u00F3n
|
||||
identity-provider.logout-url.tooltip=Punto de cierre de sesi\u00F3n para usar en la desconexi\u00F3n de usuarios desde un proveedor de identidad (IDP) externo.
|
||||
backchannel-logout=Backchannel Logout
|
||||
backchannel-logout.tooltip=Does the external IDP support backchannel logout?
|
||||
user-info-url=URL de informaci\u00F3n de usuario
|
||||
user-info-url.tooltip=La URL de informaci\u00F3n de usuario. Opcional.
|
||||
identity-provider.client-id.tooltip=El cliente o identificador de cliente registrado en el proveedor de identidad.
|
||||
client-secret=Secreto de Cliente
|
||||
show-secret=Mostrar secreto
|
||||
hide-secret=Ocultar secreto
|
||||
client-secret.tooltip=El cliente o el secreto de cliente registrado en el proveedor de identidad.
|
||||
issuer=Emisor
|
||||
issuer.tooltip=El identificador del emisor para el emisor de la respuesta. Si no se indica, no se realizar\u00E1 ninguna validaci\u00F3n.
|
||||
default-scopes=\u00C1mbitos por defecto
|
||||
identity-provider.default-scopes.tooltip=Los \u00E1mbitos que se enviar\u00E1n cuando se solicite autorizaci\u00F3n. Puede ser una lista de \u00E1mbitos separados por espacios. El valor por defecto es ''openid''.
|
||||
prompt=Prompt
|
||||
unspecified.option=no especificado
|
||||
none.option=ninguno
|
||||
consent.option=consentimiento
|
||||
login.option=login
|
||||
select-account.option=select_account
|
||||
prompt.tooltip=Indica si el servidor de autorizaci\u00F3n solicita al usuario final para reautenticaci\u00F3n y consentimiento.
|
||||
validate-signatures=Validar firmas
|
||||
identity-provider.validate-signatures.tooltip=Habilitar/deshabilitar la validaci\u00F3n de firmas de proveedores de identidad (IDP) externos
|
||||
validating-public-key=Validando clave p\u00FAblica
|
||||
identity-provider.validating-public-key.tooltip=La clave p\u00FAblica en formato PEM que debe usarse para verificar las firmas de proveedores de identidad (IDP) externos.
|
||||
import-external-idp-config=Importar configuraci\u00F3n externa de IDP
|
||||
import-external-idp-config.tooltip=Te permite cargar metadatos de un proveedor de identidad (IDP) externo de un archivo de coniguraci\u00F3n o descargarlo desde una URL.
|
||||
import-from-url=Importar desde URL
|
||||
identity-provider.import-from-url.tooltip=Importar metadatos desde un descriptor de un proveedor de identidad (IDP) remoto.
|
||||
import-from-file=Importar desde archivo
|
||||
identity-provider.import-from-file.tooltip=Importar metadatos desde un descriptor de un proveedor de identidad (IDP) descargado.
|
||||
saml-config=Configuraci\u00F3n SAML
|
||||
identity-provider.saml-config.tooltip=Configuraci\u00F3n de proveedor SAML e IDP externo
|
||||
single-signon-service-url=URL de servicio de conexi\u00F3n \u00FAnico (SSO)
|
||||
saml.single-signon-service-url.tooltip=La URL que debe ser usada para enviar peticiones de autenticaci\u00F3n (SAML AuthnRequest).
|
||||
single-logout-service-url=URL de servicio de desconexi\u00F3n \u00FAnico
|
||||
saml.single-logout-service-url.tooltip=La URL que debe usarse para enviar peticiones de desconexi\u00F3n.
|
||||
nameid-policy-format=Formato de pol\u00EDtica NameID
|
||||
nameid-policy-format.tooltip=Indica la referencia a la URI correspondiente a un formato de NameID. El valor por defecto es urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.
|
||||
http-post-binding-response=HTTP-POST enlace de respuesta
|
||||
http-post-binding-response.tooltip=Indica si se responde a las peticiones usando HTTP-POST. Si no est\u00E1 activado, se usa HTTP-REDIRECT.
|
||||
http-post-binding-for-authn-request=HTTP-POST para AuthnRequest
|
||||
http-post-binding-for-authn-request.tooltip=Indica si AuthnRequest debe ser enviada usando HTTP-POST. Si no est\u00E1 activado se hace HTTP-REDIRECT.
|
||||
want-authn-requests-signed=Firmar AuthnRequests
|
||||
want-authn-requests-signed.tooltip=Indica si el proveedor de identidad espera recibir firmadas las AuthnRequest.
|
||||
force-authentication=Forzar autenticaci\u00F3n
|
||||
identity-provider.force-authentication.tooltip=Indica si el proveedor de identidad debe autenticar al presentar directamente las credenciales en lugar de depender de un contexto de seguridad previo.
|
||||
validate-signature=Validar firma
|
||||
saml.validate-signature.tooltip=Habilitar/deshabilitar la validaci\u00F3n de firma en respuestas SAML.
|
||||
validating-x509-certificate=Validando certificado X509
|
||||
validating-x509-certificate.tooltip=El certificado en formato PEM que debe usarse para comprobar las firmas.
|
||||
saml.import-from-url.tooltip=Importar metadatos desde un descriptor de entidad remoto de un IDP de SAML
|
||||
social.client-id.tooltip=El identificador del cliente registrado con el proveedor de identidad.
|
||||
social.client-secret.tooltip=El secreto del cliente registrado con el proveedor de identidad.
|
||||
social.default-scopes.tooltip=\u00C1mbitos que se enviar\u00E1n cuando se solicite autorizaci\u00F3n. Ver la documentaci\u00F3n para los posibles valores, separador y valor por defecto.
|
||||
key=Clave
|
||||
stackoverflow.key.tooltip=La clave obtenida en el registro del cliente de Stack Overflow.
|
||||
|
||||
realms=Dominios
|
||||
realm=Dominio
|
||||
|
||||
identity-provider-mappers=Asignadores de proveedores de identidad (IDP)
|
||||
create-identity-provider-mapper=Crear asignador de proveedor de identidad (IDP)
|
||||
add-identity-provider-mapper=A\u00F1adir asignador de proveedor de identidad
|
||||
client.description.tooltip=Indica la descripci\u00F3n del cliente. Por ejemplo ''My Client for TimeSheets''. Tambi\u00E9n soporta claves para valores localizados. Por ejemplo: ${my_client_description}
|
||||
content-type-options=
|
||||
@@ -0,0 +1 @@
|
||||
# encoding: UTF-8
|
||||
155
keycloak-themes/base/admin/messages/admin-messages_fr.properties
Normal file
155
keycloak-themes/base/admin/messages/admin-messages_fr.properties
Normal file
@@ -0,0 +1,155 @@
|
||||
consoleTitle=Keycloak Admin Console
|
||||
|
||||
# Common messages
|
||||
enabled=Actif
|
||||
name=Nom
|
||||
displayName=Display name
|
||||
displayNameHtml=HTML Display name
|
||||
save=Sauver
|
||||
cancel=Annuler
|
||||
onText=Oui
|
||||
offText=Non
|
||||
client=Client
|
||||
clients=Clients
|
||||
clear=Effacer
|
||||
selectOne=Select One...
|
||||
|
||||
manage=G\u00e9rer
|
||||
authentication=Authentification
|
||||
user-federation=Regroupement Utilisateur
|
||||
user-storage=Stockage Utilisateur
|
||||
events=\u00c9v\u00e8nements
|
||||
realm-settings=Configurations du domaine
|
||||
configure=Configurer
|
||||
select-realm=Choisir un domaine
|
||||
add=Ajouter
|
||||
|
||||
true=Vrai
|
||||
false=Faux
|
||||
|
||||
endpoints=Endpoints
|
||||
|
||||
# Realm settings
|
||||
realm-detail.enabled.tooltip=Les utilisateurs et les clients peuvent acc\u00e9der au domaine si celui-ci est actif
|
||||
realm-detail.oidc-endpoints.tooltip=Affiche les configurations de l''endpoint OpenID Connect
|
||||
registrationAllowed=Enregistrement d''utilisateur
|
||||
registrationAllowed.tooltip=Activer/d\u00e9sactiver la page d''enregistrement. Un lien pour l''enregistrement sera visible sur la page de connexion.
|
||||
registrationEmailAsUsername=Courriel comme nom d''utilisateur
|
||||
registrationEmailAsUsername.tooltip=Si actif, le champ du nom de l''utilisateur est cach\u00e9 pendant l''enregistrement ; le courriel est utilis\u00e9 comme nom d''utilisateur.
|
||||
editUsernameAllowed=\u00c9ditez le nom de l''utilisateur
|
||||
editUsernameAllowed.tooltip=Si actif, le champ du nom de l''utilisateur est modifiable.
|
||||
resetPasswordAllowed=Mot de passe oubli\u00e9
|
||||
resetPasswordAllowed.tooltip=Affiche un lien sur la page de connexion pour les utilisateurs ayant oubli\u00e9 leurs accr\u00e9ditations.
|
||||
rememberMe=Se souvenir de moi
|
||||
rememberMe.tooltip=Affiche une case \u00e0 cocher sur la page de connexion pour permettre aux utilisateurs de rester connect\u00e9s entre deux red\u00e9marrages de leur navigateur, jusqu''\u00e0 expiration de la session.
|
||||
verifyEmail=V\u00e9rification du courriel
|
||||
verifyEmail.tooltip=Force l''utilisateur \u00e0 v\u00e9rifier son courriel lors de la premi\u00e8re connexion.
|
||||
loginWithEmailAllowed=Authentification avec courriel
|
||||
loginWithEmailAllowed.tooltip=Autorise l''utilisateur \u00e0 s''authentifier avec son adresse de courriel.
|
||||
duplicateEmailsAllowed=Doublon courriel
|
||||
duplicateEmailsAllowed.tooltip=Autorise plusieurs utilisateurs \u00e0 avoir la m\u00eame adresse de courriel. Changer cette configuration va vider le cache. Il est recommand\u00e9 de mettre \u00e0 jour manuellement les contraintes sur le courriel dans la base de donn\u00e9es apr\u00e8s la d\u00e9sactivation du support des doublons.
|
||||
sslRequired=SSL requis
|
||||
sslRequired.option.all=toutes les requ\u00eates
|
||||
sslRequired.option.external=les requ\u00eates externes
|
||||
sslRequired.option.none=aucun
|
||||
sslRequired.tooltip=Niveau d''exigence HTTPS \: ''aucun'' signifie que le HTTPS n''est requis pour aucune adresse IP cliente. ''les requ\u00eates externes'' signifie que localhost et les adresses IP priv\u00e9es peuvent acc\u00e9der sans HTTPS. ''toutes les requ\u00eates'' signifie que le protocole HTTPS est obligatoire pour toutes les adresses IP.
|
||||
publicKey=Clef publique
|
||||
gen-new-keys=Cr\u00e9ation de nouvelle clef
|
||||
certificate=Certificat
|
||||
host=H\u00f4te
|
||||
smtp-host=H\u00f4te SMTP
|
||||
port=Port
|
||||
smtp-port=Port SMTP (25 par d\u00e9faut)
|
||||
from=De
|
||||
sender-email-addr=Courriel de l''exp\u00e9diteur
|
||||
enable-ssl=Activer SSL/TLS
|
||||
enable-start-tls=Activer StartTLS
|
||||
enable-auth=Activer l''authentification
|
||||
username=Nom de l''utilisateur
|
||||
login-username=Connexion de l''utilisateur
|
||||
password=Mot de passe
|
||||
login-password=Mot de passe
|
||||
login-theme=Th\u00e8me de connexion
|
||||
select-one=S\u00e9lectionnez-en un...
|
||||
login-theme.tooltip=S\u00e9lectionnez le th\u00e8me pour les pages de connexion, de mot de passe \u00e0 usage unique bas\u00e9 sur le temps, des droits, de l''enregistrement, et du mot passe oubli\u00e9.
|
||||
account-theme=Th\u00e8me du compte
|
||||
account-theme.tooltip=S\u00e9lectionnez le th\u00e8me pour la gestion des comptes.
|
||||
admin-console-theme=Th\u00e8me de la console d''administration
|
||||
select-theme-admin-console=S\u00e9lectionnez le th\u00e8me de la console d''administration.
|
||||
email-theme=Th\u00e8me pour le courriel
|
||||
select-theme-email=S\u00e9lectionnez le th\u00e8me pour les courriels envoy\u00e9es par le serveur.
|
||||
i18n-enabled=Internationalisation activ\u00e9e
|
||||
supported-locales=Locales support\u00e9es
|
||||
supported-locales.placeholder=Entrez la locale et validez
|
||||
default-locale=Locale par d\u00e9faut
|
||||
#localization-upload-file=Upload localization JSON file
|
||||
#missing-locale=Missing locale.
|
||||
#missing-file=Missing file. Please select a file to upload.
|
||||
#localization-file.upload.success=The localization data has been loaded from file.
|
||||
#localization-file.upload.error=The file can not be uploaded. Please verify the file.
|
||||
#localization-show=Show realm specific localizations
|
||||
#no-localizations-configured=No realm specific localizations configured
|
||||
#add-localization-text=Add localization text
|
||||
#locale.create.success=The Locale has been created.
|
||||
#localization-text.create.success=The localization text has been created.
|
||||
#localization-text.update.success=The localization text has been updated.
|
||||
#localization-text.remove.success=The localization text has been deleted.
|
||||
realm-cache-enabled=Cache du domaine activ\u00e9
|
||||
realm-cache-enabled.tooltip=Activer/D\u00e9sactiver le cache pour le domaine, client et donn\u00e9es.
|
||||
user-cache-enabled=Cache utilisateur activ\u00e9
|
||||
user-cache-enabled.tooltip=Activer/D\u00e9sactiver le cache utilisateur, et le cache de relation entre utilisateurs et r\u00f4les.
|
||||
sso-session-idle=Sessions SSO inactives
|
||||
seconds=Secondes
|
||||
minutes=Minutes
|
||||
hours=Heures
|
||||
days=Jours
|
||||
sso-session-max=Maximum de sessions SSO
|
||||
sso-session-idle.tooltip=Temps d''inactivit\u00e9 autoris\u00e9 avant expiration de la session. Les jetons et les sessions navigateurs sont invalid\u00e9es quand la session expire.
|
||||
sso-session-max.tooltip=Dur\u00e9e maximale avant que la session n''expire. Les jetons et les sessions navigateurs sont invalid\u00e9es quand la session expire.
|
||||
access-token-lifespan=Dur\u00e9e de vie du jeton d''acc\u00e8s
|
||||
access-token-lifespan.tooltip=Dur\u00e9e maximale avant que le jeton d''acc\u00e8s n''expire. Cette valeur devrait \u00eatre relativement plus petite que la dur\u00e9e d''inactivit\u00e9 (timeout) du SSO.
|
||||
client-login-timeout=Dur\u00e9e d''inactivit\u00e9 de connexion (timeout)
|
||||
client-login-timeout.tooltip=Dur\u00e9e maximale qu''a un client pour finir le protocole du jeton d''acc\u00e8s. Devrait \u00eatre de l''ordre de la minute (1 min).
|
||||
login-timeout=Dur\u00e9e d''inactivit\u00e9 de connexion
|
||||
login-timeout.tooltip=Dur\u00e9e maximale autoris\u00e9e pour finaliser la connexion. Devrait \u00eatre relativement long \: 30 minutes, voire plus.
|
||||
login-action-timeout=Dur\u00e9e d''inactivit\u00e9 des actions de connexions
|
||||
login-action-timeout.tooltip=Dur\u00e9e maximale qu''a un utilisateur pour finir ses actions concernant la mise \u00e0 jour de son mot de passe ou bien de la configuration du mot de passe \u00e0 usage unique (OTP). Devrait \u00eatre relativement long \: 5 minutes, voire plus.
|
||||
headers=En-t\u00eates
|
||||
brute-force-detection=D\u00e9tection des attaques par force brute
|
||||
x-frame-options=X-Frame-Options
|
||||
click-label-for-info=Cliquer sur le label pour plus d''information. Les valeurs par d\u00e9faut \u00e9vitent que les pages soient incluses dans des iframes \u00e9trang\u00e8res.
|
||||
content-sec-policy=Content-Security-Policy
|
||||
max-login-failures=Nombre maximal d''erreurs de connexion
|
||||
max-login-failures.tooltip=Nombre d''erreurs avant de d\u00e9clencher le temps d''attente.
|
||||
wait-increment=Temps d''attente
|
||||
wait-increment.tooltip=Quand le seuil des erreurs est atteint, combien de temps l''utilisateur est-il bloqu\u00e9 ?
|
||||
quick-login-check-millis=Nombre de millisecondes entre deux connexions
|
||||
quick-login-check-millis.tooltip=Si une erreur apparait trop rapidement, bloquer le compte utilisateur.
|
||||
min-quick-login-wait=Dur\u00e9e minimale d''attente entre deux connexions
|
||||
min-quick-login-wait.tooltip=Dur\u00e9e d''attente demand\u00e9e apr\u00e8s une erreur entre deux connexions.
|
||||
max-wait=Dur\u00e9e maximale d''attente
|
||||
max-wait.tooltip=Dur\u00e9e maximale de blocage du compte utilisateur
|
||||
failure-reset-time=Dur\u00e9e de remise \u00e0 z\u00e9ro des erreurs
|
||||
failure-reset-time.tooltip=Quand les erreurs sont-elles remises \u00e0 z\u00e9ro ?
|
||||
realm-tab-login=Connexion
|
||||
realm-tab-keys=Clefs
|
||||
realm-tab-email=Courriels
|
||||
realm-tab-themes=Th\u00e8mes
|
||||
#realm-tab-localization=Localization
|
||||
realm-tab-cache=Cache
|
||||
realm-tab-tokens=Jetons
|
||||
realm-tab-security-defenses=Mesures de s\u00e9curit\u00e9
|
||||
realm-tab-general=G\u00e9n\u00e9ral
|
||||
add-realm=Ajouter un domaine
|
||||
|
||||
#Session settings
|
||||
realm-sessions=Sessions du domaine
|
||||
revocation=R\u00e9vocation
|
||||
logout-all=D\u00e9connexion globale
|
||||
active-sessions=Sessions actives
|
||||
sessions=Sessions
|
||||
not-before=Pas avant
|
||||
not-before.tooltip=R\u00e9voquer tous les jetons demand\u00e9s avant cette date.
|
||||
set-to-now=Mettre \u00e0 maintenant
|
||||
push=Appuyer
|
||||
push.tooltip=Pour tous les clients ayant une URL d''administration, les notifier de la politique de r\u00e9vocation.
|
||||
1639
keycloak-themes/base/admin/messages/admin-messages_ja.properties
Normal file
1639
keycloak-themes/base/admin/messages/admin-messages_ja.properties
Normal file
File diff suppressed because it is too large
Load Diff
1219
keycloak-themes/base/admin/messages/admin-messages_lt.properties
Normal file
1219
keycloak-themes/base/admin/messages/admin-messages_lt.properties
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
# encoding: UTF-8
|
||||
1127
keycloak-themes/base/admin/messages/admin-messages_no.properties
Normal file
1127
keycloak-themes/base/admin/messages/admin-messages_no.properties
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
# encoding: UTF-8
|
||||
1097
keycloak-themes/base/admin/messages/admin-messages_pt_BR.properties
Normal file
1097
keycloak-themes/base/admin/messages/admin-messages_pt_BR.properties
Normal file
File diff suppressed because it is too large
Load Diff
1277
keycloak-themes/base/admin/messages/admin-messages_ru.properties
Normal file
1277
keycloak-themes/base/admin/messages/admin-messages_ru.properties
Normal file
File diff suppressed because it is too large
Load Diff
1228
keycloak-themes/base/admin/messages/admin-messages_zh_CN.properties
Normal file
1228
keycloak-themes/base/admin/messages/admin-messages_zh_CN.properties
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
invalidPasswordHistoryMessage=Contrasenya incorrecta: no pot ser igual a cap de les \u00FAltimes {0} contrasenyes.
|
||||
invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres num\u00E9ricos.
|
||||
invalidPasswordMinLengthMessage=Contrasenya incorrecta: longitud m\u00EDnima {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres min\u00FAscules.
|
||||
invalidPasswordMinSpecialCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} car\u00E0cters especials.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres maj\u00FAscules.
|
||||
invalidPasswordNotUsernameMessage=Contrasenya incorrecta: no pot ser igual al nom d''usuari.
|
||||
invalidPasswordRegexPatternMessage=Contrasenya incorrecta: no compleix l''expressi\u00F3 regular.
|
||||
29
keycloak-themes/base/admin/messages/messages_de.properties
Normal file
29
keycloak-themes/base/admin/messages/messages_de.properties
Normal file
@@ -0,0 +1,29 @@
|
||||
invalidPasswordMinLengthMessage=Ung\u00FCltiges Passwort: muss mindestens {0} Zeichen beinhalten.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ung\u00FCltiges Passwort: muss mindestens {0} Kleinbuchstaben beinhalten.
|
||||
invalidPasswordMinDigitsMessage=Ung\u00FCltiges Passwort: muss mindestens {0} Ziffern beinhalten.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ung\u00FCltiges Passwort: muss mindestens {0} Gro\u00DFbuchstaben beinhalten.
|
||||
invalidPasswordMinSpecialCharsMessage=Ung\u00FCltiges Passwort: muss mindestens {0} Sonderzeichen beinhalten.
|
||||
invalidPasswordNotUsernameMessage=Ung\u00FCltiges Passwort: darf nicht identisch mit dem Benutzernamen sein.
|
||||
invalidPasswordNotEmailMessage=Ung\u00FCltiges Passwort: darf nicht identisch mit der E-Mail-Adresse sein.
|
||||
invalidPasswordRegexPatternMessage=Ung\u00FCltiges Passwort: stimmt nicht mit Regex-Muster \u00FCberein.
|
||||
invalidPasswordHistoryMessage=Ung\u00FCltiges Passwort: darf nicht identisch mit einem der letzten {0} Passw\u00F6rter sein.
|
||||
invalidPasswordBlacklistedMessage=Ung\u00FCltiges Passwort: Passwort ist zu bekannt und auf der schwarzen Liste.
|
||||
invalidPasswordGenericMessage=Ung\u00FCltiges Passwort: neues Passwort erf\u00FCllt die Passwort-Anforderungen nicht.
|
||||
|
||||
#ldapErrorInvalidCustomFilter=Custom configured LDAP filter does not start with "(" or does not end with ")".
|
||||
#ldapErrorConnectionTimeoutNotNumber=Connection Timeout must be a number
|
||||
#ldapErrorReadTimeoutNotNumber=Read Timeout must be a number
|
||||
#ldapErrorMissingClientId=Client ID needs to be provided in config when Realm Roles Mapping is not used.
|
||||
#ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Not possible to preserve group inheritance and use UID membership type together.
|
||||
#ldapErrorCantWriteOnlyForReadOnlyLdap=Can't set write only when LDAP provider mode is not WRITABLE
|
||||
#ldapErrorCantWriteOnlyAndReadOnly=Can't set write-only and read-only together
|
||||
|
||||
#clientRedirectURIsFragmentError=Redirect URIs must not contain an URI fragment
|
||||
#clientRootURLFragmentError=Root URL must not contain an URL fragment
|
||||
|
||||
#pairwiseMalformedClientRedirectURI=Client contained an invalid redirect URI.
|
||||
#pairwiseClientRedirectURIsMissingHost=Client redirect URIs must contain a valid host component.
|
||||
#pairwiseClientRedirectURIsMultipleHosts=Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.
|
||||
#pairwiseMalformedSectorIdentifierURI=Malformed Sector Identifier URI.
|
||||
#pairwiseFailedToGetRedirectURIs=Failed to get redirect URIs from the Sector Identifier URI.
|
||||
#pairwiseRedirectURIsMismatch=Client redirect URIs does not match redirect URIs fetched from the Sector Identifier URI.
|
||||
67
keycloak-themes/base/admin/messages/messages_en.properties
Normal file
67
keycloak-themes/base/admin/messages/messages_en.properties
Normal file
@@ -0,0 +1,67 @@
|
||||
invalidPasswordMinLengthMessage=Invalid password: minimum length {0}.
|
||||
invalidPasswordMaxLengthMessage=Invalid password: maximum 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.
|
||||
invalidPasswordNotEmailMessage=Invalid password: must not be equal to the email.
|
||||
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 does not match password policies.
|
||||
|
||||
ldapErrorEditModeMandatory=Edit Mode is mandatory
|
||||
ldapErrorInvalidCustomFilter=Custom configured LDAP filter does not start with "(" or does not end with ")".
|
||||
ldapErrorConnectionTimeoutNotNumber=Connection Timeout must be a number
|
||||
ldapErrorReadTimeoutNotNumber=Read Timeout must be a number
|
||||
ldapErrorMissingClientId=Client ID needs to be provided in config when Realm Roles Mapping is not used.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Not possible to preserve group inheritance and use UID membership type together.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Can not set write only when LDAP provider mode is not WRITABLE
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Can not set write-only and read-only together
|
||||
ldapErrorCantEnableStartTlsAndConnectionPooling=Can not enable both StartTLS and connection pooling.
|
||||
ldapErrorCantEnableUnsyncedAndImportOff=Can not disable Importing users when LDAP provider mode is UNSYNCED
|
||||
ldapErrorMissingGroupsPathGroup=Groups path group does not exist - please create the group on specified path first
|
||||
ldapErrorValidatePasswordPolicyAvailableForWritableOnly=Validate Password Policy is applicable only with WRITABLE edit mode
|
||||
|
||||
clientRedirectURIsFragmentError=Redirect URIs must not contain an URI fragment
|
||||
clientRootURLFragmentError=Root URL must not contain an URL fragment
|
||||
clientRootURLIllegalSchemeError=Root URL uses an illegal scheme
|
||||
clientBaseURLIllegalSchemeError=Base URL uses an illegal scheme
|
||||
backchannelLogoutUrlIllegalSchemeError=Backchannel logout URL uses an illegal scheme
|
||||
clientRedirectURIsIllegalSchemeError=A redirect URI uses an illegal scheme
|
||||
clientBaseURLInvalid=Base URL is not a valid URL
|
||||
clientRootURLInvalid=Root URL is not a valid URL
|
||||
clientRedirectURIsInvalid=A redirect URI is not a valid URI
|
||||
backchannelLogoutUrlIsInvalid=Backchannel logout URL is not a valid URL
|
||||
|
||||
|
||||
pairwiseMalformedClientRedirectURI=Client contained an invalid redirect URI.
|
||||
pairwiseClientRedirectURIsMissingHost=Client redirect URIs must contain a valid host component.
|
||||
pairwiseClientRedirectURIsMultipleHosts=Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.
|
||||
pairwiseMalformedSectorIdentifierURI=Malformed Sector Identifier URI.
|
||||
pairwiseFailedToGetRedirectURIs=Failed to get redirect URIs from the Sector Identifier URI.
|
||||
pairwiseRedirectURIsMismatch=Client redirect URIs does not match redirect URIs fetched from the Sector Identifier URI.
|
||||
|
||||
duplicatedJwksSettings=The "Use JWKS" switch and the switch "Use JWKS URL" cannot be ON at the same time.
|
||||
|
||||
error-invalid-value=Invalid value.
|
||||
error-invalid-blank=Please specify value.
|
||||
error-empty=Please specify value.
|
||||
error-invalid-length=Attribute {0} must have a length between {1} and {2}.
|
||||
error-invalid-length-too-short=Attribute {0} must have minimal length of {1}.
|
||||
error-invalid-length-too-long=Attribute {0} must have maximal length of {2}.
|
||||
error-invalid-email=Invalid email address.
|
||||
error-invalid-number=Invalid number.
|
||||
error-number-out-of-range=Attribute {0} must be a number between {1} and {2}.
|
||||
error-number-out-of-range-too-small=Attribute {0} must have minimal value of {1}.
|
||||
error-number-out-of-range-too-big=Attribute {0} must have maximal value of {2}.
|
||||
error-pattern-no-match=Invalid value.
|
||||
error-invalid-uri=Invalid URL.
|
||||
error-invalid-uri-scheme=Invalid URL scheme.
|
||||
error-invalid-uri-fragment=Invalid URL fragment.
|
||||
error-user-attribute-required=Please specify attribute {0}.
|
||||
error-invalid-date=Attribute {0} is invalid date.
|
||||
error-user-attribute-read-only=Attribute {0} is read only.
|
||||
error-username-invalid-character={0} contains invalid character.
|
||||
error-person-name-invalid-character={0} contains invalid character.
|
||||
@@ -0,0 +1,8 @@
|
||||
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.
|
||||
@@ -0,0 +1 @@
|
||||
# encoding: UTF-8
|
||||
@@ -0,0 +1,8 @@
|
||||
invalidPasswordMinLengthMessage=Mot de passe invalide : longueur minimale requise de {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 mot de passe.
|
||||
30
keycloak-themes/base/admin/messages/messages_ja.properties
Normal file
30
keycloak-themes/base/admin/messages/messages_ja.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
# encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=無効なパスワード: 最小{0}の長さが必要です。
|
||||
invalidPasswordMinLowerCaseCharsMessage=無効なパスワード: 少なくとも{0}文字の小文字を含む必要があります。
|
||||
invalidPasswordMinDigitsMessage=無効なパスワード: 少なくとも{0}文字の数字を含む必要があります。
|
||||
invalidPasswordMinUpperCaseCharsMessage=無効なパスワード: 少なくとも{0}文字の大文字を含む必要があります。
|
||||
invalidPasswordMinSpecialCharsMessage=無効なパスワード: 少なくとも{0}文字の特殊文字を含む必要があります。
|
||||
invalidPasswordNotUsernameMessage=無効なパスワード: ユーザー名と同じパスワードは禁止されています。
|
||||
invalidPasswordRegexPatternMessage=無効なパスワード: 正規表現パターンと一致しません。
|
||||
invalidPasswordHistoryMessage=無効なパスワード: 最近の{0}パスワードのいずれかと同じパスワードは禁止されています。
|
||||
invalidPasswordBlacklistedMessage=無効なパスワード: パスワードがブラックリストに含まれています。
|
||||
invalidPasswordGenericMessage=無効なパスワード: 新しいパスワードはパスワード・ポリシーと一致しません。
|
||||
|
||||
ldapErrorInvalidCustomFilter=LDAPフィルターのカスタム設定が、「(」から開始または「)」で終了となっていません。
|
||||
ldapErrorConnectionTimeoutNotNumber=接続タイムアウトは数字でなければなりません
|
||||
ldapErrorReadTimeoutNotNumber=読み取りタイムアウトは数字でなければなりません
|
||||
ldapErrorMissingClientId=レルムロール・マッピングを使用しない場合は、クライアントIDは設定内で提供される必要があります。
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=グループの継承を維持することと、UIDメンバーシップ・タイプを使用することは同時にできません。
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=LDAPプロバイダー・モードがWRITABLEではない場合は、write onlyを設定することはできません。
|
||||
ldapErrorCantWriteOnlyAndReadOnly=write-onlyとread-onlyを一緒に設定することはできません。
|
||||
ldapErrorCantEnableStartTlsAndConnectionPooling=StartTLSと接続プーリングの両方を有効にできません。
|
||||
|
||||
clientRedirectURIsFragmentError=リダイレクトURIにURIフラグメントを含めることはできません。
|
||||
clientRootURLFragmentError=ルートURLにURLフラグメントを含めることはできません。
|
||||
|
||||
pairwiseMalformedClientRedirectURI=クライアントに無効なリダイレクトURIが含まれていました。
|
||||
pairwiseClientRedirectURIsMissingHost=クライアントのリダイレクトURIには有効なホスト・コンポーネントが含まれている必要があります。
|
||||
pairwiseClientRedirectURIsMultipleHosts=設定されたセレクター識別子URIがない場合は、クライアントのリダイレクトURIは複数のホスト・コンポーネントを含むことはできません。
|
||||
pairwiseMalformedSectorIdentifierURI=不正なセレクター識別子URIです。
|
||||
pairwiseFailedToGetRedirectURIs=セクター識別子URIからリダイレクトURIを取得できませんでした。
|
||||
pairwiseRedirectURIsMismatch=クライアントのリダイレクトURIは、セクター識別子URIからフェッチされたリダイレクトURIと一致しません。
|
||||
25
keycloak-themes/base/admin/messages/messages_lt.properties
Normal file
25
keycloak-themes/base/admin/messages/messages_lt.properties
Normal file
@@ -0,0 +1,25 @@
|
||||
# encoding: utf-8
|
||||
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.
|
||||
|
||||
ldapErrorInvalidCustomFilter=Sukonfigūruotas LDAP filtras neprasideda "(" ir nesibaigia ")" simboliais.
|
||||
ldapErrorMissingClientId=Privaloma nurodyti kliento ID kai srities rolių susiejimas nėra nenaudojamas.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Grupių paveldėjimo ir UID narystės tipas kartu negali būti naudojami.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Negalima nustatyti rašymo rėžimo kuomet LDAP teikėjo rėžimas ne WRITABLE
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Negalima nustatyti tik rašyti ir tik skaityti kartu
|
||||
|
||||
clientRedirectURIsFragmentError=Nurodykite URI fragmentą, kurio negali būti peradresuojamuose URI adresuose
|
||||
clientRootURLFragmentError=Nurodykite URL fragmentą, kurio negali būti šakniniame URL adrese
|
||||
|
||||
pairwiseMalformedClientRedirectURI=Klientas pateikė neteisingą nukreipimo nuorodą.
|
||||
pairwiseClientRedirectURIsMissingHost=Kliento nukreipimo nuorodos privalo būti nurodytos su serverio vardo komponentu.
|
||||
pairwiseClientRedirectURIsMultipleHosts=Kuomet nesukonfigūruotas sektoriaus identifikatoriaus URL, kliento nukreipimo nuorodos privalo talpinti ne daugiau kaip vieną skirtingą serverio vardo komponentą.
|
||||
pairwiseMalformedSectorIdentifierURI=Neteisinga sektoriaus identifikatoriaus URI.
|
||||
pairwiseFailedToGetRedirectURIs=Nepavyko gauti nukreipimo nuorodų iš sektoriaus identifikatoriaus URI.
|
||||
pairwiseRedirectURIsMismatch=Kliento nukreipimo nuoroda neatitinka nukreipimo nuorodų iš sektoriaus identifikatoriaus URI.
|
||||
@@ -0,0 +1 @@
|
||||
# encoding: UTF-8
|
||||
27
keycloak-themes/base/admin/messages/messages_nl.properties
Normal file
27
keycloak-themes/base/admin/messages/messages_nl.properties
Normal file
@@ -0,0 +1,27 @@
|
||||
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.
|
||||
|
||||
ldapErrorInvalidCustomFilter=LDAP filter met aangepaste configuratie start niet met "(" of eindigt niet met ")".
|
||||
ldapErrorConnectionTimeoutNotNumber=Verbindingstimeout moet een getal zijn
|
||||
ldapErrorReadTimeoutNotNumber=Lees-timeout moet een getal zijn
|
||||
ldapErrorMissingClientId=Client ID moet ingesteld zijn als Realm Roles Mapping niet gebruikt wordt.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Kan groepsovererving niet behouden bij UID-lidmaatschapstype.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Alleen-schrijven niet mogelijk als LDAP provider mode niet WRITABLE is
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Alleen-schrijven en alleen-lezen mogen niet tegelijk ingesteld zijn
|
||||
|
||||
clientRedirectURIsFragmentError=Redirect URIs mogen geen URI fragment bevatten
|
||||
clientRootURLFragmentError=Root URL mag geen URL fragment bevatten
|
||||
|
||||
pairwiseMalformedClientRedirectURI=Client heeft een ongeldige redirect URI.
|
||||
pairwiseClientRedirectURIsMissingHost=Client redirect URIs moeten een geldige host-component bevatten.
|
||||
pairwiseClientRedirectURIsMultipleHosts=Zonder een geconfigureerde Sector Identifier URI mogen client redirect URIs niet meerdere host componenten hebben.
|
||||
pairwiseMalformedSectorIdentifierURI=Onjuist notatie in Sector Identifier URI.
|
||||
pairwiseFailedToGetRedirectURIs=Kon geen redirect URIs verkrijgen van de Sector Identifier URI.
|
||||
pairwiseRedirectURIsMismatch=Client redirect URIs komen niet overeen met redict URIs ontvangen van de Sector Identifier URI.
|
||||
14
keycloak-themes/base/admin/messages/messages_no.properties
Normal file
14
keycloak-themes/base/admin/messages/messages_no.properties
Normal file
@@ -0,0 +1,14 @@
|
||||
invalidPasswordMinLengthMessage=Ugyldig passord: minimum lengde {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minst {0} sm\u00E5 bokstaver.
|
||||
invalidPasswordMinDigitsMessage=Ugyldig passord: m\u00E5 inneholde minst {0} sifre.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minst {0} store bokstaver.
|
||||
invalidPasswordMinSpecialCharsMessage=Ugyldig passord: m\u00E5 inneholde minst {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.
|
||||
|
||||
ldapErrorInvalidCustomFilter=Tilpasset konfigurasjon av LDAP-filter starter ikke med "(" eller slutter ikke med ")".
|
||||
ldapErrorMissingClientId=KlientID m\u00E5 v\u00E6re tilgjengelig i config n\u00E5r sikkerhetsdomenerollemapping ikke brukes.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Ikke mulig \u00E5 bevare gruppearv og samtidig bruke UID medlemskapstype.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Kan ikke sette write-only n\u00E5r LDAP leverand\u00F8r-modus ikke er WRITABLE
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Kan ikke sette b\u00E5de write-only og read-only
|
||||
@@ -0,0 +1 @@
|
||||
# encoding: UTF-8
|
||||
@@ -0,0 +1,18 @@
|
||||
#encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=Senha inválida: deve conter ao menos {0} caracteres.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Senha inválida: deve conter ao menos {0} caracteres minúsculos.
|
||||
invalidPasswordMinDigitsMessage=Senha inválida: deve conter ao menos {0} digitos numéricos.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Senha inválida: deve conter ao menos {0} caracteres maiúsculos.
|
||||
invalidPasswordMinSpecialCharsMessage=Senha inválida: deve conter ao menos {0} caracteres especiais.
|
||||
invalidPasswordNotUsernameMessage=Senha inválida: não deve ser igual ao nome de usuário.
|
||||
invalidPasswordRegexPatternMessage=Senha inválida: falha ao passar por padrões.
|
||||
invalidPasswordHistoryMessage=Senha inválida: não deve ser igual às últimas {0} senhas.
|
||||
|
||||
ldapErrorInvalidCustomFilter=Filtro LDAP não inicia com "(" ou não termina com ")".
|
||||
ldapErrorMissingClientId=ID do cliente precisa ser definido na configuração quando mapeamentos de Roles do Realm não é utilizado.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Não é possível preservar herança de grupos e usar tipo de associação de UID ao mesmo tempo.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Não é possível definir modo de somente escrita quando o provedor LDAP não suporta escrita
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Não é possível definir somente escrita e somente leitura ao mesmo tempo
|
||||
|
||||
clientRedirectURIsFragmentError=URIs de redirecionamento não podem conter fragmentos
|
||||
clientRootURLFragmentError=URL raiz não pode conter fragmentos
|
||||
26
keycloak-themes/base/admin/messages/messages_ru.properties
Normal file
26
keycloak-themes/base/admin/messages/messages_ru.properties
Normal file
@@ -0,0 +1,26 @@
|
||||
# encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=Некорректный пароль: длина пароля должна быть не менее {0} символов(а).
|
||||
invalidPasswordMinDigitsMessage=Некорректный пароль: должен содержать не менее {0} цифр(ы).
|
||||
invalidPasswordMinLowerCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в нижнем регистре.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в верхнем регистре.
|
||||
invalidPasswordMinSpecialCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} спецсимволов(а).
|
||||
invalidPasswordNotUsernameMessage=Некорректный пароль: пароль не должен совпадать с именем пользователя.
|
||||
invalidPasswordRegexPatternMessage=Некорректный пароль: пароль не прошел проверку по регулярному выражению.
|
||||
invalidPasswordHistoryMessage=Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролем(ями).
|
||||
invalidPasswordGenericMessage=Некорректный пароль: новый пароль не соответствует правилам пароля.
|
||||
|
||||
ldapErrorInvalidCustomFilter=Сконфигурированный пользователем фильтр LDAP не должен начинаться с "(" или заканчиваться на ")".
|
||||
ldapErrorMissingClientId=Client ID должен быть настроен в конфигурации, если не используется сопоставление ролей в realm.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Не удалось унаследовать группу и использовать членство UID типа вместе.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Невозможно установить режим "только на запись", когда LDAP провайдер не в режиме WRITABLE
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Невозможно одновременно установить режимы "только на чтение" и "только на запись"
|
||||
|
||||
clientRedirectURIsFragmentError=URI перенаправления не должен содержать фрагмент URI
|
||||
clientRootURLFragmentError=Корневой URL не должен содержать фрагмент URL
|
||||
|
||||
pairwiseMalformedClientRedirectURI=Клиент содержит некорректный URI перенаправления.
|
||||
pairwiseClientRedirectURIsMissingHost=URI перенаправления клиента должен содержать корректный компонент хоста.
|
||||
pairwiseClientRedirectURIsMultipleHosts=Без конфигурации по части идентификатора URI, URI перенаправления клиента не может содержать несколько компонентов хоста.
|
||||
pairwiseMalformedSectorIdentifierURI=Искаженная часть идентификатора URI.
|
||||
pairwiseFailedToGetRedirectURIs=Не удалось получить идентификаторы URI перенаправления из части идентификатора URI.
|
||||
pairwiseRedirectURIsMismatch=Клиент URI переадресации не соответствует URI переадресации, полученной из части идентификатора URI.
|
||||
@@ -0,0 +1,26 @@
|
||||
# encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=无效的密码:最短长度 {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=无效的密码:至少包含 {0} 小写字母
|
||||
invalidPasswordMinDigitsMessage=无效的密码:至少包含 {0} 个数字
|
||||
invalidPasswordMinUpperCaseCharsMessage=无效的密码:最短长度 {0} 大写字母
|
||||
invalidPasswordMinSpecialCharsMessage=无效的密码:最短长度 {0} 特殊字符
|
||||
invalidPasswordNotUsernameMessage=无效的密码: 不可以与用户名相同
|
||||
invalidPasswordRegexPatternMessage=无效的密码: 无法与正则表达式匹配
|
||||
invalidPasswordHistoryMessage=无效的密码:不能与最后使用的 {0} 个密码相同
|
||||
|
||||
ldapErrorInvalidCustomFilter=定制的 LDAP过滤器不是以 "(" 开头或以 ")"结尾.
|
||||
ldapErrorConnectionTimeoutNotNumber=Connection Timeout 必须是个数字
|
||||
ldapErrorMissingClientId=当域角色映射未启用时,客户端 ID 需要指定。
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=无法在使用UID成员类型的同时维护组继承属性。
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=当LDAP提供方不是可写模式时,无法设置只写
|
||||
ldapErrorCantWriteOnlyAndReadOnly=无法同时设置只读和只写
|
||||
|
||||
clientRedirectURIsFragmentError=重定向URL不应包含URI片段
|
||||
clientRootURLFragmentError=根URL 不应包含 URL 片段
|
||||
|
||||
pairwiseMalformedClientRedirectURI=客户端包含一个无效的重定向URL
|
||||
pairwiseClientRedirectURIsMissingHost=客户端重定向URL需要有一个有效的主机
|
||||
pairwiseClientRedirectURIsMultipleHosts=Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.
|
||||
pairwiseMalformedSectorIdentifierURI=Malformed Sector Identifier URI.
|
||||
pairwiseFailedToGetRedirectURIs=无法从服务器获得重定向URL
|
||||
pairwiseRedirectURIsMismatch=客户端的重定向URI与服务器端获取的URI配置不匹配。
|
||||
3858
keycloak-themes/base/admin/resources/js/app.js
Normal file
3858
keycloak-themes/base/admin/resources/js/app.js
Normal file
File diff suppressed because it is too large
Load Diff
569
keycloak-themes/base/admin/resources/js/authz/authz-app.js
Normal file
569
keycloak-themes/base/admin/resources/js/authz/authz-app.js
Normal file
@@ -0,0 +1,569 @@
|
||||
/*
|
||||
* JBoss, Home of Professional Open Source.
|
||||
* Copyright 2016 Red Hat, Inc., and individual contributors
|
||||
* as indicated by the @author tags.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
module.config(['$routeProvider', function ($routeProvider) {
|
||||
$routeProvider
|
||||
.when('/realms/:realm/authz', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-list.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
clients: function (ClientListLoader) {
|
||||
return ClientListLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
clients: function (ClientListLoader) {
|
||||
return ClientListLoader();
|
||||
},
|
||||
serverInfo: function (ServerInfoLoader) {
|
||||
return ServerInfoLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/export-settings', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-export-settings.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
clients: function (ClientListLoader) {
|
||||
return ClientListLoader();
|
||||
},
|
||||
serverInfo: function (ServerInfoLoader) {
|
||||
return ServerInfoLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/evaluate', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/resource-server-policy-evaluate.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
clients: function (ClientListLoader) {
|
||||
return ClientListLoader();
|
||||
},
|
||||
roles: function (RoleListLoader) {
|
||||
return new RoleListLoader();
|
||||
}
|
||||
},
|
||||
controller: 'PolicyEvaluateCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/evaluate/result', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/resource-server-policy-evaluate-result.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
},
|
||||
controller: 'PolicyEvaluateCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/resource', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-resource-list.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerResourceCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/resource/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-resource-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerResourceDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/resource/:rsrid', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-resource-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerResourceDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/scope', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-scope-list.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerScopeCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/scope/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-scope-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerScopeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/scope/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/resource-server-scope-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerScopeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/permission', {
|
||||
templateUrl: resourceUrl + '/partials/authz/permission/resource-server-permission-list.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPermissionCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/resource-server-policy-list.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/permission/resource/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/permission/provider/resource-server-policy-resource-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyResourceDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/permission/resource/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/permission/provider/resource-server-policy-resource-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyResourceDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/permission/scope/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/permission/provider/resource-server-policy-scope-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyScopeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/permission/scope/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/permission/provider/resource-server-policy-scope-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyScopeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/user/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-user-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyUserDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/user/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-user-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyUserDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/client/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-client-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyClientDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/client/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-client-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyClientDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/role/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-role-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyRoleDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/role/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-role-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyRoleDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/group/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-group-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyGroupDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/group/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-group-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyGroupDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/js/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-js-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
serverInfo : function(ServerInfoLoader) {
|
||||
return ServerInfoLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyJSDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/js/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-js-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
serverInfo : function(ServerInfoLoader) {
|
||||
return ServerInfoLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyJSDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/time/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-time-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyTimeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/time/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-time-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyTimeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/aggregate/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyAggregateDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/aggregate/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyAggregateDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/client-scope/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-client-scope-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyClientScopeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/client-scope/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-client-scope-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyClientScopeDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/regex/create', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-regex-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyRegexDetailCtrl'
|
||||
}).when('/realms/:realm/clients/:client/authz/resource-server/policy/regex/:id', {
|
||||
templateUrl: resourceUrl + '/partials/authz/policy/provider/resource-server-policy-regex-detail.html',
|
||||
resolve: {
|
||||
realm: function (RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller: 'ResourceServerPolicyRegexDetailCtrl'
|
||||
}).when('/realms/:realm/roles/:role/permissions', {
|
||||
templateUrl : resourceUrl + '/partials/authz/mgmt/realm-role-permissions.html',
|
||||
resolve : {
|
||||
realm : function(RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
role : function(RoleLoader) {
|
||||
return RoleLoader();
|
||||
}
|
||||
},
|
||||
controller : 'RealmRolePermissionsCtrl'
|
||||
}).when('/realms/:realm/clients/:client/roles/:role/permissions', {
|
||||
templateUrl : resourceUrl + '/partials/authz/mgmt/client-role-permissions.html',
|
||||
resolve : {
|
||||
realm : function(RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
},
|
||||
role : function(RoleLoader) {
|
||||
return RoleLoader();
|
||||
}
|
||||
},
|
||||
controller : 'ClientRolePermissionsCtrl'
|
||||
}).when('/realms/:realm/users-permissions', {
|
||||
templateUrl : resourceUrl + '/partials/authz/mgmt/users-permissions.html',
|
||||
resolve : {
|
||||
realm : function(RealmLoader) {
|
||||
return RealmLoader();
|
||||
}
|
||||
},
|
||||
controller : 'UsersPermissionsCtrl'
|
||||
})
|
||||
.when('/realms/:realm/clients/:client/permissions', {
|
||||
templateUrl : resourceUrl + '/partials/authz/mgmt/client-permissions.html',
|
||||
resolve : {
|
||||
realm : function(RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
client : function(ClientLoader) {
|
||||
return ClientLoader();
|
||||
}
|
||||
},
|
||||
controller : 'ClientPermissionsCtrl'
|
||||
})
|
||||
.when('/realms/:realm/groups/:group/permissions', {
|
||||
templateUrl : resourceUrl + '/partials/authz/mgmt/group-permissions.html',
|
||||
resolve : {
|
||||
realm : function(RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
group : function(GroupLoader) {
|
||||
return GroupLoader();
|
||||
}
|
||||
},
|
||||
controller : 'GroupPermissionsCtrl'
|
||||
})
|
||||
.when('/realms/:realm/identity-provider-settings/provider/:provider_id/:alias/permissions', {
|
||||
templateUrl : function(params){ return resourceUrl + '/partials/authz/mgmt/broker-permissions.html'; },
|
||||
resolve : {
|
||||
realm : function(RealmLoader) {
|
||||
return RealmLoader();
|
||||
},
|
||||
identityProvider : function(IdentityProviderLoader) {
|
||||
return IdentityProviderLoader();
|
||||
}
|
||||
},
|
||||
controller : 'IdentityProviderPermissionCtrl'
|
||||
})
|
||||
;
|
||||
}]);
|
||||
|
||||
module.directive('kcTabsResourceServer', function () {
|
||||
return {
|
||||
scope: true,
|
||||
restrict: 'E',
|
||||
replace: true,
|
||||
templateUrl: resourceUrl + '/templates/authz/kc-tabs-resource-server.html'
|
||||
}
|
||||
});
|
||||
|
||||
module.filter('unique', function () {
|
||||
|
||||
return function (items, filterOn) {
|
||||
|
||||
if (filterOn === false) {
|
||||
return items;
|
||||
}
|
||||
|
||||
if ((filterOn || angular.isUndefined(filterOn)) && angular.isArray(items)) {
|
||||
var hashCheck = {}, newItems = [];
|
||||
|
||||
var extractValueToCompare = function (item) {
|
||||
if (angular.isObject(item) && angular.isString(filterOn)) {
|
||||
return item[filterOn];
|
||||
} else {
|
||||
return item;
|
||||
}
|
||||
};
|
||||
|
||||
angular.forEach(items, function (item) {
|
||||
var valueToCheck, isDuplicate = false;
|
||||
|
||||
for (var i = 0; i < newItems.length; i++) {
|
||||
if (angular.equals(extractValueToCompare(newItems[i]), extractValueToCompare(item))) {
|
||||
isDuplicate = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isDuplicate) {
|
||||
newItems.push(item);
|
||||
}
|
||||
|
||||
});
|
||||
items = newItems;
|
||||
}
|
||||
return items;
|
||||
};
|
||||
});
|
||||
|
||||
module.filter('toCamelCase', function () {
|
||||
return function (input) {
|
||||
input = input || '';
|
||||
return input.replace(/\w\S*/g, function (txt) {
|
||||
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
||||
});
|
||||
};
|
||||
})
|
||||
3034
keycloak-themes/base/admin/resources/js/authz/authz-controller.js
Normal file
3034
keycloak-themes/base/admin/resources/js/authz/authz-controller.js
Normal file
File diff suppressed because it is too large
Load Diff
218
keycloak-themes/base/admin/resources/js/authz/authz-services.js
Normal file
218
keycloak-themes/base/admin/resources/js/authz/authz-services.js
Normal file
@@ -0,0 +1,218 @@
|
||||
module.factory('ResourceServer', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server', {
|
||||
realm : '@realm',
|
||||
client: '@client'
|
||||
}, {
|
||||
'update' : {method : 'PUT'},
|
||||
'import' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/import', method : 'POST'},
|
||||
'settings' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/settings', method : 'GET'}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ResourceServerResource', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/resource/:rsrid', {
|
||||
realm : '@realm',
|
||||
client: '@client',
|
||||
rsrid : '@rsrid'
|
||||
}, {
|
||||
'update' : {method : 'PUT'},
|
||||
'search' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/resource/search', method : 'GET'},
|
||||
'scopes' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/resource/:rsrid/scopes', method : 'GET', isArray: true},
|
||||
'permissions' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/resource/:rsrid/permissions', method : 'GET', isArray: true}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ResourceServerScope', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/scope/:id', {
|
||||
realm : '@realm',
|
||||
client: '@client',
|
||||
id : '@id'
|
||||
}, {
|
||||
'update' : {method : 'PUT'},
|
||||
'search' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/scope/search', method : 'GET'},
|
||||
'resources' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/scope/:id/resources', method : 'GET', isArray: true},
|
||||
'permissions' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/scope/:id/permissions', method : 'GET', isArray: true},
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ResourceServerPolicy', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:type/:id', {
|
||||
realm : '@realm',
|
||||
client: '@client',
|
||||
id : '@id',
|
||||
type: '@type'
|
||||
}, {
|
||||
'update' : {method : 'PUT'},
|
||||
'search' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/search', method : 'GET'},
|
||||
'associatedPolicies' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:id/associatedPolicies', method : 'GET', isArray: true},
|
||||
'dependentPolicies' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:id/dependentPolicies', method : 'GET', isArray: true},
|
||||
'scopes' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:id/scopes', method : 'GET', isArray: true},
|
||||
'resources' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:id/resources', method : 'GET', isArray: true}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ResourceServerPermission', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/permission/:type/:id', {
|
||||
realm : '@realm',
|
||||
client: '@client',
|
||||
type: '@type',
|
||||
id : '@id'
|
||||
}, {
|
||||
'update' : {method : 'PUT'},
|
||||
'search' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/permission/search', method : 'GET'},
|
||||
'searchPolicies' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy', method : 'GET', isArray: true},
|
||||
'associatedPolicies' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:id/associatedPolicies', method : 'GET', isArray: true},
|
||||
'dependentPolicies' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/:id/dependentPolicies', method : 'GET', isArray: true},
|
||||
'scopes' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/permission/:id/scopes', method : 'GET', isArray: true},
|
||||
'resources' : {url: authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/permission/:id/resources', method : 'GET', isArray: true}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('PolicyProvider', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/authz/resource-server/policy/providers', {
|
||||
realm : '@realm',
|
||||
client: '@client'
|
||||
});
|
||||
});
|
||||
|
||||
module.service('AuthzDialog', function($modal) {
|
||||
var dialog = {};
|
||||
|
||||
var openDialog = function(title, message, btns, template) {
|
||||
var controller = function($scope, $modalInstance, $sce, title, message, btns) {
|
||||
$scope.title = title;
|
||||
$scope.message = $sce.trustAsHtml(message);
|
||||
$scope.btns = btns;
|
||||
|
||||
$scope.ok = function () {
|
||||
$modalInstance.close();
|
||||
};
|
||||
$scope.cancel = function () {
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
};
|
||||
|
||||
return $modal.open({
|
||||
templateUrl: resourceUrl + template,
|
||||
controller: controller,
|
||||
resolve: {
|
||||
title: function() {
|
||||
return title;
|
||||
},
|
||||
message: function() {
|
||||
return message;
|
||||
},
|
||||
btns: function() {
|
||||
return btns;
|
||||
}
|
||||
}
|
||||
}).result;
|
||||
}
|
||||
|
||||
dialog.confirmDeleteWithMsg = function(name, type, msg, success) {
|
||||
var title = 'Delete ' + type;
|
||||
msg += 'Are you sure you want to permanently delete the ' + type + ' <strong>' + name + '</strong> ?';
|
||||
var btns = {
|
||||
ok: {
|
||||
label: 'Delete',
|
||||
cssClass: 'btn btn-danger'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Cancel',
|
||||
cssClass: 'btn btn-default'
|
||||
}
|
||||
}
|
||||
|
||||
openDialog(title, msg, btns, '/templates/authz/kc-authz-modal.html').then(success);
|
||||
};
|
||||
|
||||
dialog.confirmDelete = function(name, type, success) {
|
||||
var title = 'Delete ' + type;
|
||||
var msg = 'Are you sure you want to permanently delete the ' + type + ' <strong>' + name + '</strong> ?';
|
||||
var btns = {
|
||||
ok: {
|
||||
label: 'Delete',
|
||||
cssClass: 'btn btn-danger'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Cancel',
|
||||
cssClass: 'btn btn-default'
|
||||
}
|
||||
}
|
||||
|
||||
openDialog(title, msg, btns, '/templates/authz/kc-authz-modal.html').then(success);
|
||||
}
|
||||
|
||||
return dialog;
|
||||
});
|
||||
|
||||
module.factory('RoleManagementPermissions', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/roles-by-id/:role/management/permissions', {
|
||||
realm : '@realm',
|
||||
role : '@role'
|
||||
}, {
|
||||
update: {
|
||||
method: 'PUT'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UsersManagementPermissions', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/users-management-permissions', {
|
||||
realm : '@realm'
|
||||
}, {
|
||||
update: {
|
||||
method: 'PUT'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientManagementPermissions', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/clients/:client/management/permissions', {
|
||||
realm : '@realm',
|
||||
client : '@client'
|
||||
}, {
|
||||
update: {
|
||||
method: 'PUT'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('IdentityProviderManagementPermissions', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/identity-provider/instances/:alias/management/permissions', {
|
||||
realm : '@realm',
|
||||
alias : '@alias'
|
||||
}, {
|
||||
update: {
|
||||
method: 'PUT'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('GroupManagementPermissions', function($resource) {
|
||||
return $resource(authUrl + '/admin/realms/:realm/groups/:group/management/permissions', {
|
||||
realm : '@realm',
|
||||
group : '@group'
|
||||
}, {
|
||||
update: {
|
||||
method: 'PUT'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('policyViewState', [function () {
|
||||
return {
|
||||
model: {
|
||||
state: {}
|
||||
}
|
||||
};
|
||||
}]);
|
||||
|
||||
module.factory('viewState', [function () {
|
||||
return {
|
||||
model: {
|
||||
state: {}
|
||||
}
|
||||
};
|
||||
}]);
|
||||
|
||||
4023
keycloak-themes/base/admin/resources/js/controllers/clients.js
Normal file
4023
keycloak-themes/base/admin/resources/js/controllers/clients.js
Normal file
File diff suppressed because it is too large
Load Diff
625
keycloak-themes/base/admin/resources/js/controllers/groups.js
Normal file
625
keycloak-themes/base/admin/resources/js/controllers/groups.js
Normal file
@@ -0,0 +1,625 @@
|
||||
module.controller('GroupListCtrl', function($scope, $route, $q, realm, Groups, GroupsCount, Group, GroupChildren, Notifications, $location, Dialog, ComponentUtils, $translate) {
|
||||
$scope.realm = realm;
|
||||
$scope.groupList = [
|
||||
{
|
||||
"id" : "realm",
|
||||
"name": $translate.instant('groups'),
|
||||
"subGroups" : []
|
||||
}
|
||||
];
|
||||
|
||||
$scope.searchCriteria = '';
|
||||
$scope.currentPage = 1;
|
||||
$scope.currentPageInput = $scope.currentPage;
|
||||
$scope.pageSize = 20;
|
||||
$scope.numberOfPages = 1;
|
||||
$scope.tree = [];
|
||||
|
||||
var refreshGroups = function (search) {
|
||||
console.log('refreshGroups');
|
||||
$scope.currentPageInput = $scope.currentPage;
|
||||
|
||||
var first = ($scope.currentPage * $scope.pageSize) - $scope.pageSize;
|
||||
console.log('first:' + first);
|
||||
var queryParams = {
|
||||
realm : realm.realm,
|
||||
first : first,
|
||||
max : $scope.pageSize
|
||||
};
|
||||
var countParams = {
|
||||
realm : realm.realm,
|
||||
top : 'true'
|
||||
};
|
||||
|
||||
if(angular.isDefined(search) && search !== '') {
|
||||
queryParams.search = search;
|
||||
countParams.search = search;
|
||||
}
|
||||
|
||||
var promiseGetGroups = $q.defer();
|
||||
Groups.query(queryParams, function(entry) {
|
||||
promiseGetGroups.resolve(entry);
|
||||
}, function() {
|
||||
promiseGetGroups.reject($translate.instant('group.fetch.fail', {params: queryParams}));
|
||||
});
|
||||
promiseGetGroups.promise.then(function(groups) {
|
||||
$scope.groupList = [
|
||||
{
|
||||
"id" : "realm",
|
||||
"name": $translate.instant('groups'),
|
||||
"subGroups": ComponentUtils.sortGroups('name', groups)
|
||||
}
|
||||
];
|
||||
if (angular.isDefined(search) && search !== '') {
|
||||
// Add highlight for concrete text match
|
||||
setTimeout(function () {
|
||||
document.querySelectorAll('span').forEach(function (element) {
|
||||
if (element.textContent.indexOf(search) != -1) {
|
||||
angular.element(element).addClass('highlight');
|
||||
}
|
||||
});
|
||||
}, 500);
|
||||
}
|
||||
}, function (failed) {
|
||||
Notifications.error(failed);
|
||||
});
|
||||
|
||||
var promiseCount = $q.defer();
|
||||
console.log('countParams: realm[' + countParams.realm);
|
||||
GroupsCount.query(countParams, function(entry) {
|
||||
promiseCount.resolve(entry);
|
||||
}, function() {
|
||||
promiseCount.reject($translate.instant('group.fetch.fail', {params: countParams}));
|
||||
});
|
||||
promiseCount.promise.then(function(entry) {
|
||||
if(angular.isDefined(entry.count) && entry.count > $scope.pageSize) {
|
||||
$scope.numberOfPages = Math.ceil(entry.count/$scope.pageSize);
|
||||
} else {
|
||||
$scope.numberOfPages = 1;
|
||||
}
|
||||
}, function (failed) {
|
||||
Notifications.error(failed);
|
||||
});
|
||||
};
|
||||
refreshGroups();
|
||||
|
||||
$scope.$watch('currentPage', function(newValue, oldValue) {
|
||||
if(parseInt(newValue, 10) !== oldValue) {
|
||||
refreshGroups($scope.searchCriteria);
|
||||
}
|
||||
});
|
||||
|
||||
$scope.clearSearch = function() {
|
||||
$scope.searchCriteria = '';
|
||||
if (parseInt($scope.currentPage, 10) === 1) {
|
||||
refreshGroups();
|
||||
} else {
|
||||
$scope.currentPage = 1;
|
||||
}
|
||||
};
|
||||
|
||||
$scope.searchGroup = function() {
|
||||
if (parseInt($scope.currentPage, 10) === 1) {
|
||||
refreshGroups($scope.searchCriteria);
|
||||
} else {
|
||||
$scope.currentPage = 1;
|
||||
}
|
||||
};
|
||||
|
||||
$scope.edit = function(selected) {
|
||||
if (selected.id === 'realm') return;
|
||||
$location.url("/realms/" + realm.realm + "/groups/" + selected.id);
|
||||
};
|
||||
|
||||
$scope.cut = function(selected) {
|
||||
$scope.cutNode = selected;
|
||||
};
|
||||
|
||||
$scope.isDisabled = function() {
|
||||
if (!$scope.tree.currentNode) return true;
|
||||
return $scope.tree.currentNode.id === 'realm';
|
||||
};
|
||||
|
||||
$scope.paste = function(selected) {
|
||||
if (selected === null) return;
|
||||
if ($scope.cutNode === null) return;
|
||||
if (selected.id === $scope.cutNode.id) return;
|
||||
if (selected.id === 'realm') {
|
||||
Groups.save({realm: realm.realm}, {id:$scope.cutNode.id, name: $scope.cutNode.name}, function() {
|
||||
$route.reload();
|
||||
Notifications.success($translate.instant('group.move.success'));
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
GroupChildren.save({realm: realm.realm, groupId: selected.id}, {id:$scope.cutNode.id, name: $scope.cutNode.name}, function() {
|
||||
$route.reload();
|
||||
Notifications.success($translate.instant('group.move.success'));
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
$scope.remove = function(selected) {
|
||||
if (selected === null) return;
|
||||
Dialog.confirmWithButtonText(
|
||||
$translate.instant('group.remove.confirm.title', {name: selected.name}),
|
||||
$translate.instant('group.remove.confirm.message', {name: selected.name}),
|
||||
$translate.instant('dialogs.delete.confirm'),
|
||||
function() {
|
||||
Group.remove({ realm: realm.realm, groupId : selected.id }, function() {
|
||||
$route.reload();
|
||||
Notifications.success($translate.instant('group.remove.success'));
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
$scope.createGroup = function(selected) {
|
||||
var parent = 'realm';
|
||||
if (selected) {
|
||||
parent = selected.id;
|
||||
}
|
||||
$location.url("/create/group/" + realm.realm + '/parent/' + parent);
|
||||
|
||||
};
|
||||
var isLeaf = function(node) {
|
||||
return node.id !== "realm" && (!node.subGroups || node.subGroups.length === 0);
|
||||
};
|
||||
|
||||
$scope.getGroupClass = function(node) {
|
||||
if (node.id === "realm") {
|
||||
return 'pficon pficon-users';
|
||||
}
|
||||
if (isLeaf(node)) {
|
||||
return 'normal';
|
||||
}
|
||||
if (node.subGroups.length && node.collapsed) return 'collapsed';
|
||||
if (node.subGroups.length && !node.collapsed) return 'expanded';
|
||||
return 'collapsed';
|
||||
|
||||
};
|
||||
|
||||
$scope.getSelectedClass = function(node) {
|
||||
if (node.selected) {
|
||||
return 'selected';
|
||||
} else if ($scope.cutNode && $scope.cutNode.id === node.id) {
|
||||
return 'cut';
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
module.controller('GroupCreateCtrl', function($scope, $route, realm, parentId, Groups, Group, GroupChildren, Notifications, $location, $translate) {
|
||||
$scope.realm = realm;
|
||||
$scope.group = {};
|
||||
$scope.save = function() {
|
||||
console.log('save!!!');
|
||||
if (parentId === 'realm') {
|
||||
console.log('realm');
|
||||
Groups.save({realm: realm.realm}, $scope.group, function(data, headers) {
|
||||
var l = headers().location;
|
||||
|
||||
|
||||
var id = l.substring(l.lastIndexOf("/") + 1);
|
||||
|
||||
$location.url("/realms/" + realm.realm + "/groups/" + id);
|
||||
Notifications.success($translate.instant('group.create.success'));
|
||||
})
|
||||
|
||||
} else {
|
||||
GroupChildren.save({realm: realm.realm, groupId: parentId}, $scope.group, function(data, headers) {
|
||||
var l = headers().location;
|
||||
|
||||
|
||||
var id = l.substring(l.lastIndexOf("/") + 1);
|
||||
|
||||
$location.url("/realms/" + realm.realm + "/groups/" + id);
|
||||
Notifications.success($translate.instant('group.create.success'));
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
$scope.cancel = function() {
|
||||
$location.url("/realms/" + realm.realm + "/groups");
|
||||
};
|
||||
});
|
||||
|
||||
module.controller('GroupTabCtrl', function(Dialog, $scope, Current, Group, Notifications, $location, $translate) {
|
||||
$scope.removeGroup = function() {
|
||||
Dialog.confirmWithButtonText(
|
||||
$translate.instant('group.remove.confirm.title', {name: $scope.group.name}),
|
||||
$translate.instant('group.remove.confirm.message', {name: $scope.group.name}),
|
||||
$translate.instant('dialogs.delete.confirm'),
|
||||
function() {
|
||||
Group.remove({
|
||||
realm : Current.realm.realm,
|
||||
groupId : $scope.group.id
|
||||
}, function() {
|
||||
$location.url("/realms/" + Current.realm.realm + "/groups");
|
||||
Notifications.success($translate.instant('group.remove.success'));
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
module.controller('GroupDetailCtrl', function(Dialog, $scope, realm, group, Group, Notifications, $location, $translate) {
|
||||
$scope.realm = realm;
|
||||
|
||||
if (!group.attributes) {
|
||||
group.attributes = {}
|
||||
}
|
||||
convertAttributeValuesToString(group);
|
||||
|
||||
|
||||
$scope.group = angular.copy(group);
|
||||
|
||||
$scope.changed = false; // $scope.create;
|
||||
$scope.$watch('group', function() {
|
||||
if (!angular.equals($scope.group, group)) {
|
||||
$scope.changed = true;
|
||||
}
|
||||
}, true);
|
||||
|
||||
$scope.save = function() {
|
||||
convertAttributeValuesToLists();
|
||||
|
||||
Group.update({
|
||||
realm: realm.realm,
|
||||
groupId: $scope.group.id
|
||||
}, $scope.group, function () {
|
||||
$scope.changed = false;
|
||||
convertAttributeValuesToString($scope.group);
|
||||
group = angular.copy($scope.group);
|
||||
Notifications.success($translate.instant('group.edit.success'));
|
||||
});
|
||||
};
|
||||
|
||||
function convertAttributeValuesToLists() {
|
||||
var attrs = $scope.group.attributes;
|
||||
for (var attribute in attrs) {
|
||||
if (typeof attrs[attribute] === "string") {
|
||||
attrs[attribute] = attrs[attribute].split("##");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function convertAttributeValuesToString(group) {
|
||||
var attrs = group.attributes;
|
||||
for (var attribute in attrs) {
|
||||
if (typeof attrs[attribute] === "object") {
|
||||
attrs[attribute] = attrs[attribute].join("##");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$scope.reset = function() {
|
||||
$scope.group = angular.copy(group);
|
||||
$scope.changed = false;
|
||||
};
|
||||
|
||||
$scope.cancel = function() {
|
||||
$location.url("/realms/" + realm.realm + "/groups");
|
||||
};
|
||||
|
||||
$scope.addAttribute = function() {
|
||||
$scope.group.attributes[$scope.newAttribute.key] = $scope.newAttribute.value;
|
||||
delete $scope.newAttribute;
|
||||
}
|
||||
|
||||
$scope.removeAttribute = function(key) {
|
||||
delete $scope.group.attributes[key];
|
||||
}
|
||||
});
|
||||
|
||||
module.controller('GroupRoleMappingCtrl', function($scope, $http, $route, realm, group, clients, client, Client, Notifications, GroupRealmRoleMapping,
|
||||
GroupClientRoleMapping, GroupAvailableRealmRoleMapping, GroupAvailableClientRoleMapping,
|
||||
GroupCompositeRealmRoleMapping, GroupCompositeClientRoleMapping, $translate) {
|
||||
$scope.realm = realm;
|
||||
$scope.group = group;
|
||||
$scope.selectedRealmRoles = [];
|
||||
$scope.selectedRealmMappings = [];
|
||||
$scope.realmMappings = [];
|
||||
$scope.clients = clients;
|
||||
$scope.client = client;
|
||||
$scope.clientRoles = [];
|
||||
$scope.clientComposite = [];
|
||||
$scope.selectedClientRoles = [];
|
||||
$scope.selectedClientMappings = [];
|
||||
$scope.clientMappings = [];
|
||||
$scope.dummymodel = [];
|
||||
|
||||
$scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
|
||||
$scope.addRealmRole = function() {
|
||||
$scope.selectedRealmRolesToAdd = JSON.parse('[' + $scope.selectedRealmRoles + ']');
|
||||
$scope.selectedRealmRoles = [];
|
||||
$http.post(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/realm',
|
||||
$scope.selectedRealmRolesToAdd).then(function() {
|
||||
$scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.selectedRealmMappings = [];
|
||||
$scope.selectRealmRoles = [];
|
||||
if ($scope.selectedClient) {
|
||||
console.log('load available');
|
||||
$scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.selectedClientRoles = [];
|
||||
$scope.selectedClientMappings = [];
|
||||
}
|
||||
$scope.selectedRealmRolesToAdd = [];
|
||||
Notifications.success($translate.instant('group.roles.add.success'));
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
$scope.deleteRealmRole = function() {
|
||||
$scope.selectedRealmMappingsToRemove = JSON.parse('[' + $scope.selectedRealmMappings + ']');
|
||||
$http.delete(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/realm',
|
||||
{data : $scope.selectedRealmMappingsToRemove, headers : {"content-type" : "application/json"}}).then(function() {
|
||||
$scope.realmMappings = GroupRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.selectedRealmMappings = [];
|
||||
$scope.selectRealmRoles = [];
|
||||
if ($scope.selectedClient) {
|
||||
console.log('load available');
|
||||
$scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.selectedClientRoles = [];
|
||||
$scope.selectedClientMappings = [];
|
||||
}
|
||||
$scope.selectedRealmMappingsToRemove = [];
|
||||
Notifications.success($translate.instant('group.roles.remove.success'));
|
||||
});
|
||||
};
|
||||
|
||||
$scope.addClientRole = function() {
|
||||
$scope.selectedClientRolesToAdd = JSON.parse('[' + $scope.selectedClientRoles + ']');
|
||||
$http.post(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/clients/' + $scope.selectedClient.id,
|
||||
$scope.selectedClientRolesToAdd).then(function() {
|
||||
$scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.selectedClientRoles = [];
|
||||
$scope.selectedClientMappings = [];
|
||||
$scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.selectedClientRolesToAdd = [];
|
||||
Notifications.success($translate.instant('group.roles.add.success'));
|
||||
});
|
||||
};
|
||||
|
||||
$scope.deleteClientRole = function() {
|
||||
$scope.selectedClientMappingsToRemove = JSON.parse('[' + $scope.selectedClientMappings + ']');
|
||||
$http.delete(authUrl + '/admin/realms/' + realm.realm + '/groups/' + group.id + '/role-mappings/clients/' + $scope.selectedClient.id,
|
||||
{data : $scope.selectedClientMappingsToRemove, headers : {"content-type" : "application/json"}}).then(function() {
|
||||
$scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.selectedClientRoles = [];
|
||||
$scope.selectedClientMappings = [];
|
||||
$scope.realmComposite = GroupCompositeRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.realmRoles = GroupAvailableRealmRoleMapping.query({realm : realm.realm, groupId : group.id});
|
||||
$scope.selectedClientMappingsToRemove = [];
|
||||
Notifications.success($translate.instant('group.roles.remove.success'));
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
$scope.changeClient = function(client) {
|
||||
$scope.selectedClient = client;
|
||||
if (!client || !client.id) {
|
||||
$scope.selectedClient = null;
|
||||
$scope.clientRoles = null;
|
||||
$scope.clientMappings = null;
|
||||
$scope.clientComposite = null;
|
||||
return;
|
||||
}
|
||||
if ($scope.selectedClient) {
|
||||
$scope.clientComposite = GroupCompositeClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientRoles = GroupAvailableClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
$scope.clientMappings = GroupClientRoleMapping.query({realm : realm.realm, groupId : group.id, client : $scope.selectedClient.id});
|
||||
}
|
||||
$scope.selectedClientRoles = [];
|
||||
$scope.selectedClientMappings = [];
|
||||
};
|
||||
|
||||
clientSelectControl($scope, $route.current.params.realm, Client);
|
||||
|
||||
});
|
||||
|
||||
module.controller('GroupMembersCtrl', function($scope, realm, group, GroupMembership) {
|
||||
$scope.realm = realm;
|
||||
$scope.page = 0;
|
||||
$scope.group = group;
|
||||
|
||||
$scope.query = {
|
||||
realm: realm.realm,
|
||||
groupId: group.id,
|
||||
max : 5,
|
||||
first : 0
|
||||
};
|
||||
|
||||
|
||||
$scope.firstPage = function() {
|
||||
$scope.query.first = 0;
|
||||
$scope.searchQuery();
|
||||
};
|
||||
|
||||
$scope.previousPage = function() {
|
||||
$scope.query.first -= parseInt($scope.query.max);
|
||||
if ($scope.query.first < 0) {
|
||||
$scope.query.first = 0;
|
||||
}
|
||||
$scope.searchQuery();
|
||||
};
|
||||
|
||||
$scope.nextPage = function() {
|
||||
$scope.query.first += parseInt($scope.query.max);
|
||||
$scope.searchQuery();
|
||||
};
|
||||
|
||||
$scope.searchQuery = function() {
|
||||
console.log("query.search: " + $scope.query.search);
|
||||
$scope.searchLoaded = false;
|
||||
|
||||
$scope.users = GroupMembership.query($scope.query, function() {
|
||||
console.log('search loaded');
|
||||
$scope.searchLoaded = true;
|
||||
$scope.lastSearch = $scope.query.search;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.searchQuery();
|
||||
|
||||
});
|
||||
|
||||
module.controller('DefaultGroupsCtrl', function($scope, $q, realm, Groups, GroupsCount, DefaultGroups, Notifications, $translate) {
|
||||
$scope.realm = realm;
|
||||
$scope.groupList = [];
|
||||
$scope.selectedGroup = null;
|
||||
$scope.tree = [];
|
||||
|
||||
$scope.searchCriteria = '';
|
||||
$scope.currentPage = 1;
|
||||
$scope.currentPageInput = $scope.currentPage;
|
||||
$scope.pageSize = 20;
|
||||
$scope.numberOfPages = 1;
|
||||
|
||||
var refreshDefaultGroups = function () {
|
||||
DefaultGroups.query({realm: realm.realm}, function(data) {
|
||||
$scope.defaultGroups = data;
|
||||
});
|
||||
}
|
||||
|
||||
var refreshAvailableGroups = function (search) {
|
||||
var first = ($scope.currentPage * $scope.pageSize) - $scope.pageSize;
|
||||
$scope.currentPageInput = $scope.currentPage;
|
||||
var queryParams = {
|
||||
realm : realm.realm,
|
||||
first : first,
|
||||
max : $scope.pageSize
|
||||
};
|
||||
var countParams = {
|
||||
realm : realm.realm,
|
||||
top : 'true'
|
||||
};
|
||||
|
||||
if(angular.isDefined(search) && search !== '') {
|
||||
queryParams.search = search;
|
||||
countParams.search = search;
|
||||
}
|
||||
|
||||
var promiseGetGroups = $q.defer();
|
||||
Groups.query(queryParams, function(entry) {
|
||||
promiseGetGroups.resolve(entry);
|
||||
}, function() {
|
||||
promiseGetGroups.reject($translate.instant('group.fetch.fail', {params: queryParams}));
|
||||
});
|
||||
promiseGetGroups.promise.then(function(groups) {
|
||||
$scope.groupList = groups;
|
||||
}, function (failed) {
|
||||
Notifications.success(failed);
|
||||
});
|
||||
|
||||
var promiseCount = $q.defer();
|
||||
GroupsCount.query(countParams, function(entry) {
|
||||
promiseCount.resolve(entry);
|
||||
}, function() {
|
||||
promiseCount.reject($translate.instant('group.fetch.fail', {params: countParams}));
|
||||
});
|
||||
promiseCount.promise.then(function(entry) {
|
||||
if(angular.isDefined(entry.count) && entry.count > $scope.pageSize) {
|
||||
$scope.numberOfPages = Math.ceil(entry.count/$scope.pageSize);
|
||||
}
|
||||
}, function (failed) {
|
||||
Notifications.success(failed);
|
||||
});
|
||||
};
|
||||
|
||||
refreshAvailableGroups();
|
||||
|
||||
$scope.$watch('currentPage', function(newValue, oldValue) {
|
||||
if(parseInt(newValue, 10) !== parseInt(oldValue, 10)) {
|
||||
refreshAvailableGroups($scope.searchCriteria);
|
||||
}
|
||||
});
|
||||
|
||||
$scope.clearSearch = function() {
|
||||
$scope.searchCriteria = '';
|
||||
if (parseInt($scope.currentPage, 10) === 1) {
|
||||
refreshAvailableGroups();
|
||||
} else {
|
||||
$scope.currentPage = 1;
|
||||
}
|
||||
};
|
||||
|
||||
$scope.searchGroup = function() {
|
||||
if (parseInt($scope.currentPage, 10) === 1) {
|
||||
refreshAvailableGroups($scope.searchCriteria);
|
||||
} else {
|
||||
$scope.currentPage = 1;
|
||||
}
|
||||
};
|
||||
|
||||
refreshDefaultGroups();
|
||||
|
||||
$scope.addDefaultGroup = function() {
|
||||
if (!$scope.tree.currentNode) {
|
||||
Notifications.error($translate.instant('group.default.add.error'));
|
||||
return;
|
||||
}
|
||||
|
||||
DefaultGroups.update({realm: realm.realm, groupId: $scope.tree.currentNode.id}, function() {
|
||||
refreshDefaultGroups();
|
||||
Notifications.success($translate.instant('group.default.add.success'));
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$scope.removeDefaultGroup = function() {
|
||||
DefaultGroups.remove({realm: realm.realm, groupId: $scope.selectedGroup.id}, function() {
|
||||
refreshDefaultGroups();
|
||||
Notifications.success($translate.instant('group.default.remove.success'));
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
var isLeaf = function(node) {
|
||||
return node.id !== "realm" && (!node.subGroups || node.subGroups.length === 0);
|
||||
};
|
||||
|
||||
$scope.getGroupClass = function(node) {
|
||||
if (node.id === "realm") {
|
||||
return 'pficon pficon-users';
|
||||
}
|
||||
if (isLeaf(node)) {
|
||||
return 'normal';
|
||||
}
|
||||
if (node.subGroups.length && node.collapsed) return 'collapsed';
|
||||
if (node.subGroups.length && !node.collapsed) return 'expanded';
|
||||
return 'collapsed';
|
||||
|
||||
};
|
||||
|
||||
$scope.getSelectedClass = function(node) {
|
||||
if (node.selected) {
|
||||
return 'selected';
|
||||
} else if ($scope.cutNode && $scope.cutNode.id === node.id) {
|
||||
return 'cut';
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
});
|
||||
4552
keycloak-themes/base/admin/resources/js/controllers/realm.js
Normal file
4552
keycloak-themes/base/admin/resources/js/controllers/realm.js
Normal file
File diff suppressed because it is too large
Load Diff
48
keycloak-themes/base/admin/resources/js/controllers/roles.js
Normal file
48
keycloak-themes/base/admin/resources/js/controllers/roles.js
Normal file
@@ -0,0 +1,48 @@
|
||||
module.controller('RoleMembersCtrl', function($scope, realm, role, RoleMembership, Dialog, Notifications, $location, RealmRoleRemover) {
|
||||
$scope.realm = realm;
|
||||
$scope.page = 0;
|
||||
$scope.role = role;
|
||||
|
||||
$scope.query = {
|
||||
realm: realm.realm,
|
||||
role: role.name,
|
||||
max : 5,
|
||||
first : 0
|
||||
}
|
||||
|
||||
$scope.remove = function() {
|
||||
RealmRoleRemover.remove($scope.role, realm, Dialog, $location, Notifications);
|
||||
};
|
||||
|
||||
$scope.firstPage = function() {
|
||||
$scope.query.first = 0;
|
||||
$scope.searchQuery();
|
||||
}
|
||||
|
||||
$scope.previousPage = function() {
|
||||
$scope.query.first -= parseInt($scope.query.max);
|
||||
if ($scope.query.first < 0) {
|
||||
$scope.query.first = 0;
|
||||
}
|
||||
$scope.searchQuery();
|
||||
}
|
||||
|
||||
$scope.nextPage = function() {
|
||||
$scope.query.first += parseInt($scope.query.max);
|
||||
$scope.searchQuery();
|
||||
}
|
||||
|
||||
$scope.searchQuery = function() {
|
||||
console.log("query.search: " + $scope.query.search);
|
||||
$scope.searchLoaded = false;
|
||||
|
||||
$scope.users = RoleMembership.query($scope.query, function() {
|
||||
console.log('search loaded');
|
||||
$scope.searchLoaded = true;
|
||||
$scope.lastSearch = $scope.query.search;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.searchQuery();
|
||||
|
||||
});
|
||||
2042
keycloak-themes/base/admin/resources/js/controllers/users.js
Normal file
2042
keycloak-themes/base/admin/resources/js/controllers/users.js
Normal file
File diff suppressed because it is too large
Load Diff
587
keycloak-themes/base/admin/resources/js/loaders.js
Normal file
587
keycloak-themes/base/admin/resources/js/loaders.js
Normal file
@@ -0,0 +1,587 @@
|
||||
'use strict';
|
||||
|
||||
var module = angular.module('keycloak.loaders', [ 'keycloak.services', 'ngResource' ]);
|
||||
|
||||
module.factory('Loader', function($q) {
|
||||
var loader = {};
|
||||
loader.get = function(service, id) {
|
||||
return function() {
|
||||
var i = id && id();
|
||||
var delay = $q.defer();
|
||||
service.get(i, function(entry) {
|
||||
delay.resolve(entry);
|
||||
}, function() {
|
||||
delay.reject('Unable to fetch ' + i);
|
||||
});
|
||||
return delay.promise;
|
||||
};
|
||||
};
|
||||
loader.query = function(service, id) {
|
||||
return function() {
|
||||
var i = id && id();
|
||||
var delay = $q.defer();
|
||||
service.query(i, function(entry) {
|
||||
delay.resolve(entry);
|
||||
}, function() {
|
||||
delay.reject('Unable to fetch ' + i);
|
||||
});
|
||||
return delay.promise;
|
||||
};
|
||||
};
|
||||
return loader;
|
||||
});
|
||||
|
||||
module.factory('RealmListLoader', function(Loader, Realm, $q) {
|
||||
return Loader.get(Realm);
|
||||
});
|
||||
|
||||
module.factory('ServerInfoLoader', function(Loader, ServerInfo) {
|
||||
return function() {
|
||||
return ServerInfo.promise;
|
||||
};
|
||||
});
|
||||
|
||||
module.factory('RealmLoader', function(Loader, Realm, $route, $q) {
|
||||
return Loader.get(Realm, function() {
|
||||
return {
|
||||
id : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmKeysLoader', function(Loader, RealmKeys, $route, $q) {
|
||||
return Loader.get(RealmKeys, function() {
|
||||
return {
|
||||
id : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmSpecificLocalesLoader', function(Loader, RealmSpecificLocales, $route, $q) {
|
||||
return Loader.get(RealmSpecificLocales, function() {
|
||||
return {
|
||||
id : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmSpecificlocalizationTextLoader', function(Loader, RealmSpecificLocalizationText, $route, $q) {
|
||||
return Loader.get(RealmSpecificLocalizationText, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
locale : $route.current.params.locale,
|
||||
key: $route.current.params.key
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmEventsConfigLoader', function(Loader, RealmEventsConfig, $route, $q) {
|
||||
return Loader.get(RealmEventsConfig, function() {
|
||||
return {
|
||||
id : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UserListLoader', function(Loader, User, $route, $q) {
|
||||
return Loader.query(User, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RequiredActionsListLoader', function(Loader, RequiredActions, $route, $q) {
|
||||
return Loader.query(RequiredActions, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UnregisteredRequiredActionsListLoader', function(Loader, UnregisteredRequiredActions, $route, $q) {
|
||||
return Loader.query(UnregisteredRequiredActions, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmSessionStatsLoader', function(Loader, RealmSessionStats, $route, $q) {
|
||||
return Loader.get(RealmSessionStats, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmClientSessionStatsLoader', function(Loader, RealmClientSessionStats, $route, $q) {
|
||||
return Loader.query(RealmClientSessionStats, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientProtocolMapperLoader', function(Loader, ClientProtocolMapper, $route, $q) {
|
||||
return Loader.get(ClientProtocolMapper, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client,
|
||||
id: $route.current.params.id
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientScopeProtocolMapperLoader', function(Loader, ClientScopeProtocolMapper, $route, $q) {
|
||||
return Loader.get(ClientScopeProtocolMapper, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
clientScope : $route.current.params.clientScope,
|
||||
id: $route.current.params.id
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UserLoader', function(Loader, User, $route, $q) {
|
||||
return Loader.get(User, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
userId : $route.current.params.user
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ComponentLoader', function(Loader, Components, $route, $q) {
|
||||
return Loader.get(Components, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
componentId: $route.current.params.componentId
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('LDAPMapperLoader', function(Loader, Components, $route, $q) {
|
||||
return Loader.get(Components, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
componentId: $route.current.params.mapperId
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ComponentsLoader', function(Loader, Components, $route, $q) {
|
||||
var componentsLoader = {};
|
||||
|
||||
componentsLoader.loadComponents = function(parent, componentType) {
|
||||
return Loader.query(Components, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
parent : parent,
|
||||
type: componentType
|
||||
}
|
||||
})();
|
||||
};
|
||||
|
||||
return componentsLoader;
|
||||
});
|
||||
|
||||
module.factory('SubComponentTypesLoader', function(Loader, SubComponentTypes, $route, $q) {
|
||||
var componentsLoader = {};
|
||||
|
||||
componentsLoader.loadComponents = function(parent, componentType) {
|
||||
return Loader.query(SubComponentTypes, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
componentId : parent,
|
||||
type: componentType
|
||||
}
|
||||
})();
|
||||
};
|
||||
|
||||
return componentsLoader;
|
||||
});
|
||||
|
||||
module.factory('UserSessionStatsLoader', function(Loader, UserSessionStats, $route, $q) {
|
||||
return Loader.get(UserSessionStats, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
user : $route.current.params.user
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UserSessionsLoader', function(Loader, UserSessions, $route, $q) {
|
||||
return Loader.query(UserSessions, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
user : $route.current.params.user
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UserOfflineSessionsLoader', function(Loader, UserOfflineSessions, $route, $q) {
|
||||
return Loader.query(UserOfflineSessions, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
user : $route.current.params.user,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UserFederatedIdentityLoader', function(Loader, UserFederatedIdentities, $route, $q) {
|
||||
return Loader.query(UserFederatedIdentities, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
user : $route.current.params.user
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('UserConsentsLoader', function(Loader, UserConsents, $route, $q) {
|
||||
return Loader.query(UserConsents, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
user : $route.current.params.user
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
module.factory('RoleLoader', function(Loader, RoleById, $route, $q) {
|
||||
return Loader.get(RoleById, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
role : $route.current.params.role
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RoleListLoader', function(Loader, Role, $route, $q) {
|
||||
return Loader.query(Role, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientRoleLoader', function(Loader, RoleById, $route, $q) {
|
||||
return Loader.get(RoleById, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client,
|
||||
role : $route.current.params.role
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientSessionStatsLoader', function(Loader, ClientSessionStats, $route, $q) {
|
||||
return Loader.get(ClientSessionStats, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientSessionCountLoader', function(Loader, ClientSessionCount, $route, $q) {
|
||||
return Loader.get(ClientSessionCount, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientOfflineSessionCountLoader', function(Loader, ClientOfflineSessionCount, $route, $q) {
|
||||
return Loader.get(ClientOfflineSessionCount, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientDefaultClientScopesLoader', function(Loader, ClientDefaultClientScopes, $route, $q) {
|
||||
return Loader.query(ClientDefaultClientScopes, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientOptionalClientScopesLoader', function(Loader, ClientOptionalClientScopes, $route, $q) {
|
||||
return Loader.query(ClientOptionalClientScopes, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientLoader', function(Loader, Client, $route, $q) {
|
||||
return Loader.get(Client, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientListLoader', function(Loader, Client, $route, $q) {
|
||||
return Loader.query(Client, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
first: 0,
|
||||
max: 20
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientScopeLoader', function(Loader, ClientScope, $route, $q) {
|
||||
return Loader.get(ClientScope, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
clientScope : $route.current.params.clientScope
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientScopeListLoader', function(Loader, ClientScope, $route, $q) {
|
||||
return Loader.query(ClientScope, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmDefaultClientScopesLoader', function(Loader, RealmDefaultClientScopes, $route, $q) {
|
||||
return Loader.query(RealmDefaultClientScopes, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('RealmOptionalClientScopesLoader', function(Loader, RealmOptionalClientScopes, $route, $q) {
|
||||
return Loader.query(RealmOptionalClientScopes, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientServiceAccountUserLoader', function(Loader, ClientServiceAccountUser, $route, $q) {
|
||||
return Loader.get(ClientServiceAccountUser, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
client : $route.current.params.client
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
module.factory('RoleMappingLoader', function(Loader, RoleMapping, $route, $q) {
|
||||
var realm = $route.current.params.realm || $route.current.params.client;
|
||||
|
||||
return Loader.query(RoleMapping, function() {
|
||||
return {
|
||||
realm : realm,
|
||||
role : $route.current.params.role
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('IdentityProviderLoader', function(Loader, IdentityProvider, $route, $q) {
|
||||
return Loader.get(IdentityProvider, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
alias: $route.current.params.alias
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('IdentityProviderFactoryLoader', function(Loader, IdentityProviderFactory, $route, $q) {
|
||||
return Loader.get(IdentityProviderFactory, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
provider_id: $route.current.params.provider_id
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('IdentityProviderMapperTypesLoader', function(Loader, IdentityProviderMapperTypes, $route, $q) {
|
||||
return Loader.get(IdentityProviderMapperTypes, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
alias: $route.current.params.alias
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('IdentityProviderMappersLoader', function(Loader, IdentityProviderMappers, $route, $q) {
|
||||
return Loader.query(IdentityProviderMappers, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
alias: $route.current.params.alias
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('IdentityProviderMapperLoader', function(Loader, IdentityProviderMapper, $route, $q) {
|
||||
return Loader.get(IdentityProviderMapper, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
alias: $route.current.params.alias,
|
||||
mapperId: $route.current.params.mapperId
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('AuthenticationFlowsLoader', function(Loader, AuthenticationFlows, $route, $q) {
|
||||
return Loader.query(AuthenticationFlows, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
flow: ''
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('AuthenticationFormProvidersLoader', function(Loader, AuthenticationFormProviders, $route, $q) {
|
||||
return Loader.query(AuthenticationFormProviders, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('AuthenticationFormActionProvidersLoader', function(Loader, AuthenticationFormActionProviders, $route, $q) {
|
||||
return Loader.query(AuthenticationFormActionProviders, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('AuthenticatorProvidersLoader', function(Loader, AuthenticatorProviders, $route, $q) {
|
||||
return Loader.query(AuthenticatorProviders, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientAuthenticatorProvidersLoader', function(Loader, ClientAuthenticatorProviders, $route, $q) {
|
||||
return Loader.query(ClientAuthenticatorProviders, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('AuthenticationFlowLoader', function(Loader, AuthenticationFlows, $route, $q) {
|
||||
return Loader.get(AuthenticationFlows, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
flow: $route.current.params.flow
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('AuthenticationConfigDescriptionLoader', function(Loader, AuthenticationConfigDescription, $route, $q) {
|
||||
return Loader.get(AuthenticationConfigDescription, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
provider: $route.current.params.provider
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('PerClientAuthenticationConfigDescriptionLoader', function(Loader, PerClientAuthenticationConfigDescription, $route, $q) {
|
||||
return Loader.get(PerClientAuthenticationConfigDescription, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ExecutionIdLoader', function($route) {
|
||||
return function() { return $route.current.params.executionId; };
|
||||
});
|
||||
|
||||
module.factory('AuthenticationConfigLoader', function(Loader, AuthenticationConfig, $route, $q) {
|
||||
return Loader.get(AuthenticationConfig, function () {
|
||||
return {
|
||||
realm: $route.current.params.realm,
|
||||
config: $route.current.params.config
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('GroupListLoader', function(Loader, Groups, $route, $q) {
|
||||
return Loader.query(Groups, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('GroupCountLoader', function(Loader, GroupsCount, $route, $q) {
|
||||
return Loader.query(GroupsCount, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
top : true
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('GroupLoader', function(Loader, Group, $route, $q) {
|
||||
return Loader.get(Group, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
groupId : $route.current.params.group
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientInitialAccessLoader', function(Loader, ClientInitialAccess, $route) {
|
||||
return Loader.query(ClientInitialAccess, function() {
|
||||
return {
|
||||
realm: $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientRegistrationPolicyProvidersLoader', function(Loader, ClientRegistrationPolicyProviders, $route) {
|
||||
return Loader.query(ClientRegistrationPolicyProviders, function() {
|
||||
return {
|
||||
realm: $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
module.factory('ClientPoliciesProfilesLoader', function(Loader, ClientPoliciesProfiles, $route , $q) {
|
||||
var clientPoliciesLoader = {};
|
||||
|
||||
clientPoliciesLoader.loadClientProfiles = function(includeGlobalProfiles) {
|
||||
return Loader.get(ClientPoliciesProfiles, function() {
|
||||
return {
|
||||
realm : $route.current.params.realm,
|
||||
includeGlobalProfiles : includeGlobalProfiles
|
||||
}
|
||||
})();
|
||||
};
|
||||
|
||||
return clientPoliciesLoader;
|
||||
});
|
||||
|
||||
module.factory('ClientPoliciesLoader', function(Loader, ClientPolicies, $route) {
|
||||
return Loader.get(ClientPolicies, function() {
|
||||
return {
|
||||
realm: $route.current.params.realm
|
||||
}
|
||||
});
|
||||
});
|
||||
2261
keycloak-themes/base/admin/resources/js/services.js
Normal file
2261
keycloak-themes/base/admin/resources/js/services.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,83 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<h1>{{:: 'authentication' | translate}}</h1>
|
||||
|
||||
<kc-tabs-authentication></kc-tabs-authentication>
|
||||
|
||||
<form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
|
||||
<div class="form-group">
|
||||
<label for="browser" class="col-md-2 control-label">{{:: 'browser-flow' | translate}}</label>
|
||||
<div class="col-md-2">
|
||||
<div>
|
||||
<select id="browser" ng-model="realm.browserFlow" class="form-control" ng-options="flow.alias as flow.alias for flow in flows">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'browser-flow.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="registration" class="col-md-2 control-label">{{:: 'registration-flow' | translate}}</label>
|
||||
<div class="col-md-2">
|
||||
<div>
|
||||
<select id="registration" ng-model="realm.registrationFlow" class="form-control" ng-options="flow.alias as flow.alias for flow in flows">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'registration-flow.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="grant" class="col-md-2 control-label">{{:: 'direct-grant-flow' | translate}}</label>
|
||||
<div class="col-md-2">
|
||||
<div>
|
||||
<select id="grant" ng-model="realm.directGrantFlow" class="form-control" ng-options="flow.alias as flow.alias for flow in flows">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'direct-grant-flow.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="resetCredentials" class="col-md-2 control-label">{{:: 'reset-credentials' | translate}}</label>
|
||||
<div class="col-md-2">
|
||||
<div>
|
||||
<select id="resetCredentials" ng-model="realm.resetCredentialsFlow" class="form-control" ng-options="flow.alias as flow.alias for flow in flows">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'reset-credentials.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="clientAuthentication" class="col-md-2 control-label">{{:: 'client-authentication' | translate}}</label>
|
||||
<div class="col-md-2">
|
||||
<div>
|
||||
<select id="clientAuthentication" ng-model="realm.clientAuthenticationFlow" class="form-control" ng-options="flow.alias as flow.alias for flow in clientFlows">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'client-authentication.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group" data-ng-show="serverInfo.featureEnabled('DOCKER')">
|
||||
<label for="dockerAuth" class="col-md-2 control-label">{{:: 'docker-auth' | translate}}</label>
|
||||
<div class="col-md-2">
|
||||
<div>
|
||||
<select id="dockerAuth" ng-model="realm.dockerAuthenticationFlow" class="form-control" ng-options="flow.alias as flow.alias for flow in flows">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'docker-auth.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageRealm">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,72 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<h1>{{:: 'authentication' | translate}}</h1>
|
||||
|
||||
<kc-tabs-authentication></kc-tabs-authentication>
|
||||
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="{{levelmax + 1 + choicesmax + 4}}" class="kc-table-actions">
|
||||
<div class="dropdown pull-left">
|
||||
<select class="form-control" ng-model="flow"
|
||||
ng-options="(flow.alias|capitalize) for flow in flows"
|
||||
data-ng-change="selectFlow(flow)">
|
||||
</select>
|
||||
</div>
|
||||
<i class="fa fa-question-circle text-muted" tooltip-trigger="mouseover mouseout" tooltip="{{flow.description}}" tooltip-placement="right"> </i>
|
||||
<div class="pull-right" data-ng-show="access.manageRealm">
|
||||
<button class="btn btn-default" data-ng-click="createFlow()">{{:: 'new' | translate}}</button>
|
||||
<button class="btn btn-default" data-ng-click="copyFlow()">{{:: 'copy' | translate}}</button>
|
||||
<button class="btn btn-default" data-ng-hide="flow.builtIn" data-ng-click="deleteFlow()">{{:: 'delete' | translate}}</button>
|
||||
<button class="btn btn-default" data-ng-hide="flow.builtIn" data-ng-click="editFlow(flow)">{{:: 'edit-flow' | translate}}</button>
|
||||
<button class="btn btn-default" data-ng-hide="flow.builtIn" data-ng-click="addExecution()">{{:: 'add-execution' | translate}}</button>
|
||||
<button class="btn btn-default" data-ng-hide="flow.builtIn || flow.providerId === 'client-flow'" data-ng-click="addFlow()">{{:: 'add-flow' | translate}}</button>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr data-ng-hide="executions.length == 0">
|
||||
<th colspan="{{levelmax + 1}}">{{:: 'auth-type' | translate}}</th>
|
||||
<th colspan="{{choicesmax}}">{{:: 'requirement' | translate}}</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="execution in executions" data-ng-show="executions.length > 0">
|
||||
<td ng-repeat="lev in execution.preLevels"></td>
|
||||
<td class="kc-sorter">
|
||||
<button data-ng-hide="flow.builtIn" data-ng-disabled="$first" class="btn btn-default btn-sm" data-ng-click="raisePriority(execution)"><i class="fa fa-angle-up"></i></button>
|
||||
<button data-ng-hide="flow.builtIn" data-ng-disabled="$last" class="btn btn-default btn-sm" data-ng-click="lowerPriority(execution)"><i class="fa fa-angle-down"></i></button>
|
||||
<span>{{execution.displayName|capitalize}}<span ng-if="execution.alias">({{execution.alias}})</span></span>
|
||||
<i data-ng-hide="!execution.authenticationFlow" class="fa fa-question-circle text-muted" tooltip-trigger="mouseover mouseout" tooltip="{{execution.description}}" tooltip-placement="right"> </i>
|
||||
</td>
|
||||
<td ng-repeat="lev in execution.postLevels"></td>
|
||||
<td ng-repeat="choice in execution.requirementChoices">
|
||||
<label>
|
||||
<input type="radio" ng-model="execution.requirement" ng-value="choice" ng-change="updateExecution(execution)">
|
||||
{{choice}}
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td ng-repeat="emptee in execution.empties"></td>
|
||||
<td>
|
||||
<div class="dropdown" data-ng-hide="flow.builtIn && !execution.configurable">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{:: 'actions' | translate}} <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu" >
|
||||
<li data-ng-hide="flow.builtIn"><a href="" ng-click="removeExecution(execution)">{{:: 'delete' | translate}}</a></li>
|
||||
<li data-ng-hide="flow.builtIn || !execution.authenticationFlow"><a href="" ng-click="addSubFlowExecution(execution)">{{:: 'add-execution' | translate}}</a></li>
|
||||
<li data-ng-hide="flow.builtIn || !execution.authenticationFlow"><a href="" ng-click="addSubFlow(execution)">{{:: 'add-flow' | translate}}</a></li>
|
||||
<li data-ng-hide="flow.builtIn || !execution.authenticationFlow"><a href="" ng-click="editExecutionFlow(execution)">{{:: 'edit-flow' | translate}}</a></li>
|
||||
<li data-ng-show="execution.configurable && execution.authenticationConfig == null"><a href="#/create/authentication/{{realm.realm}}/flows/{{flow.id}}/execution/{{execution.id}}/provider/{{execution.providerId}}">{{:: 'config' | translate}}</a></li>
|
||||
<li data-ng-show="execution.configurable && execution.authenticationConfig != null"><a href="#/realms/{{realm.realm}}/authentication/flows/{{flow.id}}/config/{{execution.providerId}}/{{execution.authenticationConfig}}">{{:: 'config' | translate}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="executions.length == 0">
|
||||
<td>{{:: 'no-executions-available' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,52 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/authentication/flows">{{:: 'authentication-flows' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/authentication/flows/{{flow.alias}}">{{flow.alias | capitalize}}</a></li>
|
||||
<li class="active" data-ng-show="create">{{:: 'create-authenticator-config' | translate}}</li>
|
||||
<li class="active" data-ng-show="!create && config.alias">{{config.alias}}</li>
|
||||
<li class="active" data-ng-show="!create && !config.alias">{{config.id}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'create-authenticator-config' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">
|
||||
<span data-ng-show="config.alias">{{config.alias|capitalize}}</span>
|
||||
<span data-ng-show="!config.alias">{{config.id}}</span>
|
||||
<a><i class="pficon pficon-delete clickable" data-ng-show="!create && access.manageRealm" data-ng-hide="changed" data-ng-click="remove()"></i></a>
|
||||
</h1>
|
||||
|
||||
<form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
|
||||
<fieldset>
|
||||
<div class="form-group clearfix" data-ng-show="!create">
|
||||
<label class="col-md-2 control-label" for="configId">{{:: 'id' | translate}} </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control" id="configId" type="text" ng-model="config.id" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'alias' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input kc-no-reserved-chars class="form-control" id="name" type="text" ng-model="config.alias" data-ng-readonly="!create">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authenticator.alias.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<kc-provider-config realm="realm" config="config.config" properties="configType.properties"></kc-provider-config>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-10 col-md-offset-2" data-ng-show="create && access.manageRealm">
|
||||
<button kc-save>{{:: 'save' | translate}}</button>
|
||||
<button kc-cancel data-ng-click="cancel()">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-10 col-md-offset-2" data-ng-show="!create && access.manageRealm">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,40 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/identity-provider-settings">{{:: 'identity-providers' | translate}}</a></li>
|
||||
<li data-ng-show="!newIdentityProvider && identityProvider.displayName">{{identityProvider.displayName}}</li>
|
||||
<li data-ng-show="!newIdentityProvider && !identityProvider.displayName">{{identityProvider.alias}}</li>
|
||||
</ol>
|
||||
|
||||
<kc-tabs-identity-provider></kc-tabs-identity-provider>
|
||||
|
||||
<form class=form-horizontal" name="enableForm" novalidate kc-read-only="!access.manageIdentityProviders || !access.manageAuthorization">
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="permissionsEnabled">{{:: 'permissions-enabled-role' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="permissions.enabled" name="permissionsEnabled" id="permissionsEnabled" ng-disabled="!access.manageAuthorization" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'permissions-enabled-role.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table class="datatable table table-striped table-bordered dataTable no-footer" data-ng-show="permissions.enabled">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'scope-name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="(scopeName, scopeId) in permissions.scopePermissions">
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{scopeName}}</a></td>
|
||||
<td translate="{{scopeName}}-authz-idp-scope-description"></td>
|
||||
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{:: 'edit' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li>{{client.clientId}}</li>
|
||||
</ol>
|
||||
|
||||
<kc-tabs-client></kc-tabs-client>
|
||||
|
||||
<form class=form-horizontal" name="enableForm" novalidate kc-read-only="!client.access.manage || !access.manageAuthorization">
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="permissionsEnabled">{{:: 'permissions-enabled-role' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="permissions.enabled" name="permissionsEnabled" id="permissionsEnabled" ng-disabled="!access.manageAuthorization" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'permissions-enabled-role.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table class="datatable table table-striped table-bordered dataTable no-footer" data-ng-show="permissions.enabled">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'scope-name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="(scopeName, scopeId) in permissions.scopePermissions">
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{scopeName}}</a></td>
|
||||
<td translate="{{scopeName}}-authz-client-scope-description"></td>
|
||||
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{:: 'edit' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,40 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li>{{role.name}}</li>
|
||||
</ol>
|
||||
|
||||
<kc-tabs-client-role></kc-tabs-client-role>
|
||||
|
||||
<form class=form-horizontal" name="enableForm" novalidate kc-read-only="!client.access.manage || !access.manageAuthorization">
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="permissionsEnabled">{{:: 'permissions-enabled-role' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="permissions.enabled" name="permissionsEnabled" id="permissionsEnabled" ng-disabled="!access.manageAuthorization" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'permissions-enabled-role.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table class="datatable table table-striped table-bordered dataTable no-footer" data-ng-show="permissions.enabled">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'scope-name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="(scopeName, scopeId) in permissions.scopePermissions">
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{scopeName}}</a></td>
|
||||
<td translate="{{scopeName}}-authz-role-scope-description"></td>
|
||||
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{:: 'edit' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/groups">{{:: 'groups' | translate}}</a></li>
|
||||
<li>{{group.name}}</li>
|
||||
</ol>
|
||||
|
||||
<kc-tabs-group></kc-tabs-group>
|
||||
|
||||
<form class=form-horizontal" name="enableForm" novalidate kc-read-only="!group.access.manage || !access.manageAuthorization">
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="permissionsEnabled">{{:: 'permissions-enabled-role' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="permissions.enabled" name="permissionsEnabled" id="permissionsEnabled" ng-disabled="!access.manageAuthorization" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'permissions-enabled-role.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table class="datatable table table-striped table-bordered dataTable no-footer" data-ng-show="permissions.enabled">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'scope-name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="(scopeName, scopeId) in permissions.scopePermissions">
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{scopeName}}</a></td>
|
||||
<td translate="{{scopeName}}-authz-group-scope-description"></td>
|
||||
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{:: 'edit' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/roles">{{:: 'roles' | translate}}</a></li>
|
||||
<li>{{role.name}}</li>
|
||||
</ol>
|
||||
|
||||
<kc-tabs-role></kc-tabs-role>
|
||||
|
||||
<form class=form-horizontal" name="enableForm" novalidate kc-read-only="!access.manageAuthorization">
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="permissionsEnabled">{{:: 'permissions-enabled-role' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="permissions.enabled" name="permissionsEnabled" id="permissionsEnabled" ng-disabled="!access.manageAuthorization" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'permissions-enabled-role.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table class="datatable table table-striped table-bordered dataTable no-footer" data-ng-show="permissions.enabled">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'scope-name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="(scopeName, scopeId) in permissions.scopePermissions">
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{scopeName}}</a></td>
|
||||
<td translate="{{scopeName}}-authz-role-scope-description"></td>
|
||||
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{:: 'edit' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<kc-tabs-users></kc-tabs-users>
|
||||
|
||||
<form class=form-horizontal" name="enableForm" novalidate kc-read-only="!access.manageAuthorization">
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="permissionsEnabled">{{:: 'permissions-enabled-users' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="permissions.enabled" name="permissionsEnabled" id="permissionsEnabled" ng-disabled="!access.manageAuthorization" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'permissions-enabled-users.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table class="datatable table table-striped table-bordered dataTable no-footer" data-ng-show="permissions.enabled">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'scope-name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="(scopeName, scopeId) in permissions.scopePermissions">
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{scopeName}}</a></td>
|
||||
<td translate="{{scopeName}}-authz-users-scope-description"></td>
|
||||
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{realmManagementClientId}}/authz/resource-server/permission/scope/{{scopeId}}">{{:: 'edit' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,131 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/permission">{{:: 'authz-permissions' | translate}}</a></li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-resource-permission' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-resource-permission' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="applyToResourceTypeFlag">{{:: 'authz-permission-resource-apply-to-resource-type' | translate}}</label>
|
||||
<div class="col-md-6">
|
||||
<input ng-model="applyToResourceTypeFlag" id="applyToResourceTypeFlag" onoffswitch data-ng-click="applyToResourceType()"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-resource-apply-to-resource-type.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" data-ng-hide="applyToResourceTypeFlag">
|
||||
<label class="col-md-2 control-label" for="resources">{{:: 'authz-resources' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="hidden" ui-select2="resourcesUiSelect" id="resources" data-ng-model="selectedResource" data-placeholder="{{:: 'authz-select-resource' | translate}}..." data-ng-required="!applyToResourceTypeFlag"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-resource-resource.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" data-ng-show="applyToResourceTypeFlag">
|
||||
<label class="col-md-2 control-label" for="resourceType">{{:: 'authz-resource-type' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input class="form-control" type="text" id="resourceType" name="policy.resourceType" data-ng-model="policy.resourceType" data-ng-required="applyToResourceTypeFlag">
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-permission-resource-type.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="policies">{{:: 'authz-policy-apply-policy' | translate}}</label>
|
||||
<div class="col-sm-6">
|
||||
<table class="table table-striped table-bordered" style="margin-top: 0px" id="selected-policies">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="kc-table-actions" colspan="2">
|
||||
<div class="form-inline col-md-12" style="width: 107%">
|
||||
<div class="form-group" style="width: 100%">
|
||||
<div class="input-group" style="width: 100%">
|
||||
<input type="hidden" ui-select2="policiesUiSelect" id="policies" data-ng-change="selectPolicy(selectedPolicy);" data-ng-model="selectedPolicy" data-placeholder="{{:: 'authz-select-a-policy' | translate}}..."/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th class="kc-table-actions">
|
||||
<div class="pull-right" style="width: 100%">
|
||||
<select id="create-policy" class="form-control" ng-model="policyType"
|
||||
ng-options="p.name for p in policyProviders track by p.type"
|
||||
data-ng-change="addPolicy(policyType);"
|
||||
data-ng-hide="historyBackOnSaveOrCancel">
|
||||
<option value="" disabled selected>{{:: 'authz-create-policy' | translate}}...</option>
|
||||
</select>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr data-ng-hide="!selectedPolicies || selectedPolicies.length == 0">
|
||||
<th>{{:: 'name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th width="20%">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="policy in selectedPolicies">
|
||||
<td data-ng-hide="historyBackOnSaveOrCancel"><a href="" data-ng-click="detailPolicy(policy)">{{policy.name}}</a></td>
|
||||
<td data-ng-show="historyBackOnSaveOrCancel">{{policy.name}}</td>
|
||||
<td>{{policy.description}}</td>
|
||||
<td class="kc-action-cell" ng-click="removePolicy(selectedPolicies, policy);" style="vertical-align: middle">
|
||||
{{:: 'remove' | translate}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedPolicies || selectedPolicies.length == 0">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-policies-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-apply-policy.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="decisionStrategy">{{:: 'authz-policy-decision-strategy' | translate}}</label>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<select class="form-control" id="decisionStrategy"
|
||||
data-ng-model="policy.decisionStrategy"
|
||||
ng-change="selectDecisionStrategy()">
|
||||
<option value="UNANIMOUS">{{:: 'authz-policy-decision-strategy-unanimous' | translate}}</option>
|
||||
<option value="AFFIRMATIVE">{{:: 'authz-policy-decision-strategy-affirmative' | translate}}</option>
|
||||
<option value="CONSENSUS">{{:: 'authz-policy-decision-strategy-consensus' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-decision-strategy.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,134 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/permission">{{:: 'authz-permissions' | translate}}</a></li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-scope-permission' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-scope-permission' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="resources">{{:: 'authz-resource' | translate}}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="hidden" ui-select2="resourcesUiSelect" data-ng-change="selectResource()" id="resources" data-ng-model="selectedResource" data-placeholder="{{:: 'authz-any-resource' | translate}}..." />
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-scope-resource.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" data-ng-show="selectedResource">
|
||||
<label class="col-md-2 control-label" for="resourceScopes">{{:: 'authz-scopes' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-md-6">
|
||||
<select ui-select2 id="resourceScopes"
|
||||
data-ng-model="selectedScopes"
|
||||
data-placeholder="{{:: 'authz-any-scope' | translate}}..." multiple
|
||||
data-ng-required="selectedResource != null">
|
||||
<option ng-repeat="scope in resourceScopes" value="{{scope.id}}">{{scope.name}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-scope-scope.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" data-ng-show="!selectedResource">
|
||||
<label class="col-md-2 control-label" for="scopes">{{:: 'authz-scopes' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="hidden" ui-select2="scopesUiSelect" id="scopes" data-ng-model="selectedScopes" data-placeholder="{{:: 'authz-any-scope' | translate}}..." multiple data-ng-required="selectedResource == null" />
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-permission-scope-scope.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="policies">{{:: 'authz-policy-apply-policy' | translate}}</label>
|
||||
<div class="col-sm-6">
|
||||
<table class="table table-striped table-bordered" style="margin-top: 0px" id="selected-policies">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="kc-table-actions" colspan="2">
|
||||
<div class="form-inline col-md-12" style="width: 107%">
|
||||
<div class="form-group" style="width: 100%">
|
||||
<div class="input-group" style="width: 100%">
|
||||
<input type="hidden" ui-select2="policiesUiSelect" id="policies" data-ng-change="selectPolicy(selectedPolicy);" data-ng-model="selectedPolicy" data-placeholder="{{:: 'authz-select-a-policy' | translate}}..."/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th class="kc-table-actions">
|
||||
<div class="pull-right" style="width: 100%">
|
||||
<select id="create-policy" class="form-control" ng-model="policyType"
|
||||
ng-options="p.name for p in policyProviders track by p.type"
|
||||
data-ng-change="addPolicy(policyType);"
|
||||
data-ng-hide="historyBackOnSaveOrCancel">
|
||||
<option value="" disabled selected>{{:: 'authz-create-policy' | translate}}...</option>
|
||||
</select>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr data-ng-hide="!selectedPolicies || selectedPolicies.length == 0">
|
||||
<th>{{:: 'name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th width="20%">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="policy in selectedPolicies">
|
||||
<td data-ng-hide="historyBackOnSaveOrCancel"><a href="" data-ng-click="detailPolicy(policy)">{{policy.name}}</a></td>
|
||||
<td data-ng-show="historyBackOnSaveOrCancel">{{policy.name}}</td>
|
||||
<td>{{policy.description}}</td>
|
||||
<td class="kc-action-cell" ng-click="removePolicy(selectedPolicies, policy);" style="vertical-align: middle">
|
||||
{{:: 'remove' | translate}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedPolicies || selectedPolicies.length == 0">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-policies-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-apply-policy.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="decisionStrategy">{{:: 'authz-policy-decision-strategy' | translate}}</label>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<select class="form-control" id="decisionStrategy"
|
||||
data-ng-model="policy.decisionStrategy"
|
||||
ng-change="selectDecisionStrategy()">
|
||||
<option value="UNANIMOUS">{{:: 'authz-policy-decision-strategy-unanimous' | translate}}</option>
|
||||
<option value="AFFIRMATIVE">{{:: 'authz-policy-decision-strategy-affirmative' | translate}}</option>
|
||||
<option value="CONSENSUS">{{:: 'authz-policy-decision-strategy-consensus' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-decision-strategy.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,118 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/permission">{{:: 'authz-permissions' | translate}}</a></li>
|
||||
</ol>
|
||||
|
||||
<kc-tabs-resource-server></kc-tabs-resource-server>
|
||||
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="kc-table-actions" colspan="5">
|
||||
<div class="form-inline">
|
||||
<div class="form-group">
|
||||
{{:: 'filter' | translate}}:
|
||||
<div class="input-group">
|
||||
<input type="text" placeholder="{{:: 'name' | translate}}" data-ng-model="query.name" class="form-control search" onkeydown="if (event.keyCode == 13) document.getElementById('policySearch').click()">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-search" id="policySearch" type="submit" data-ng-click="firstPage()"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input type="text" placeholder="{{:: 'authz-resource' | translate}}" data-ng-model="query.resource" class="form-control search" onkeydown="if (event.keyCode == 13) document.getElementById('policySearch').click()">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-search" type="submit" data-ng-click="firstPage()"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input type="text" placeholder="{{:: 'authz-scope' | translate}}" data-ng-model="query.scope" class="form-control search" onkeydown="if (event.keyCode == 13) document.getElementById('policySearch').click()">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-search" type="submit" data-ng-click="firstPage()"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<select class="form-control search" data-ng-model="query.type"
|
||||
ng-options="p.type as p.name group by p.group for p in policyProviders track by p.type" data-ng-change="firstPage()">
|
||||
<option value="" selected ng-click="query.type = ''">{{:: 'authz-all-types' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<select class="form-control" ng-model="policyType"
|
||||
ng-options="p.name for p in policyProviders track by p.type"
|
||||
id="create-permission"
|
||||
data-ng-change="addPolicy(policyType);">
|
||||
<option value="" disabled selected>{{:: 'authz-create-permission' | translate}}...</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr data-ng-hide="policies.length == 0">
|
||||
<th width="1%"></th>
|
||||
<th>{{:: 'name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th width="7%">{{:: 'type' | translate}}</th>
|
||||
<th width="6%" style="text-align: center;">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot data-ng-show="policies && (policies.length >= query.max || query.first > 0)">
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
<div class="table-nav">
|
||||
<button data-ng-click="firstPage()" class="first" ng-disabled="query.first == 0">{{:: 'first-page' | translate}}</button>
|
||||
<button data-ng-click="previousPage()" class="prev" ng-disabled="query.first == 0">{{:: 'previous-page' | translate}}</button>
|
||||
<button data-ng-click="nextPage()" class="next" ng-disabled="policies.length < query.max">{{:: 'next-page' | translate}}</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<tr ng-repeat-start="policy in policies | filter: {name: search.name, type: search.type} | orderBy:'name'" data-ng-click="showDetails(policy, $event);" style="cursor: pointer">
|
||||
<td>
|
||||
<span ng-if="!policy.details || !policy.details.loaded" class="fa fa-angle-right"></span>
|
||||
<span ng-if="policy.details && policy.details.loaded" class="fa fa-angle-right fa-angle-down"></span>
|
||||
</td>
|
||||
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/permission/{{policy.type}}/{{policy.id}}">{{policy.name}}</a></td>
|
||||
<td>{{policy.description}}</td>
|
||||
<td>{{policy.type}}</td>
|
||||
<td align="center">
|
||||
<div class="dropdown dropdown-kebab-pf">
|
||||
<button class="btn btn-default" ng-click="delete(policy);">{{:: 'delete' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr ng-if="policy.details && policy.details.loaded" ng-repeat-end="">
|
||||
<td colspan="5" style="background-color: #ffffff">
|
||||
<div class="list-group-item-container container-fluid">
|
||||
<div class="close" data-ng-click="showDetails(policy, $event);" style="padding-top: 10px">
|
||||
<span class="pficon pficon-close"></span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>{{:: 'authz-associated-policies' | translate}}</dt>
|
||||
<dd>
|
||||
<span data-ng-show="policy.associatedPolicies && !policy.associatedPolicies.length">{{:: 'authz-no-policies-available' | translate}}</span>
|
||||
<span ng-repeat="dep in policy.associatedPolicies" data-ng-show="policy.associatedPolicies.length > 0"><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/{{dep.type == 'scope' || dep.type == 'resource' ? 'permission' : 'policy'}}/{{dep.type}}/{{dep.id}}">{{dep.name}}</a>{{$last ? '' : ', '}}</span>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="(policies | filter:search).length == 0">
|
||||
<td class="text-muted" colspan="3" data-ng-show="search.name">{{:: 'no-results' | translate}}</td>
|
||||
<td class="text-muted" colspan="3" data-ng-hide="search.name">{{:: 'authz-no-permissions-available' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,123 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-aggregated-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'authz-aggregated' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-aggregated-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="policies">{{:: 'authz-policy-apply-policy' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<table class="table table-striped table-bordered" style="margin-top: 0px" id="selected-policies">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="kc-table-actions" colspan="2">
|
||||
<div class="form-inline col-md-12" style="width: 107%">
|
||||
<div class="form-group" style="width: 100%">
|
||||
<div class="input-group" style="width: 100%">
|
||||
<input type="hidden" ui-select2="policiesUiSelect" id="policies" data-ng-change="selectPolicy(selectedPolicy);" data-ng-model="selectedPolicy" data-placeholder="{{:: 'authz-select-a-policy' | translate}}..." data-ng-required="!selectedPolicies || selectedPolicies.length == 0"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th class="kc-table-actions">
|
||||
<div class="pull-right" style="width: 100%">
|
||||
<select id="create-policy" class="form-control" ng-model="policyType"
|
||||
ng-options="p.name for p in policyProviders track by p.type"
|
||||
data-ng-change="addPolicy(policyType);"
|
||||
data-ng-hide="historyBackOnSaveOrCancel">
|
||||
<option value="" disabled selected>{{:: 'authz-create-policy' | translate}}...</option>
|
||||
</select>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr data-ng-hide="!selectedPolicies || selectedPolicies.length == 0">
|
||||
<th>{{:: 'name' | translate}}</th>
|
||||
<th>{{:: 'description' | translate}}</th>
|
||||
<th width="20%">{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="policy in selectedPolicies">
|
||||
<td data-ng-hide="historyBackOnSaveOrCancel"><a href="" data-ng-click="detailPolicy(policy)">{{policy.name}}</a></td>
|
||||
<td data-ng-show="historyBackOnSaveOrCancel">{{policy.name}}</td>
|
||||
<td>{{policy.description}}</td>
|
||||
<td class="kc-action-cell" ng-click="removePolicy(selectedPolicies, policy);" style="vertical-align: middle">
|
||||
{{:: 'remove' | translate}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedPolicies || selectedPolicies.length == 0">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-policies-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-apply-policy.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="policy.decisionStrategy">{{:: 'authz-policy-decision-strategy' | translate}}</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-control" id="policy.decisionStrategy"
|
||||
data-ng-model="policy.decisionStrategy"
|
||||
ng-change="selectDecisionStrategy()">
|
||||
<option value="UNANIMOUS">{{:: 'authz-policy-decision-strategy-unanimous' | translate}}</option>
|
||||
<option value="AFFIRMATIVE">{{:: 'authz-policy-decision-strategy-affirmative' | translate}}</option>
|
||||
<option value="CONSENSUS">{{:: 'authz-policy-decision-strategy-consensus' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-decision-strategy.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic" name="logic"
|
||||
data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed || (selectedPolicies == null || selectedPolicies.length == 0)">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,93 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-client-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'client' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-client-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="clients">{{:: 'clients' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="hidden" ui-select2="clientsUiSelect" id="clients" data-ng-model="selectedClient" data-ng-change="selectClient(selectedClient);" data-placeholder="Select an client..." data-ng-required="selectedClients.length == 0">
|
||||
</input>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-client-clients.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" style="margin-top: -15px;">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-sm-3">
|
||||
<table class="table table-striped table-bordered" id="selected-clients">
|
||||
<thead>
|
||||
<tr data-ng-hide="!selectedClients.length">
|
||||
<th>{{:: 'clientId' | translate}}</th>
|
||||
<th>{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="client in selectedClients | orderBy:'clientId'">
|
||||
<td>{{client.clientId}}</td>
|
||||
<td class="kc-action-cell">
|
||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeFromList(client);">{{:: 'remove' | translate}}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedClients.length">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-clients-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic"
|
||||
data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,126 @@
|
||||
<!--
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright 2021 Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' |
|
||||
translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies'
|
||||
| translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{::
|
||||
policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-client-scope-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'client-scopes' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-client-scope-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">
|
||||
{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i>
|
||||
</h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required
|
||||
data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description"
|
||||
data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="clientScopes">{{:: 'client-scopes' | translate}} <span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-md-4">
|
||||
<select ui-select2="{ minimumInputLength: 1}" id="clientScopes" data-ng-model="selectedClientScope"
|
||||
data-ng-change="selectClientScope(selectedClientScope);"
|
||||
data-placeholder="{{:: 'select-a-client-scope' | translate}}..."
|
||||
ng-options="clientScope as clientScope.name for clientScope in clientScopes"
|
||||
data-ng-required="selectedClientScopes.length == 0">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-client-scope-client-scopes.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" style="margin-top: -15px;">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
<table class="table table-striped table-bordered" id="selected-client-scopes">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm-5">{{:: 'name' | translate}}</th>
|
||||
<th>{{:: 'authz-required' | translate}}</th>
|
||||
<th>{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="clientScope in selectedClientScopes | orderBy:'name'">
|
||||
<td>{{clientScope.name}}</td>
|
||||
<td><input type="checkbox" ng-model="clientScope.required" id="{{clientScope.id}}"></td>
|
||||
<td class="kc-action-cell">
|
||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeFromList(clientScope);">{{::
|
||||
'remove' | translate}}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedClientScopes.length">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-client-scopes-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic" data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type" />
|
||||
</fieldset>
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed && !historyBackOnSaveOrCancel">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,126 @@
|
||||
<!--
|
||||
~ * Copyright 2017 Red Hat, Inc. and/or its affiliates
|
||||
~ * and other contributors as indicated by the @author tags.
|
||||
~ *
|
||||
~ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ * you may not use this file except in compliance with the License.
|
||||
~ * You may obtain a copy of the License at
|
||||
~ *
|
||||
~ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
~ *
|
||||
~ * Unless required by applicable law or agreed to in writing, software
|
||||
~ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ * See the License for the specific language governing permissions and
|
||||
~ * limitations under the License.
|
||||
-->
|
||||
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-group-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'groups' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-group-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="groupPolicyForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="groupsClaim">{{:: 'authz-policy-group-claim' | translate}}</label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="groupsClaim" name="groupsClaim" data-ng-model="policy.groupsClaim">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-group-claim.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="selectedGroups">{{:: 'groups' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-md-6">
|
||||
<div tree-id="tree"
|
||||
angular-treeview="true"
|
||||
tree-model="groupList"
|
||||
node-id="id"
|
||||
node-label="name"
|
||||
node-children="subGroups" >
|
||||
</div>
|
||||
<button data-ng-click="selectGroup(tree.currentNode)" id="selectGroup" class="btn btn-primary" data-ng-disabled="tree.currentNode == null">Select</button>
|
||||
<input class="form-control" type="text" id="selectedGroups" name="selectedGroups" data-ng-model="noop" data-ng-required="selectedGroups.length <= 0" autofocus required data-ng-show="false">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-user-users.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group" data-ng-if="selectedGroups.length > 0">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-md-5">
|
||||
<table class="table table-striped table-bordered" id="selected-groups">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{:: 'path' | translate}}</th>
|
||||
<th class="col-sm-3">Extend to Children</th>
|
||||
<th>{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="group in selectedGroups | orderBy:'name' track by $index">
|
||||
<td>{{group.path}}</td>
|
||||
<td>
|
||||
<input type="checkbox" ng-model="group.extendChildren" id="{{role.id}}" data-ng-click="extendChildren()">
|
||||
</td>
|
||||
<td class="kc-action-cell">
|
||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeFromList(group);">{{:: 'remove' | translate}}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedGroups.length">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-groups-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic"
|
||||
data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,68 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-js-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">JavaScript</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-js-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()" data-ng-disabled="readOnly">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description" data-ng-disabled="readOnly">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="code">{{:: 'authz-policy-js-code' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<textarea id="code" data-ng-model="policy.code" class="form-control" readonly>
|
||||
{{policy.code}}
|
||||
</textarea>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-js-code.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic"
|
||||
data-ng-model="policy.logic" data-ng-disabled="readOnly">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,100 @@
|
||||
<!--
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright 2021 Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' |
|
||||
translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies'
|
||||
| translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{::
|
||||
policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-regex-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'regex' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-regex-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">
|
||||
{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i>
|
||||
</h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required
|
||||
data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description"
|
||||
data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="targetClaim">{{:: 'authz-policy-target-claim' | translate}} <span
|
||||
class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="targetClaim" name="targetClaim"
|
||||
data-ng-model="policy.targetClaim" required>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-target-claim.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="pattern">{{:: 'authz-policy-regex-pattern' | translate}} <span
|
||||
class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="pattern" name="pattern" data-ng-model="policy.pattern" required>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-regex-pattern.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic" data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type" />
|
||||
</fieldset>
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed && !historyBackOnSaveOrCancel">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,169 @@
|
||||
<!--
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright 2016 Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-role-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'roles' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-role-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="roles">{{:: 'realm-roles' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-4">
|
||||
<select ui-select2="{ minimumInputLength: 1}" id="roles" data-ng-model="selectedRole" data-ng-change="selectRole(selectedRole);" data-placeholder="{{:: 'select-a-role' | translate}}..."
|
||||
ng-options="role as role.name for role in roles" data-ng-required="selectedRoles.length == 0">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-role-realm-roles.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" style="margin-top: -15px;">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-sm-4" data-ng-show="hasRealmRole()">
|
||||
<table class="table table-striped table-bordered" id="selected-realm-roles">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm-5">{{:: 'name' | translate}}</th>
|
||||
<th>{{:: 'authz-required' | translate}}</th>
|
||||
<th>{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="role in selectedRoles | orderBy:'name'" ng-if="!role.clientRole">
|
||||
<td>{{role.name}}</td>
|
||||
<td><input type="checkbox" ng-model="role.required" id="{{role.id}}"></td>
|
||||
<td class="kc-action-cell">
|
||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeFromList(role);">{{:: 'remove' | translate}}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedRoles.length">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-roles-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="clients">{{:: 'clients' | translate}}</label>
|
||||
|
||||
<div class="col-md-4">
|
||||
<select class="form-control" id="clients"
|
||||
ng-model="selectedClient"
|
||||
ng-change="selectClient()"
|
||||
data-ng-options="current as current.clientId for current in clients">
|
||||
<option value="">{{:: 'selectOne' | translate}}...</option>
|
||||
</select>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-role-clients.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="clientRoles">{{:: 'client-roles' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-4">
|
||||
<select ui-select2="{ minimumInputLength: 1}" id="clientRoles" data-ng-model="selectedRole" data-ng-change="selectRole(selectedRole);" data-placeholder="{{:: 'select-a-role' | translate}}..."
|
||||
ng-options="role as role.name for role in clientRoles" data-ng-required="selectedRoles.length == 0" data-ng-disabled="!selectedClient">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-role-client-roles.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" style="margin-top: -15px;">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-sm-4" data-ng-show="hasClientRole()">
|
||||
<table class="table table-striped table-bordered" id="selected-client-roles">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm-5">{{:: 'name' | translate}}</th>
|
||||
<th class="col-sm-5">{{:: 'client' | translate}}</th>
|
||||
<th>{{:: 'authz-required' | translate}}</th>
|
||||
<th>{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="role in selectedRoles | orderBy:'name'" ng-if="role.clientRole">
|
||||
<td>{{role.name}}</td>
|
||||
<td>{{role.container.name}}</td>
|
||||
<td><input type="checkbox" ng-model="role.required" id="{{role.id}}"></td>
|
||||
<td class="kc-action-cell">
|
||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeFromList(role);">{{:: 'remove' | translate}}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedRoles.length">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-roles-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic"
|
||||
data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed && !historyBackOnSaveOrCancel">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
{{policyState.page.previous}}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,119 @@
|
||||
<style>
|
||||
.ace_editor { height: 200px; }
|
||||
</style>
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-time-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'time' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-time-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="notBefore">{{:: 'not-before' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" style="width: 150px" type="text" id="notBefore" name="notBefore" data-ng-model="policy.notBefore" placeholder="yyyy-MM-dd hh:mm:ss" data-ng-required="isRequired()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-not-before.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="notOnOrAfter">{{:: 'authz-policy-time-not-on-after' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" style="width: 150px" type="text" id="notOnOrAfter" name="notOnOrAfter" data-ng-model="policy.notOnOrAfter" placeholder="yyyy-MM-dd hh:mm:ss" data-ng-required="isRequired()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-not-on-after.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="dayMonth">{{:: 'authz-policy-time-day-month' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" type="number" min="1" max="31" data-ng-model="policy.dayMonth" id="dayMonth" name="dayMonth" data-ng-required="isRequired()"/> to <input class="form-control" type="number" min="{{policy.dayMonth}}" max="31" data-ng-model="policy.dayMonthEnd" id="dayMonthEnd" name="dayMonthEnd"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-day-month.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="month">{{:: 'authz-policy-time-month' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" type="number" min="1" max="12" data-ng-model="policy.month" id="month" name="month" data-ng-required="isRequired()"/> to <input class="form-control" type="number" min="{{policy.month}}" max="12" data-ng-model="policy.monthEnd" id="monthEnd" name="monthEnd"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-month.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="year">{{:: 'authz-policy-time-year' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" type="number" data-ng-model="policy.year" id="year" name="year" data-ng-required="isRequired()"/> to <input class="form-control" type="number" min="{{policy.year}}" max="2050" data-ng-model="policy.yearEnd" id="yearEnd" name="yearEnd"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-year.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="hour">{{:: 'authz-policy-time-hour' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" type="number" min="0" max="23" data-ng-model="policy.hour" id="hour" name="hour" data-ng-required="isRequired()"/> to <input class="form-control" type="number" min="{{policy.hour}}" max="23" data-ng-model="policy.hourEnd" id="hourEnd" name="hourEnd"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-hour.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="minute">{{:: 'authz-policy-time-minute' | translate}}</label>
|
||||
|
||||
<div class="col-md-6 time-selector">
|
||||
<input class="form-control" type="number" min="0" max="59" data-ng-model="policy.minute" id="minute" name="minute" data-ng-required="isRequired()"/> to <input class="form-control" type="number" min="{{policy.minute}}" max="59" data-ng-model="policy.minuteEnd" id="minuteEnd" name="minuteEnd"/>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-time-minute.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic"
|
||||
data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
@@ -0,0 +1,93 @@
|
||||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
|
||||
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
|
||||
<li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/policy">{{:: 'authz-policies' | translate}}</a></li>
|
||||
<li data-ng-show="policyState.state.policy.name != null && historyBackOnSaveOrCancel">{{policyState.state.policy.name}}</li>
|
||||
<li data-ng-show="policyState.state.policy.name == null && historyBackOnSaveOrCancel">{{:: policyState.state.previousPage.name | translate}}</li>
|
||||
<li data-ng-show="create">{{:: 'authz-add-user-policy' | translate}}</li>
|
||||
<li data-ng-hide="create">{{:: 'user' | translate}}</li>
|
||||
<li data-ng-hide="create">{{originalPolicy.name}}</li>
|
||||
</ol>
|
||||
|
||||
<h1 data-ng-show="create">{{:: 'authz-add-user-policy' | translate}}</h1>
|
||||
<h1 data-ng-hide="create">{{originalPolicy.name|capitalize}}<i class="pficon pficon-delete clickable" data-ng-show="!create"
|
||||
data-ng-click="remove()"></i></h1>
|
||||
|
||||
<form class="form-horizontal" name="clientForm" novalidate>
|
||||
<fieldset class="border-top">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="name">{{:: 'name' | translate}} <span class="required">*</span></label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="name" name="name" data-ng-model="policy.name" autofocus required data-ng-blur="checkNewNameAvailability()">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-name.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label" for="description">{{:: 'description' | translate}} </label>
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" type="text" id="description" name="description" data-ng-model="policy.description">
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-description.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="users">{{:: 'users' | translate}} <span class="required">*</span></label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="hidden" ui-select2="usersUiSelect" id="users" data-ng-model="selectedUser" data-ng-change="selectUser(selectedUser);" data-placeholder="Select an user..." data-ng-required="selectedUsers.length == 0"">
|
||||
</input>
|
||||
</div>
|
||||
<kc-tooltip>{{:: 'authz-policy-user-users.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<div class="form-group clearfix" style="margin-top: -15px;">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-sm-3">
|
||||
<table class="table table-striped table-bordered" id="selected-users">
|
||||
<thead>
|
||||
<tr data-ng-hide="!selectedUsers.length">
|
||||
<th>{{:: 'username' | translate}}</th>
|
||||
<th>{{:: 'actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="user in selectedUsers | orderBy:'username'">
|
||||
<td>{{user.username}}</td>
|
||||
<td class="kc-action-cell">
|
||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeFromList(selectedUsers, user);">{{:: 'remove' | translate}}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-ng-show="!selectedUsers.length">
|
||||
<td class="text-muted" colspan="3">{{:: 'authz-no-users-assigned' | translate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label class="col-md-2 control-label" for="logic">{{:: 'authz-policy-logic' | translate}}</label>
|
||||
|
||||
<div class="col-sm-1">
|
||||
<select class="form-control" id="logic"
|
||||
data-ng-model="policy.logic">
|
||||
<option value="POSITIVE">{{:: 'authz-policy-logic-positive' | translate}}</option>
|
||||
<option value="NEGATIVE">{{:: 'authz-policy-logic-negative' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<kc-tooltip>{{:: 'authz-policy-logic.tooltip' | translate}}</kc-tooltip>
|
||||
</div>
|
||||
<input type="hidden" data-ng-model="policy.type"/>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-group" data-ng-show="access.manageAuthorization">
|
||||
<div class="col-md-10 col-md-offset-2">
|
||||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
|
||||
<button kc-reset data-ng-disabled="!changed && !historyBackOnSaveOrCancel">{{:: 'cancel' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<kc-menu></kc-menu>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user