feat: update keycloak theme
This commit is contained in:
@@ -1,70 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,76 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,42 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,35 +0,0 @@
|
||||
<#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>
|
||||
@@ -0,0 +1,405 @@
|
||||
doSave=حفظ
|
||||
doCancel=إلغاء
|
||||
doLogOutAllSessions=تسجيل الخروج لجميع الجلسات
|
||||
doRemove=إزالة
|
||||
doAdd=إضافة
|
||||
doSignOut=تسجيل خروج
|
||||
doLogIn=تسجيل دخول
|
||||
doLink=ربط
|
||||
noAccessMessage=الوصول غير مسموح
|
||||
|
||||
personalInfoSidebarTitle=البيانات الشخصية
|
||||
accountSecuritySidebarTitle=أمان الحساب
|
||||
signingInSidebarTitle=عملية تسجيل الدخول
|
||||
deviceActivitySidebarTitle=نشاط الأجهزة
|
||||
linkedAccountsSidebarTitle=الحسابات المرتبطة
|
||||
|
||||
editAccountHtmlTitle=تعديل الحساب
|
||||
personalInfoHtmlTitle=البيانات الشخصية
|
||||
federatedIdentitiesHtmlTitle=الهويات المتحدة
|
||||
accountLogHtmlTitle=سجل الحساب
|
||||
changePasswordHtmlTitle=تغيير كلمة المرور
|
||||
deviceActivityHtmlTitle=نشاط الأجهزة
|
||||
sessionsHtmlTitle=الجلسات
|
||||
accountManagementTitle=إدارة الحساب
|
||||
authenticatorTitle=تطبيقات المصادقة
|
||||
applicationsHtmlTitle=التطبيقات
|
||||
linkedAccountsHtmlTitle=الحسابات المرتبطة
|
||||
|
||||
accountManagementWelcomeMessage=أهلاً بك في صفحة إدارة الحساب
|
||||
personalInfoIntroMessage=قم بإدارة البيانات الأساسية الخاصة بك
|
||||
accountSecurityTitle=أمان الحساب
|
||||
accountSecurityIntroMessage=تحكم في كلمة المرور والوصول لحسابك
|
||||
applicationsIntroMessage=قم بتتبع وإدارة أذونات التطبيقات للوصول إلى حسابك
|
||||
resourceIntroMessage=شارك الموارد مع أعضاء الفريق
|
||||
passwordLastUpdateMessage=تم تغيير كلمة المرور الخاصة بك في
|
||||
updatePasswordTitle=تغيير كلمة المرور
|
||||
updatePasswordMessageTitle=تأكد من اختيار كلمة مرور قوية
|
||||
updatePasswordMessage=كلمة المرور القوية تتكون من مزيج من الأرقام والحروف والرموز، بحيث يصعب تخمينها ولا تمثل كلمات حقيقية، وتستخدم لهذا الحساب فقط.
|
||||
personalSubTitle=بياناتك الأساسية
|
||||
personalSubMessage=قم بإدارة البيانات الأساسية الخاصة بك.
|
||||
|
||||
authenticatorCode=رمز لمرة واحدة
|
||||
email=البريد الإلكتروني
|
||||
firstName=الاسم الأول
|
||||
givenName=الاسم الأول
|
||||
fullName=الاسم الكامل
|
||||
lastName=الاسم الأخير
|
||||
familyName=اسم العائلة
|
||||
password=كلمة المرور
|
||||
currentPassword=كلمة المرور الحالية
|
||||
passwordConfirm=تأكيد
|
||||
passwordNew=كلمة مرور جديدة
|
||||
username=اسم المستخدم
|
||||
address=العنوان
|
||||
street=الشارع
|
||||
locality=المدينة
|
||||
region=الولاية أو المنطقة
|
||||
postal_code=الرمز البريدي
|
||||
country=الدولة
|
||||
emailVerified=تم التحقق من البريد الإلكتروني
|
||||
website=الموقع الإلكتروني
|
||||
phoneNumber=رقم الهاتف
|
||||
phoneNumberVerified=تم التحقق من رقم الهاتف
|
||||
gender=الجنس
|
||||
birthday=تاريخ الميلاد
|
||||
zoneinfo=التوقيت
|
||||
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-groups=عرض المجموعات
|
||||
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=واجهة سطر الأوامر للمسؤول
|
||||
client_realm-management=إدارة المنظومة
|
||||
client_broker=وسيط
|
||||
|
||||
|
||||
requiredFields=الحقول المطلوبة
|
||||
allFieldsRequired=جميع الحقول مطلوبة
|
||||
|
||||
backToApplication=» العودة إلى التطبيق
|
||||
backTo=العودة إلى {0}
|
||||
|
||||
date=التاريخ
|
||||
event=الحدث
|
||||
ip=عنوان الشبكة
|
||||
client=العميل
|
||||
clients=العملاء
|
||||
details=التفاصيل
|
||||
started=ابتدأ في
|
||||
lastAccess=آخر وصول
|
||||
expires=ينتهي في
|
||||
applications=التطبيقات
|
||||
|
||||
account=الحساب
|
||||
federatedIdentity=الهوية المتحدة
|
||||
authenticator=تطبيقات المصادقة
|
||||
device-activity=نشاط الأجهزة
|
||||
sessions=الجلسات
|
||||
log=السجل
|
||||
|
||||
application=التطبيق
|
||||
availableRoles=الأدوار المتاحة
|
||||
grantedPermissions=الأذونات الممنوحة
|
||||
grantedPersonalInfo=البيانات الشخصية الممنوحة
|
||||
additionalGrants=المنح الإضافية
|
||||
action=الإجراء
|
||||
inResource=في
|
||||
fullAccess=وصول شامل
|
||||
offlineToken=رمز دون اتصال
|
||||
revoke=إبطال المنحة
|
||||
|
||||
configureAuthenticators=تطبيقات المصادقة المهيئة
|
||||
mobile=هاتف متنقل
|
||||
totpStep1=قم بتثبيت إحدى التطبيقات التالية على هاتفك المتنقل:
|
||||
totpStep2=افتح التطبيق ثم امسح رمز الاستجابة السريعة:
|
||||
totpStep3=أدخل رمز التحقق ذات الاستخدام الواحد والصادر من التطبيق ثم انقر على زر الحفظ لإتمام الإعداد.
|
||||
totpStep3DeviceName=ضع اسمًا للجهاز حتى يسهل عليك إدارة أجهزة المصادقة.
|
||||
|
||||
totpManualStep2=افتح التطبيق ثم أدخل المفتاح:
|
||||
totpManualStep3=استخدم قيم التكوين التالية إذا سمح التطبيق بتعيينها:
|
||||
totpUnableToScan=غير قادر على المسح؟
|
||||
totpScanBarcode=مسح رمز الاستجابة السريعة؟
|
||||
|
||||
totp.totp=على أساس الوقت
|
||||
totp.hotp=على أساس العداد
|
||||
|
||||
totpType=النوع
|
||||
totpAlgorithm=الخوارزمية
|
||||
totpDigits=عدد الخانات
|
||||
totpInterval=المدة الزمنية
|
||||
totpCounter=العداد
|
||||
totpDeviceName=اسم الجهاز
|
||||
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
|
||||
irreversibleAction=هذا الإجراء لا رجعة فيه
|
||||
deletingImplies=حذف حسابك يؤدي إلى:
|
||||
errasingData=محو جميع البيانات الخاصة بك
|
||||
loggingOutImmediately=تسجيل خروجك على الفور
|
||||
accountUnusable=أي استخدام لاحق للتطبيق لن يكون ممكنًا مع هذا الحساب
|
||||
|
||||
missingUsernameMessage=الرجاء تحديد اسم المستخدم.
|
||||
missingFirstNameMessage=الرجاء تحديد الاسم الأول.
|
||||
invalidEmailMessage=البريد الإلكتروني غير صالح.
|
||||
missingLastNameMessage=الرجاء تحديد الاسم الأخير.
|
||||
missingEmailMessage=الرجاء تحديد البريد الإلكتروني.
|
||||
missingPasswordMessage=الرجاء تحديد كلمة المرور.
|
||||
notMatchPasswordMessage=كلمات المرور غير متطابقة.
|
||||
invalidUserMessage=مستخدم غير صالح
|
||||
updateReadOnlyAttributesRejectedMessage=تم رفض تحديث البيانات التي هي للقراءة فقط
|
||||
|
||||
missingTotpMessage=الرجاء تحديد رمز التحقق.
|
||||
missingTotpDeviceNameMessage=الرجاء تحديد اسم الجهاز.
|
||||
invalidPasswordExistingMessage=كلمة المرور الحالية غير صالحة.
|
||||
invalidPasswordConfirmMessage=تأكيد كلمة المرور غير متطابق.
|
||||
invalidTotpMessage=رمز التحقق غير صالح.
|
||||
|
||||
usernameExistsMessage=اسم المستخدم مستخدم مسبقًا.
|
||||
emailExistsMessage=البريد الإلكتروني مستخدم مسبقًا.
|
||||
|
||||
readOnlyUserMessage=لا يمكنك تحديث حسابك لأنه في وضعية القراءة فقط.
|
||||
readOnlyUsernameMessage=لا يمكنك تحديث اسم المستخدم لأنه في وضعية القراءة فقط.
|
||||
readOnlyPasswordMessage=لا يمكنك تحديث كلمة المرور لأن حسابك في وضعية القراءة فقط.
|
||||
|
||||
successTotpMessage=تم تهيئة تطبيق مصادقة.
|
||||
successTotpRemovedMessage=تم إزالة تطبيق مصادقة.
|
||||
|
||||
successGrantRevokedMessage=تم إبطال الصلاحيات الممنوحة بنجاح.
|
||||
|
||||
accountUpdatedMessage=تم تحديث الحساب الخاص بك.
|
||||
accountPasswordUpdatedMessage=تم تحديث كلمة المرور الخاصة بك.
|
||||
|
||||
missingIdentityProviderMessage=مزود الحسابات غير محدد.
|
||||
invalidFederatedIdentityActionMessage=إجراء غير صالح أو مفقود.
|
||||
identityProviderNotFoundMessage=لم يتم العثور على مزود الحسابات المحدد.
|
||||
federatedIdentityLinkNotActiveMessage=هذه الهوية لم تعد نشطة.
|
||||
federatedIdentityRemovingLastProviderMessage=لا يمكنك إزالة آخر هوية متحدة لأنه ليس لديك كلمة مرور.
|
||||
identityProviderRedirectErrorMessage=فشل في إعادة التوجيه إلى مزود الحسابات.
|
||||
identityProviderRemovedMessage=تمت إزالة مزود الحسابات بنجاح.
|
||||
identityProviderAlreadyLinkedMessage=الهوية الموحدة التي أرجعها {0} مرتبطة مسبقًا بمستخدم آخر.
|
||||
staleCodeAccountMessage=انتهت صلاحية الصفحة. يرجى المحاولة مرة أخرى.
|
||||
consentDenied=تم رفض الاتفاقية.
|
||||
access-denied-when-idp-auth=تم رفض الاتفاقية أثناء المصادقة مع {0}
|
||||
|
||||
accountDisabledMessage=الحساب معطل، تواصل مع مسؤول النظام.
|
||||
|
||||
accountTemporarilyDisabledMessage=الحساب معطل مؤقتًا، تواصل مع مسؤول النظام أو حاول مرة أخرى لاحقًا.
|
||||
invalidPasswordMinLengthMessage=كلمة المرور غير صالحة: الحد الأدنى للطول {0}.
|
||||
invalidPasswordMaxLengthMessage=كلمة المرور غير صالحة: الحد الأقصى للطول {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} حروف صغيرة على الأقل.
|
||||
invalidPasswordMinDigitsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} أرقام على الأقل.
|
||||
invalidPasswordMinUpperCaseCharsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} حروف كبيرة على الأقل.
|
||||
invalidPasswordMinSpecialCharsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} رموز على الأقل.
|
||||
invalidPasswordNotUsernameMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة لاسم المستخدم.
|
||||
invalidPasswordNotEmailMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة للبريد الإلكتروني.
|
||||
invalidPasswordRegexPatternMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة للأنماط المحددة.
|
||||
invalidPasswordHistoryMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة لأي من كلمات المرور الـ {0} الأخيرة.
|
||||
invalidPasswordBlacklistedMessage=كلمة المرور غير صالحة: كلمة المرور في القائمة السوداء.
|
||||
invalidPasswordGenericMessage=كلمة المرور غير صالحة: كلمة المرور الجديدة لا تتطابق مع سياسات كلمة المرور.
|
||||
|
||||
# Authorization
|
||||
myResources=الموارد الخاص بي
|
||||
myResourcesSub=الموارد الخاص بي
|
||||
doDeny=رفض
|
||||
doRevoke=إبطال
|
||||
doApprove=موافقة
|
||||
doRemoveSharing=إزالة المشاركة
|
||||
doRemoveRequest=إزالة الطلب
|
||||
peopleAccessResource=الأشخاص الذين يمكنهم الوصول إلى هذا المورد
|
||||
resourceManagedPolicies=أذونات تمنح حق الوصول إلى هذا المورد
|
||||
resourceNoPermissionsGrantingAccess=لا توجد أذونات تمنح حق الوصول إلى هذا المورد
|
||||
anyAction=أي إجراء
|
||||
description=الوصف
|
||||
name=الاسم
|
||||
scopes=المجالات
|
||||
resource=المورد
|
||||
user=المستخدم
|
||||
peopleSharingThisResource=الأشخاص الذين يشاركون هذا المورد
|
||||
shareWithOthers=المشاركة مع الآخرين
|
||||
needMyApproval=يتطلب موافقتي
|
||||
requestsWaitingApproval=طلباتك تنتظر الموافقة
|
||||
icon=الأيقونة
|
||||
requestor=صاحب الطلب
|
||||
owner=المالك
|
||||
resourcesSharedWithMe=الموارد التي تم مشاركتها معي
|
||||
permissionRequestion=طلب الإذن
|
||||
permission=الإذن
|
||||
shares=المشاركات
|
||||
notBeingShared=لم يتم مشاركة هذا المورد.
|
||||
notHaveAnyResource=ليس لديك أي موارد
|
||||
noResourcesSharedWithYou=لا توجد موارد تم مشاركتها معك
|
||||
havePermissionRequestsWaitingForApproval=لديك {0} طلبات إذن في انتظار الموافقة.
|
||||
clickHereForDetails=انقر هنا للتفاصيل.
|
||||
resourceIsNotBeingShared=لم يتم مشاركة المورد
|
||||
|
||||
locale_ar=عربي
|
||||
locale_ca=Català
|
||||
locale_cs=Čeština
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Español
|
||||
locale_fa=فارسی
|
||||
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=الاسم
|
||||
applicationType=نوع التطبيق
|
||||
applicationInUse=تطبيق قيد الاستخدام فقط
|
||||
clearAllFilter=مسح كل عوامل التصفية
|
||||
activeFilters=عوامل التصفية النشطة
|
||||
filterByName=التصفية بالاسم...
|
||||
allApps=جميع التطبيقات
|
||||
internalApps=التطبيقات الداخلية
|
||||
thirdpartyApps=تطبيقات طرف ثالث
|
||||
appResults=النتائج
|
||||
clientNotFoundMessage=العميل غير موجود.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=مزود حسابات معتمد
|
||||
authorizedProviderMessage=مزودو الحسابات المعتمدون المرتبطون بحسابك
|
||||
identityProvider=مزود حسابات
|
||||
identityProviderMessage=لربط حسابك بمزودي الحسابات الذين قمت بإعدادهم
|
||||
socialLogin=تسجيل دخول منصات التواصل الاجتماعي
|
||||
userDefined=معرف من قبل المستخدم
|
||||
removeAccess=إزالة صلاحية الوصول
|
||||
removeAccessMessage=ستحتاج إلى منح صلاحية الوصول مرة أخرى، إذا كنت تريد استخدام حساب التطبيق هذا.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=المصادقة الثنائية حاليًا
|
||||
authenticatorFinishSetUpTitle=المصادقة الثنائية الخاصة بك
|
||||
authenticatorFinishSetUpMessage=في كل مرة تقوم فيها بتسجيل الدخول إلى حسابك، سيطلب منك تقديم رمز مصادقة ثنائي.
|
||||
authenticatorSubTitle=إعداد المصادقة الثنائية
|
||||
authenticatorSubMessage=لتعزيز أمان حسابك، قم بتمكين طريقة واحدة على الأقل من طرق المصادقة الثنائية المتاحة.
|
||||
authenticatorMobileTitle=المصادقة بالهاتف الذكي
|
||||
authenticatorMobileMessage=استخدم المصادقة بالهاتف الذكي للحصول على رموز التحقق كمصادقة ثنائية.
|
||||
authenticatorMobileFinishSetUpMessage=تم ربط المصادقة بهاتفك.
|
||||
authenticatorActionSetup=إعداد
|
||||
authenticatorSMSTitle=رمز الرسائل النصية القصيرة
|
||||
authenticatorSMSMessage=سيتم إرسال رمز التحقق إلى هاتفك كمصادقة ثنائية.
|
||||
authenticatorSMSFinishSetUpMessage=تم إرسال الرسالة النصية إلى
|
||||
authenticatorDefaultStatus=افتراضي
|
||||
authenticatorChangePhone=تغيير رقم الهاتف الجوال
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=إعداد تطبيق هاتف مصادق
|
||||
smscodeIntroMessage=أدخل رقم هاتفك المحمول وسوف يتم إرسال رمز التحقق إلى هاتفك.
|
||||
mobileSetupStep1=قم بتثبيت تطبيق مصادقة على هاتفك. التطبيقات المدرجة هنا هي المدعومة.
|
||||
mobileSetupStep2=افتح التطبيق وقم بمسح رمز الاستجابة السريعة:
|
||||
mobileSetupStep3=أدخل رمز التحقق ذات الاستخدام الواحد والصادر من التطبيق ثم انقر على زر الحفظ لإتمام الإعداد.
|
||||
scanBarCode=تريد مسح رمز الاستجابة السريعة؟
|
||||
enterBarCode=أدخل رمز التحقق ذات الاستخدام الواحد
|
||||
doCopy=نسخ
|
||||
doFinish=إنهاء
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=إعداد رمز الرسائل النصية القصيرة
|
||||
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=لكل صفحة
|
||||
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=قائمة المشاريع
|
||||
|
||||
error-invalid-value=قيمة غير صالحة.
|
||||
error-invalid-blank=يرجى تحديد قيمة.
|
||||
error-empty=يرجى تحديد قيمة.
|
||||
error-invalid-length=الحقل {0} يجب أن يكون طوله بين {1} و {2}.
|
||||
error-invalid-length-too-short=الحقل {0} يجب ألا يقل طوله عن {1}.
|
||||
error-invalid-length-too-long=الحقل {0} يجب ألا يزيد طوله عن {2}.
|
||||
error-invalid-email=بريد إلكتروني غير صالح.
|
||||
error-invalid-number=رقم غير صالح.
|
||||
error-number-out-of-range=الحقل {0} يجب أن يكون رقمًا بين {1} و {2}.
|
||||
error-number-out-of-range-too-small=الحقل {0} يجب ألا تقل قيمته عن {1}.
|
||||
error-number-out-of-range-too-big=الحقل {0} يجب ألا تزيد قيمته عن {2}.
|
||||
error-pattern-no-match=قيمة غير صالحة.
|
||||
error-invalid-uri=عنوان موقع غير صالح.
|
||||
error-invalid-uri-scheme=بادئة عنوان موقع غير صالحة.
|
||||
error-invalid-uri-fragment=ملحق عنوان موقع غير صالح.
|
||||
error-user-attribute-required=يرجى تحديد الحقل {0}.
|
||||
error-invalid-date=تاريخ غير صالح.
|
||||
error-user-attribute-read-only=الحقل {0} للقراءة فقط.
|
||||
error-username-invalid-character=اسم المستخدم يحتوي على حرف غير صالح.
|
||||
error-person-name-invalid-character=الاسم يحتوي على حرف غير صالح.
|
||||
@@ -1,147 +1,405 @@
|
||||
doSave=Desa
|
||||
doCancel=Cancel\u00B7la
|
||||
doLogOutAllSessions=Desconnecta de totes les sessions
|
||||
doCancel=Cancel·la
|
||||
doLogOutAllSessions=Surt de totes les sessions
|
||||
doRemove=Elimina
|
||||
doAdd=Afegeix
|
||||
doSignOut=Desconnectar
|
||||
doSignOut=Surt
|
||||
doLogIn=Entra
|
||||
doLink=Enllaça
|
||||
noAccessMessage=Accés no permès
|
||||
|
||||
editAccountHtmlTitle=Edita compte
|
||||
personalInfoSidebarTitle=Informació personal
|
||||
accountSecuritySidebarTitle=Seguretat del compte
|
||||
signingInSidebarTitle=Identificació
|
||||
deviceActivitySidebarTitle=Activitat dels dispositius
|
||||
linkedAccountsSidebarTitle=Comptes enllaçats
|
||||
|
||||
editAccountHtmlTitle=Edita el compte
|
||||
personalInfoHtmlTitle=Informació personal
|
||||
federatedIdentitiesHtmlTitle=Identitats federades
|
||||
accountLogHtmlTitle=Registre del compte
|
||||
changePasswordHtmlTitle=Canvia contrasenya
|
||||
changePasswordHtmlTitle=Canvia la contrasenya
|
||||
deviceActivityHtmlTitle=Activitat dels dispositius
|
||||
sessionsHtmlTitle=Sessions
|
||||
accountManagementTitle=Gesti\u00F3 de Compte Keycloak
|
||||
accountManagementTitle=Gestor de comptes del Keycloak
|
||||
authenticatorTitle=Autenticador
|
||||
applicationsHtmlTitle=Aplicacions
|
||||
linkedAccountsHtmlTitle=Comptes enllaçats
|
||||
|
||||
authenticatorCode=Codi d''un sol \u00FAs
|
||||
email=Email
|
||||
accountManagementWelcomeMessage=Us donem la benvinguda al gestor de comptes del Keycloak
|
||||
personalInfoIntroMessage=Gestioneu la vostra informació bàsica
|
||||
accountSecurityTitle=Seguretat del compte
|
||||
accountSecurityIntroMessage=Controleu la vostra contrasenya i l''accés al compte
|
||||
applicationsIntroMessage=Feu seguiment i gestioneu els permisos de les aplicacions per a accedir al vostre compte
|
||||
resourceIntroMessage=Compartiu recursos entre membres del vostre equip
|
||||
passwordLastUpdateMessage=La contrasenya es va actualitzar el
|
||||
updatePasswordTitle=Actualitza la contrasenya
|
||||
updatePasswordMessageTitle=Assegureu-vos d''establir una contrasenya forta
|
||||
updatePasswordMessage=Una contrasenya forta conté una combinació de números, lletres i símbols. És difícil d''endevinar, no es pareix a una paraula real, i només s''utilitza per a aquest compte.
|
||||
personalSubTitle=La vostra informació personal
|
||||
personalSubMessage=Gestioneu la vostra informació bàsica.
|
||||
|
||||
authenticatorCode=Codi d''un sol ús
|
||||
email=Correu electrònic
|
||||
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
|
||||
currentPassword=Contrasenya actual
|
||||
passwordConfirm=Confirmació
|
||||
passwordNew=Contrasenya nova
|
||||
username=Nom d''usuari
|
||||
address=Adreça
|
||||
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
|
||||
locality=Ciutat o municipi
|
||||
region=Estat, província, o regió
|
||||
postal_code=Codi postal
|
||||
country=País
|
||||
emailVerified=Correu electrònic verificat
|
||||
website=Pàgina web
|
||||
phoneNumber=Número de telèfon
|
||||
phoneNumberVerified=Número de telèfon verificat
|
||||
gender=Gènere
|
||||
birthday=Natalici
|
||||
zoneinfo=Fus horari
|
||||
gssDelegationCredential=Credencial de delegació GSS
|
||||
|
||||
profileScopeConsentText=Perfil d''usuari
|
||||
emailScopeConsentText=Correu electrònic
|
||||
addressScopeConsentText=Adreça
|
||||
phoneScopeConsentText=Número de telèfon
|
||||
offlineAccessScopeConsentText=Accés fora de línia
|
||||
samlRoleListScopeConsentText=Els meus rols
|
||||
rolesScopeConsentText=Rols d''usuari
|
||||
|
||||
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
|
||||
role_create-realm=Crea un domini
|
||||
role_view-realm=Visualitza el domini
|
||||
role_view-users=Visualitza els usuaris
|
||||
role_view-applications=Visualitza les aplicacions
|
||||
role_view-groups=Visualitza els grups
|
||||
role_view-clients=Visualitza els clients
|
||||
role_view-events=Visualitza els esdeveniments
|
||||
role_view-identity-providers=Visualitza els proveïdors d''identitat
|
||||
role_view-consent=Visualitza els consentiments
|
||||
role_manage-realm=Gestiona el domini
|
||||
role_manage-users=Gestiona els usuaris
|
||||
role_manage-applications=Gestiona les aplicacions
|
||||
role_manage-identity-providers=Gestiona els proveïdors d''identitat
|
||||
role_manage-clients=Gestiona els clients
|
||||
role_manage-events=Gestiona els esdeveniments
|
||||
role_view-profile=Visualitza el perfil
|
||||
role_manage-account=Gestiona el compte
|
||||
role_manage-account-links=Gestiona els enllaços del compte
|
||||
role_manage-consent=Gestiona els consentiments
|
||||
role_read-token=Llegeix el codi d''autorització
|
||||
role_offline-access=Accés fora de línia
|
||||
role_uma_authorization=Obté permisos
|
||||
client_account=Compte
|
||||
client_security-admin-console=Consola d''Administraci\u00F3 de Seguretat
|
||||
client_realm-management=Gesti\u00F3 de domini
|
||||
client_broker=Broker
|
||||
client_account-console=Consola del compte
|
||||
client_security-admin-console=consola d''administració de seguretat
|
||||
client_admin-cli=CLI d''administració
|
||||
client_realm-management=Gestió del domini
|
||||
client_broker=Agent
|
||||
|
||||
|
||||
requiredFields=Camps obligatoris
|
||||
allFieldsRequired=Tots els camps obligatoris
|
||||
allFieldsRequired=Tots els camps són obligatoris
|
||||
|
||||
backToApplication=« Torna a l''aplicaci\u00F3
|
||||
backToApplication=« Torna a l''aplicació
|
||||
backTo=Torna a {0}
|
||||
|
||||
date=Data
|
||||
event=Event
|
||||
event=Esdeveniment
|
||||
ip=IP
|
||||
client=Client
|
||||
clients=Clients
|
||||
details=Detalls
|
||||
started=Iniciat
|
||||
lastAccess=\u00DAltim acc\u00E9s
|
||||
expires=Expira
|
||||
lastAccess=Últim accés
|
||||
expires=Caduca
|
||||
applications=Aplicacions
|
||||
|
||||
account=Compte
|
||||
federatedIdentity=Identitat federada
|
||||
authenticator=Autenticador
|
||||
device-activity=Activitat dels dispositius
|
||||
sessions=Sessions
|
||||
log=Registre
|
||||
|
||||
application=Aplicaci\u00F3
|
||||
availablePermissions=Permisos disponibles
|
||||
application=Aplicació
|
||||
availableRoles=Rols disponibles
|
||||
grantedPermissions=Permisos concedits
|
||||
grantedPersonalInfo=Informaci\u00F3 personal concedida
|
||||
additionalGrants=Permisos addicionals
|
||||
action=Acci\u00F3
|
||||
grantedPersonalInfo=Informació personal concedida
|
||||
additionalGrants=Concessions addicionals
|
||||
action=Acció
|
||||
inResource=a
|
||||
fullAccess=Acc\u00E9s total
|
||||
offlineToken=Codi d''autoritzaci\u00F3 offline
|
||||
revoke=Revocar perm\u00EDs
|
||||
fullAccess=Accés total
|
||||
offlineToken=Codi d''autorització fora de línia
|
||||
revoke=Revoca el permís
|
||||
|
||||
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
|
||||
mobile=Mòbil
|
||||
totpStep1=Instal·leu una de les aplicacions següents al vostre mòbil:
|
||||
totpStep2=Obriu l''aplicació i escanegeu el codi de barres:
|
||||
totpStep3=Introduïu el codi d''un sol ús proveït per l''aplicació i feu clic a Desa per a finalitzar la configuració.
|
||||
totpStep3DeviceName=Introduïu un nom de dispositiu per a ajudar-vos a gestionar els vostres dispositius OTP.
|
||||
|
||||
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.
|
||||
totpManualStep2=Obriu l''aplicació i introduïu la clau:
|
||||
totpManualStep3=Utilitzeu els valors de configuració següents si l''aplicació permet establir-los:
|
||||
totpUnableToScan=No podeu escanejar?
|
||||
totpScanBarcode=Voleu escanejar el codi de barres?
|
||||
|
||||
totp.totp=Basat en temps
|
||||
totp.hotp=Basat en comptador
|
||||
|
||||
totpType=Tipus
|
||||
totpAlgorithm=Algoritme
|
||||
totpDigits=Dígits
|
||||
totpInterval=Interval
|
||||
totpCounter=Comptador
|
||||
totpDeviceName=Nom del dispositiu
|
||||
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
|
||||
irreversibleAction=Aquesta acció és irreversible
|
||||
deletingImplies=La supressió del vostre compte implica:
|
||||
errasingData=Suprimir totes les vostres dades
|
||||
loggingOutImmediately=Desconnectar-vos immediatament
|
||||
accountUnusable=Qualsevol ús posterior de l''aplicació no serà possible amb aquest compte
|
||||
|
||||
missingUsernameMessage=Indiqueu el vostre nom d''usuari.
|
||||
missingFirstNameMessage=Indiqueu el vostre nom.
|
||||
invalidEmailMessage=L''adreça de correu electrònic no és vàlida.
|
||||
missingLastNameMessage=Indiqueu els vostres cognoms.
|
||||
missingEmailMessage=Indiqueu la vostra adreça de correu electrònic.
|
||||
missingPasswordMessage=Indiqueu la contrasenya.
|
||||
notMatchPasswordMessage=Les contrasenyes no coincideixen.
|
||||
invalidUserMessage=L''usuari no és vàlid.
|
||||
updateReadOnlyAttributesRejectedMessage=S''ha rebutjat l''actualització d''un atribut de només lectura.
|
||||
|
||||
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.
|
||||
missingTotpMessage=Indiqueu el codi d''autenticació.
|
||||
missingTotpDeviceNameMessage=Indiqueu el nom de dispositiu.
|
||||
invalidPasswordExistingMessage=La contrasenya actual no és correcta.
|
||||
invalidPasswordConfirmMessage=La confirmació de contrasenya no coincideix.
|
||||
invalidTotpMessage=El codi d''autenticació no és vàlid.
|
||||
|
||||
usernameExistsMessage=L''usuari ja existeix
|
||||
emailExistsMessage=L''email ja existeix
|
||||
usernameExistsMessage=El nom d''usuari ja existeix.
|
||||
emailExistsMessage=El correu electrònic 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.
|
||||
readOnlyUserMessage=No podeu actualitzar el vostre compte perquè és de només lectura.
|
||||
readOnlyUsernameMessage=No podeu actualitzar el vostre nom d''usuari perquè és de només lectura.
|
||||
readOnlyPasswordMessage=No podeu actualitzar la vostra contrasenya perquè és de només lectura.
|
||||
|
||||
successTotpMessage=Aplicaci\u00F3 d''autenticaci\u00F3 m\u00F2bil configurada.
|
||||
successTotpRemovedMessage=Aplicaci\u00F3 d''autenticaci\u00F3 m\u00F2bil eliminada.
|
||||
successTotpMessage=S''ha configurat l''aplicació d''autenticació mòbil.
|
||||
successTotpRemovedMessage=S''ha eliminat l''aplicació d''autenticació mòbil.
|
||||
|
||||
successGrantRevokedMessage=Perm\u00EDs revocat correctament
|
||||
successGrantRevokedMessage=S''ha revocat el permís correctament.
|
||||
|
||||
accountUpdatedMessage=El teu compte s''ha actualitzat.
|
||||
accountPasswordUpdatedMessage=La contrasenya s''ha actualitzat.
|
||||
accountUpdatedMessage=S''ha actualitzat el vostre compte.
|
||||
accountPasswordUpdatedMessage=S''ha actualitzat la vostra contrasenya.
|
||||
|
||||
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.
|
||||
missingIdentityProviderMessage=No s''ha indicat el proveïdor d''identitat.
|
||||
invalidFederatedIdentityActionMessage=Acció no vàlida o no indicada.
|
||||
identityProviderNotFoundMessage=No s''ha trobat un proveïdor d''identitat.
|
||||
federatedIdentityLinkNotActiveMessage=Aquesta identitat ja no està activa.
|
||||
federatedIdentityRemovingLastProviderMessage=No podeu eliminar l''última identitat federada perquè no teniu establerta una contrasenya.
|
||||
identityProviderRedirectErrorMessage=No s''ha pogut redirigir al proveïdor d''identitat.
|
||||
identityProviderRemovedMessage=S''ha eliminat el proveïdor d''identitat correctament.
|
||||
identityProviderAlreadyLinkedMessage=La identitat federada retornada per {0} ja està enllaçada a un altre usuari.
|
||||
staleCodeAccountMessage=La pàgina ha caducat. Proveu-ho de nou.
|
||||
consentDenied=Consentiment rebutjat.
|
||||
access-denied-when-idp-auth=S''ha denegat l''accés mentre s''autenticava amb {0}
|
||||
|
||||
accountDisabledMessage=El compte est\u00E0 desactivada, contacteu amb l''administrador.
|
||||
accountDisabledMessage=El compte està inhabilitat, 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.
|
||||
accountTemporarilyDisabledMessage=El compte està temporalment inhabilitat, contacteu amb l''administrador o intenteu-ho de nou més tard.
|
||||
invalidPasswordMinLengthMessage=La contrasenya no és vàlida: la llargària mínima és {0}.
|
||||
invalidPasswordMaxLengthMessage=La contrasenya no és vàlida: la llargària màxima és {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} lletres minúscules.
|
||||
invalidPasswordMinDigitsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} caràcters numèrics.
|
||||
invalidPasswordMinUpperCaseCharsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} lletres majúscules.
|
||||
invalidPasswordMinSpecialCharsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} caràcters especials.
|
||||
invalidPasswordNotUsernameMessage=La contrasenya no és vàlida: no pot ser igual al nom d''usuari.
|
||||
invalidPasswordNotEmailMessage=La contrasenya no és vàlida: no pot ser igual al correu electrònic.
|
||||
invalidPasswordRegexPatternMessage=La contrasenya no és vàlida: no coincideix amb el patró de l''expressió regular.
|
||||
invalidPasswordHistoryMessage=La contrasenya no és vàlida: no pot ser igual a les últimes {0} contrasenyes.
|
||||
invalidPasswordBlacklistedMessage=La contrasenya no és vàlida: està en una llista negra.
|
||||
invalidPasswordGenericMessage=La contrasenya no és vàlida: la contrasenya nova no coincideix amb les polítiques de contrasenya.
|
||||
|
||||
# Authorization
|
||||
myResources=Els meus recursos
|
||||
myResourcesSub=Els meus recursos
|
||||
doDeny=Rebutja
|
||||
doRevoke=Revoca
|
||||
doApprove=Aprova
|
||||
doRemoveSharing=Deixa de compartir
|
||||
doRemoveRequest=Retira la petició
|
||||
peopleAccessResource=Gent amb accés a aquest recurs
|
||||
resourceManagedPolicies=Permisos que concedeixen accés a aquest recurs
|
||||
resourceNoPermissionsGrantingAccess=No hi ha cap permís que concedeixi accés a aquest recurs
|
||||
anyAction=Qualsevol acció
|
||||
description=Descripció
|
||||
name=Nom
|
||||
scopes=Àmbits
|
||||
resource=Recurs
|
||||
user=Usuari
|
||||
peopleSharingThisResource=Gent compartint aquest recurs
|
||||
shareWithOthers=Comparteix amb altres
|
||||
needMyApproval=Requereix la meua aprovació
|
||||
requestsWaitingApproval=Les vostres peticions que esperen aprovació
|
||||
icon=Icona
|
||||
requestor=Sol·licitant
|
||||
owner=Propietari
|
||||
resourcesSharedWithMe=Recursos compartits amb mi
|
||||
permissionRequestion=Petició de permís
|
||||
permission=Permís
|
||||
shares=comparticions
|
||||
notBeingShared=Aquest recurs no s''està compartint.
|
||||
notHaveAnyResource=No teniu cap recurs
|
||||
noResourcesSharedWithYou=No hi ha cap recurs compartit amb vosaltres
|
||||
havePermissionRequestsWaitingForApproval=Teniu {0} peticions de permís esperant l''aprovació.
|
||||
clickHereForDetails=Feu clic aquí per a obtenir més detalls.
|
||||
resourceIsNotBeingShared=El recurs no s''està compartint
|
||||
|
||||
locale_ar=àrab
|
||||
locale_ca=català
|
||||
locale_cs=txec
|
||||
locale_de=alemany
|
||||
locale_en=anglès
|
||||
locale_es=castellà
|
||||
locale_fr=francès
|
||||
locale_hu=hongarès
|
||||
locale_fa=persa
|
||||
locale_it=italià
|
||||
locale_ja=japonès
|
||||
locale_lt=lituà
|
||||
locale_nl=neerlandès
|
||||
locale_no=noruec
|
||||
locale_pl=polonès
|
||||
locale_pt-BR=portuguès (Brasil)
|
||||
locale_ru=rus
|
||||
locale_sk=eslovè
|
||||
locale_sv=suec
|
||||
locale_tr=turc
|
||||
locale_zh-CN=xinès simplificat
|
||||
locale_fi=finès
|
||||
|
||||
# Applications
|
||||
applicationName=Nom
|
||||
applicationType=Tipus d''aplicació
|
||||
applicationInUse=Només aplicacions en ús
|
||||
clearAllFilter=Esborra tots els filtres
|
||||
activeFilters=Filtres actius
|
||||
filterByName=Filtra per nom…
|
||||
allApps=Totes les aplicacions
|
||||
internalApps=Aplicacions internes
|
||||
thirdpartyApps=Aplicacions de tercers
|
||||
appResults=Resultats
|
||||
clientNotFoundMessage=No s''ha trobat el client.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Proveïdor autoritzat
|
||||
authorizedProviderMessage=Proveïdors autoritzats enllaçats amb el vostre compte
|
||||
identityProvider=Proveïdor d''identitat
|
||||
identityProviderMessage=Per a enllaçar el vostre compte amb els proveïdors d''identitat que heu configurat
|
||||
socialLogin=Identificació social
|
||||
userDefined=Definit per l''usuari
|
||||
removeAccess=Elimina l''accés
|
||||
removeAccessMessage=Haureu de tornar a concedir l''accés de nou si voleu utilitzar el compte d''aquesta aplicació.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=L''autenticació de doble factor està
|
||||
authenticatorFinishSetUpTitle=La vostra autenticació de doble factor
|
||||
authenticatorFinishSetUpMessage=Cada vegada que entreu al vostre compte del Keycloak, se us demanarà que introduïu un codi d''autenticació de doble factor.
|
||||
authenticatorSubTitle=Configura l''autenticació de doble factor
|
||||
authenticatorSubMessage=Per a millorar la seguretat del vostre compte, habiliteu almenys un dels mètodes d''autenticació de doble factor.
|
||||
authenticatorMobileTitle=Autenticador mòbil
|
||||
authenticatorMobileMessage=Utilitzeu un autenticador mòbil per a obtenir codis de verificació com a autenticació de doble factor.
|
||||
authenticatorMobileFinishSetUpMessage=S''ha associat l''autenticador al vostre telèfon.
|
||||
authenticatorActionSetup=Configura
|
||||
authenticatorSMSTitle=Codi SMS
|
||||
authenticatorSMSMessage=El Keycloak enviarà el codi de verificació al vostre telèfon com a autenticació de doble factor.
|
||||
authenticatorSMSFinishSetUpMessage=Els missatges de text s''envien al
|
||||
authenticatorDefaultStatus=Predefinit
|
||||
authenticatorChangePhone=Canvia el número de telèfon
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Configuració de l''autenticador mòbil
|
||||
smscodeIntroMessage=Introduïu el vostre número de telèfon i se us enviarà un codi de verificació.
|
||||
mobileSetupStep1=Instal·leu una aplicació d''autenticació al telèfon. Les aplicacions llistades a sota són compatibles.
|
||||
mobileSetupStep2=Obriu l''aplicació i escanegeu el codi de barres:
|
||||
mobileSetupStep3=Introduïu el codi d''un sol ús proveït per l''aplicació i feu clic a Desa per a finalitzar la configuració.
|
||||
scanBarCode=Voleu escanejar el codi de barres?
|
||||
enterBarCode=Introduïu el codi d''un sol ús
|
||||
doCopy=Copia
|
||||
doFinish=Finalitza
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=Configuració del codi SMS
|
||||
chooseYourCountry=Seleccioneu el vostre país
|
||||
enterYourPhoneNumber=Introduïu el vostre número de telèfon
|
||||
sendVerficationCode=Envia un codi de verificació
|
||||
enterYourVerficationCode=Introduïu el codi de verificació
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Configuració dels codis d''autenticació de recuperació
|
||||
realmName=Domini
|
||||
doDownload=Baixa
|
||||
doPrint=Imprimeix
|
||||
generateNewBackupCodes=Genera codis d''autenticació de recuperació nous
|
||||
backtoAuthenticatorPage=Torna a la pàgina de l''autenticador
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Recursos
|
||||
sharedwithMe=Compartit amb mi
|
||||
share=Comparteix
|
||||
sharedwith=Compartit amb
|
||||
accessPermissions=Permisos d''accés
|
||||
permissionRequests=Peticions de permís
|
||||
approve=Aprova
|
||||
approveAll=Aprova-ho tot
|
||||
people=persones
|
||||
perPage=per pàgina
|
||||
currentPage=Pàgina actual
|
||||
sharetheResource=Comparteix el recurs
|
||||
group=Grup
|
||||
selectPermission=Seleccioneu el permís
|
||||
addPeople=Afegiu persones amb qui compartir els vostres recursos
|
||||
addTeam=Afegiu un equip amb qui compartir els vostres recursos
|
||||
myPermissions=Els meus permisos
|
||||
waitingforApproval=Esperant l''aprovació
|
||||
anyPermission=Qualsevol permís
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Informació d''usuari
|
||||
openshift.scope.user_check-access=Informació d''accessos d''usuari
|
||||
openshift.scope.user_full=Accés total
|
||||
openshift.scope.list-projects=Llista els projectes
|
||||
|
||||
error-invalid-value=El valor no és vàlid.
|
||||
error-invalid-blank=Especifiqueu un valor.
|
||||
error-empty=Especifiqueu un valor.
|
||||
error-invalid-length=L''atribut {0} ha de tindre una llargària d''entre {1} i {2}.
|
||||
error-invalid-length-too-short=L''atribut {0} ha de tindre una llargària mínima de {1}.
|
||||
error-invalid-length-too-long=L''atribut {0} ha de tindre una llargària màxima de {2}.
|
||||
error-invalid-email=L''adreça de correu electrònic no és vàlida.
|
||||
error-invalid-number=El nombre no és vàlid.
|
||||
error-number-out-of-range=L''atribut {0} ha de ser un número entre {1} i {2}.
|
||||
error-number-out-of-range-too-small=L''atribut {0} ha de tindre valor mínim de {1}.
|
||||
error-number-out-of-range-too-big=L''atribut {0} ha de tindre valor màxim de {2}.
|
||||
error-pattern-no-match=El valor no és vàlid.
|
||||
error-invalid-uri=L''URL no és vàlid.
|
||||
error-invalid-uri-scheme=L''esquema d''URL no és vàlid.
|
||||
error-invalid-uri-fragment=El fragment d''URL no és vàlid.
|
||||
error-user-attribute-required=Especifiqueu l''atribut {0}.
|
||||
error-invalid-date=La data no és vàlida.
|
||||
error-user-attribute-read-only=El camp {0} és només de lectura.
|
||||
error-username-invalid-character=El nom d''usuari conté un caràcter no vàlid.
|
||||
error-person-name-invalid-character=El nom conté un caràcter no vàlid.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=Uložit
|
||||
doCancel=Zrušit
|
||||
doLogOutAllSessions=Odhlásit všechny relace
|
||||
@@ -168,4 +167,6 @@ invalidPasswordNotUsernameMessage=Neplatné heslo: nesmí být totožné s uživ
|
||||
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.
|
||||
invalidPasswordGenericMessage=Neplatné heslo: nové heslo neodpovídá pravidlům hesla.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: UTF-8
|
||||
doSave=Gem
|
||||
doCancel=Annuller
|
||||
doLogOutAllSessions=Log alle sessioner ud
|
||||
@@ -227,21 +226,22 @@ permissionRequestion=Rettigsheds forespørgsel
|
||||
permission=Tilladelse
|
||||
shares=share(s)
|
||||
|
||||
locale_ca=Catal\u00e0
|
||||
locale_ca=Català
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Espa\u00f1ol
|
||||
locale_fr=Fran\u00e7ais
|
||||
locale_es=Español
|
||||
locale_fa=فارسی
|
||||
locale_fr=Français
|
||||
locale_it=Italian
|
||||
locale_ja=\u65e5\u672c\u8a9e
|
||||
locale_ja=日本語
|
||||
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_lt=Lietuvių
|
||||
locale_pt-BR=Português (Brasil)
|
||||
locale_ru=Русский
|
||||
locale_sk=Slovenčina
|
||||
locale_sv=Svenska
|
||||
locale_zh-CN=\u4e2d\u6587\u7b80\u4f53
|
||||
locale_zh-CN=中文简体
|
||||
|
||||
# Applications
|
||||
applicationName=Navn
|
||||
|
||||
@@ -2,39 +2,44 @@ doSave=Speichern
|
||||
doCancel=Abbrechen
|
||||
doLogOutAllSessions=Alle Sitzungen abmelden
|
||||
doRemove=Entfernen
|
||||
doAdd=Hinzuf\u00FCgen
|
||||
doAdd=Hinzufügen
|
||||
doSignOut=Abmelden
|
||||
doLogIn=Anmelden
|
||||
doLink=Verkn\u00FCpfen
|
||||
doLink=Verknüpfen
|
||||
noAccessMessage=Zugriff verweigert
|
||||
|
||||
personalInfoSidebarTitle=Persönliche Informationen
|
||||
accountSecuritySidebarTitle=Kontosicherheit
|
||||
signingInSidebarTitle=Anmeldung
|
||||
deviceActivitySidebarTitle=Geräteaktivität
|
||||
linkedAccountsSidebarTitle=Verknüpfte Konten
|
||||
|
||||
editAccountHtmlTitle=Benutzerkonto bearbeiten
|
||||
personalInfoHtmlTitle=Pers\u00F6nliche Informationen
|
||||
federatedIdentitiesHtmlTitle=F\u00F6derierte Identit\u00E4ten
|
||||
accountLogHtmlTitle=Benutzerkonto Log
|
||||
changePasswordHtmlTitle=Passwort \u00C4ndern
|
||||
deviceActivityHtmlTitle=Ger\u00E4teaktivit\u00E4t
|
||||
personalInfoHtmlTitle=Persönliche Informationen
|
||||
federatedIdentitiesHtmlTitle=Föderierte Identitäten
|
||||
accountLogHtmlTitle=Benutzerkonto-Protokoll
|
||||
changePasswordHtmlTitle=Passwort ändern
|
||||
deviceActivityHtmlTitle=Geräteaktivität
|
||||
sessionsHtmlTitle=Sitzungen
|
||||
accountManagementTitle=Keycloak Benutzerkontoverwaltung
|
||||
accountManagementTitle=Keycloak-Benutzerkontoverwaltung
|
||||
authenticatorTitle=Mehrfachauthentifizierung
|
||||
applicationsHtmlTitle=Applikationen
|
||||
linkedAccountsHtmlTitle=Verkn\u00FCpfte Konten
|
||||
linkedAccountsHtmlTitle=Verknüpfte Konten
|
||||
|
||||
accountManagementWelcomeMessage=Willkommen bei der Keycloak Kontoverwaltung
|
||||
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
|
||||
applicationsIntroMessage=App-Berechtigung für 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
|
||||
updatePasswordMessageTitle=Wählen Sie ein sicheres Passwort
|
||||
updatePasswordMessage=Ein sicheres Passwort besteht aus einer Kombination aus Zahlen, Buchstaben und Sonderzeichen. Es ist schwer zu erraten, hat keine Ähnlichkeit mit einem echten Wort, und wird nur für dieses Konto verwendet.
|
||||
personalSubTitle=Ihre persönlichen Informationen
|
||||
personalSubMessage=Verwalten Sie folgende Informationen: Vorname, Nachname und E-Mail-Adresse
|
||||
|
||||
authenticatorCode=One-time Code
|
||||
authenticatorCode=Einmalcode
|
||||
email=E-Mail
|
||||
firstName=Vorname
|
||||
givenName=Vorname
|
||||
@@ -43,12 +48,12 @@ lastName=Nachname
|
||||
familyName=Nachname
|
||||
password=Passwort
|
||||
currentPassword=Aktuelles Passwort
|
||||
passwordConfirm=Passwort best\u00E4tigen
|
||||
passwordConfirm=Passwort bestätigen
|
||||
passwordNew=Neues Passwort
|
||||
username=Benutzername
|
||||
address=Adresse
|
||||
street=Stra\u00DFe
|
||||
region=Staat, Provinz, Region
|
||||
street=Straße
|
||||
region=Bundesland, Kanton oder Region
|
||||
postal_code=PLZ
|
||||
locality=Stadt oder Ortschaft
|
||||
country=Land
|
||||
@@ -59,30 +64,30 @@ phoneNumberVerified=Telefonnummer verifiziert
|
||||
gender=Geschlecht
|
||||
birthday=Geburtsdatum
|
||||
zoneinfo=Zeitzone
|
||||
gssDelegationCredential=GSS delegierte Berechtigung
|
||||
gssDelegationCredential=GSS-delegierte Berechtigung
|
||||
|
||||
profileScopeConsentText=Nutzerkonto
|
||||
emailScopeConsentText=E-Mail Adresse
|
||||
emailScopeConsentText=E-Mail-Adresse
|
||||
addressScopeConsentText=Adresse
|
||||
phoneScopeConsentText=Telefonnummer
|
||||
offlineAccessScopeConsentText=Offline Zugriff
|
||||
offlineAccessScopeConsentText=Offlinezugriff
|
||||
samlRoleListScopeConsentText=Meine Rollen
|
||||
rolesScopeConsentText=Nutzerrollen
|
||||
|
||||
role_admin=Admin
|
||||
role_realm-admin=Realm 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-identity-providers=Identitätsprovider 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-identity-providers=Identitätsprovider verwalten
|
||||
role_manage-clients=Clients verwalten
|
||||
role_manage-events=Events verwalten
|
||||
role_view-profile=Profile ansehen
|
||||
@@ -94,7 +99,7 @@ role_offline-access=Offline-Zugriff
|
||||
role_uma_authorization=Berechtigungen einholen
|
||||
client_account=Clientkonto
|
||||
client_account-console=Accountkonsole
|
||||
client_security-admin-console=Security Adminkonsole
|
||||
client_security-admin-console=Security-Adminkonsole
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Realm-Management
|
||||
client_broker=Broker
|
||||
@@ -103,8 +108,8 @@ client_broker=Broker
|
||||
requiredFields=Erforderliche Felder
|
||||
allFieldsRequired=Alle Felder sind erforderlich
|
||||
|
||||
backToApplication=« Zur\u00FCck zur Applikation
|
||||
backTo=Zur\u00FCck zu {0}
|
||||
backToApplication=« Zurück zur Applikation
|
||||
backTo=Zurück zu {0}
|
||||
|
||||
date=Datum
|
||||
event=Ereignis
|
||||
@@ -118,17 +123,17 @@ expires=Ablaufdatum
|
||||
applications=Applikationen
|
||||
|
||||
account=Benutzerkonto
|
||||
federatedIdentity=F\u00F6derierte Identit\u00E4t
|
||||
federatedIdentity=Föderierte Identität
|
||||
authenticator=Mehrfachauthentifizierung
|
||||
device-activity=Ger\u00E4teaktivit\u00E4t
|
||||
device-activity=Geräteaktivität
|
||||
sessions=Sitzungen
|
||||
log=Log
|
||||
log=Protokoll
|
||||
|
||||
application=Applikation
|
||||
availablePermissions=verf\u00FCgbare Berechtigungen
|
||||
grantedPermissions=gew\u00E4hrte Berechtigungen
|
||||
grantedPersonalInfo=gew\u00E4hrte pers\u00F6nliche Informationen
|
||||
additionalGrants=zus\u00E4tzliche Berechtigungen
|
||||
availablePermissions=verfügbare Berechtigungen
|
||||
grantedPermissions=gewährte Berechtigungen
|
||||
grantedPersonalInfo=gewährte persönliche Informationen
|
||||
additionalGrants=zusätzliche Berechtigungen
|
||||
action=Aktion
|
||||
inResource=in
|
||||
fullAccess=Vollzugriff
|
||||
@@ -136,54 +141,54 @@ offlineToken=Offline-Token
|
||||
revoke=Berechtigung widerrufen
|
||||
|
||||
configureAuthenticators=Mehrfachauthentifizierung konfigurieren
|
||||
mobile=Mobil
|
||||
mobile=Smartphone
|
||||
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.
|
||||
totpStep2=Öffnen Sie die Applikation und scannen Sie den Barcode.
|
||||
totpStep3=Geben Sie den von der Applikation generierten Einmalcode ein und klicken Sie auf Speichern.
|
||||
totpStep3DeviceName=Geben Sie einen Gerätenamen an, um die Verwaltung Ihrer OTP-Geräte 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?
|
||||
totpManualStep2=Öffnen Sie die Applikation und geben Sie den folgenden Schlüssel ein.
|
||||
totpManualStep3=Verwenden Sie die folgenden Konfigurationswerte, falls Sie diese für die Applikation anpassen können:
|
||||
totpUnableToScan=Sie können den Barcode nicht scannen?
|
||||
totpScanBarcode=Barcode scannen?
|
||||
|
||||
totp.totp=zeitbasiert (time-based)
|
||||
totp.hotp=z\u00E4hlerbasiert (counter-based)
|
||||
totp.hotp=zählerbasiert (counter-based)
|
||||
|
||||
totpType=Typ
|
||||
totpAlgorithm=Algorithmus
|
||||
totpDigits=Ziffern
|
||||
totpInterval=Intervall
|
||||
totpCounter=Z\u00E4hler
|
||||
totpDeviceName=Ger\u00E4tename
|
||||
totpCounter=Zähler
|
||||
totpDeviceName=Gerätename
|
||||
|
||||
irreversibleAction=Diese Aktion ist unwiderruflich
|
||||
deletingImplies=Die L\u00F6schung Ihres Kontos bedeutet:
|
||||
errasingData=L\u00F6schen aller Ihrer Daten
|
||||
deletingImplies=Die Löschung Ihres Kontos bedeutet:
|
||||
errasingData=Löschen aller Ihrer Daten
|
||||
loggingOutImmediately=Sofortige Abmeldung
|
||||
accountUnusable=Eine sp\u00E4tere Nutzung der Anwendung ist mit diesem Konto nicht mehr m\u00F6glich
|
||||
accountUnusable=Eine spätere Nutzung der Anwendung ist mit diesem Konto nicht mehr möglich
|
||||
|
||||
missingUsernameMessage=Bitte geben Sie einen Benutzernamen ein.
|
||||
missingFirstNameMessage=Bitte geben Sie einen Vornamen ein.
|
||||
invalidEmailMessage=Ung\u00FCltige E-Mail Adresse.
|
||||
invalidEmailMessage=Ungültige 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
|
||||
notMatchPasswordMessage=Die Passwörter sind nicht identisch.
|
||||
invalidUserMessage=Ungültiger 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.
|
||||
missingTotpMessage=Bitte geben Sie den Einmalcode ein.
|
||||
missingTotpDeviceNameMessage=Bitte geben Sie einen Gerätenamen an.
|
||||
invalidPasswordExistingMessage=Das aktuelle Passwort ist ungültig.
|
||||
invalidPasswordConfirmMessage=Die Passwortbestätigung ist nicht identisch.
|
||||
invalidTotpMessage=Ungültiger Einmalcode.
|
||||
|
||||
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.
|
||||
readOnlyUserMessage=Sie können Ihr Benutzerkonto nicht ändern, da es schreibgeschützt ist.
|
||||
readOnlyUsernameMessage=Sie können Ihren Benutzernamen nicht ändern, da er schreibgeschützt ist.
|
||||
readOnlyPasswordMessage=Sie können Ihr Passwort nicht ändern, da es schreibgeschützt ist.
|
||||
|
||||
successTotpMessage=Mehrfachauthentifizierung erfolgreich konfiguriert.
|
||||
successTotpRemovedMessage=Mehrfachauthentifizierung erfolgreich entfernt.
|
||||
@@ -193,31 +198,31 @@ 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.
|
||||
missingIdentityProviderMessage=Identitätsprovider nicht angegeben.
|
||||
invalidFederatedIdentityActionMessage=Ungültige oder fehlende Aktion.
|
||||
identityProviderNotFoundMessage=Angegebener Identitätsprovider nicht gefunden.
|
||||
federatedIdentityLinkNotActiveMessage=Diese Identität ist nicht mehr aktiv.
|
||||
federatedIdentityRemovingLastProviderMessage=Sie können den letzten Eintrag nicht entfernen, da Sie kein Passwort haben.
|
||||
identityProviderRedirectErrorMessage=Fehler bei der Weiterleitung zum Identitätsprovider.
|
||||
identityProviderRemovedMessage=Identitätsprovider erfolgreich entfernt.
|
||||
identityProviderAlreadyLinkedMessage=Die föderierte Identität von {0} ist bereits einem anderen Benutzer zugewiesen.
|
||||
staleCodeAccountMessage=Diese Seite ist nicht mehr gültig, bitte versuchen Sie es noch einmal.
|
||||
consentDenied=Einverständnis 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.
|
||||
accountTemporarilyDisabledMessage=Ihr Benutzerkonto ist temporär gesperrt, bitte kontaktieren Sie den Admin oder versuchen Sie es später noch einmal.
|
||||
invalidPasswordMinLengthMessage=Ungültiges Passwort: Es muss mindestens {0} Zeichen lang sein.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ungültiges Passwort: Es muss mindestens {0} Kleinbuchstaben beinhalten.
|
||||
invalidPasswordMinDigitsMessage=Ungültiges Passwort: Es muss mindestens {0} Zahl(en) beinhalten.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ungültiges Passwort: Es muss mindestens {0} Großbuchstaben beinhalten.
|
||||
invalidPasswordMinSpecialCharsMessage=Ungültiges Passwort: Es muss mindestens {0} Sonderzeichen beinhalten.
|
||||
invalidPasswordNotUsernameMessage=Ungültiges Passwort: Es darf nicht gleich sein wie der Benutzername.
|
||||
invalidPasswordNotEmailMessage=Ungültiges Passwort: darf nicht identisch mit der E-Mail-Adresse sein.
|
||||
invalidPasswordRegexPatternMessage=Ungültiges Passwort: Es entspricht nicht dem Regex-Muster.
|
||||
invalidPasswordHistoryMessage=Ungültiges Passwort: Es darf nicht einem der letzten {0} Passwörter entsprechen.
|
||||
invalidPasswordBlacklistedMessage=Ungültiges Passwort: Das Passwort steht auf der Blockliste.
|
||||
invalidPasswordGenericMessge=Ungültiges Passwort: Das neue Passwort verletzt die Passwort-Richtlinien.
|
||||
|
||||
# Authorization
|
||||
myResources=Meine Ressourcen
|
||||
@@ -228,8 +233,8 @@ 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
|
||||
resourceManagedPolicies=Berechtigungen, die Zugriff auf diese Ressource gewähren
|
||||
resourceNoPermissionsGrantingAccess=Keine Berechtigungen, die Zugriff auf diese Ressource gewähren
|
||||
anyAction=Jede Aktion
|
||||
description=Beschreibung
|
||||
name=Name
|
||||
@@ -246,13 +251,13 @@ owner=Besitzender
|
||||
resourcesSharedWithMe=Mit mir geteilte Ressourcen
|
||||
permissionRequestion=Genehmigungsanfrage
|
||||
permission=Genehmigung
|
||||
shares=teilt(en)
|
||||
notBeingShared=Diese Ressource wird nicht freigegeben.
|
||||
shares=teilt/teilen
|
||||
notBeingShared=Diese Ressource wurde 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
|
||||
noResourcesSharedWithYou=Es wurden keine Ressourcen mit Ihnen geteilt
|
||||
havePermissionRequestsWaitingForApproval=Sie haben {0} Genehmigungsanfrage(n), die auf Genehmigung warten.
|
||||
clickHereForDetails=Klicken Sie hier für Details.
|
||||
resourceIsNotBeingShared=Die Ressource wurde nicht freigegeben
|
||||
|
||||
# Applications
|
||||
applicationName=Anwendungsname
|
||||
@@ -269,36 +274,36 @@ 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
|
||||
authorizedProviderMessage=Autorisierte Provider, die mit Ihrem Konto verknüpft sind
|
||||
identityProvider=Identitätsprovider
|
||||
identityProviderMessage=Verknüpfen Sie Ihr Konto mit Identitätsprovidern, 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.
|
||||
removeAccessMessage=Sie müssen den Zugriff erneut gewähren, wenn Sie diese Anwendung verwenden möchten.
|
||||
|
||||
#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.
|
||||
authenticatorSubMessage=Um die Sicherheit Ihres Kontos zu erhöhen, aktivieren Sie mindestens eine der verfügbaren 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.
|
||||
authenticatorMobileMessage=Verwenden Sie Authentifikator-Anwendungen auf Ihrem Telefon, um Verifizierungscodes als Zwei-Faktor-Authentifizierung zu erhalten.
|
||||
authenticatorMobileFinishSetUpMessage=Die Authentifikator-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
|
||||
authenticatorChangePhone=Telefonnummer ändern
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Handy-Authenticator-Setup
|
||||
authenticatorMobileSetupTitle=Handy-Authentifikator-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.
|
||||
mobileSetupStep1=Installieren Sie eine Authentifikator-Anwendung auf Ihrem Telefon. Die hier aufgeführten Anwendungen werden unterstützt.
|
||||
mobileSetupStep2=Öffnen 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ßen.
|
||||
scanBarCode=Wollen Sie den Barcode scannen?
|
||||
enterBarCode=Geben Sie den Einmalcode ein
|
||||
doCopy=Kopieren
|
||||
@@ -306,7 +311,7 @@ doFinish=Fertigstellen
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=SMS-Code-Einrichtung
|
||||
chooseYourCountry=W\u00E4hlen Sie Ihr Land
|
||||
chooseYourCountry=Wählen Sie Ihr Land
|
||||
enterYourPhoneNumber=Geben Sie Ihre Telefonnummer ein
|
||||
sendVerficationCode=Verifizierungscode senden
|
||||
enterYourVerficationCode=Geben Sie Ihren Verifizierungscode ein
|
||||
@@ -317,7 +322,7 @@ realmName=Realm
|
||||
doDownload=Herunterladen
|
||||
doPrint=Drucken
|
||||
generateNewBackupCodes=Neue Backup-Codes generieren
|
||||
backtoAuthenticatorPage=Zur\u00FCck zur Authenticator-Seite
|
||||
backtoAuthenticatorPage=Zurück zur Authentifikator-Seite
|
||||
|
||||
|
||||
#Resources
|
||||
@@ -334,9 +339,9 @@ 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
|
||||
selectPermission=Berechtigung auswählen
|
||||
addPeople=Personen hinzufügen, mit denen die Ressource geteilt werden soll
|
||||
addTeam=Team hinzufügen, mit dem die Ressource geteilt werden soll
|
||||
myPermissions=Meine Berechtigungen
|
||||
waitingforApproval=Warten auf Genehmigung
|
||||
anyPermission=Jede Berechtigung
|
||||
@@ -346,3 +351,5 @@ openshift.scope.user_info=Nutzerinformation
|
||||
openshift.scope.user_check-access=Benutzerzugriffsinformationen
|
||||
openshift.scope.user_full=Voller Zugriff
|
||||
openshift.scope.list-projects=Projekte auflisten
|
||||
|
||||
locale_fa=فارسی
|
||||
|
||||
@@ -0,0 +1,376 @@
|
||||
role_manage-identity-providers=Διαχείριση παρόχων ταυτότητας
|
||||
doRemove=Αφαίρεση
|
||||
doAdd=Προσθήκη
|
||||
doSignOut=Έξοδος
|
||||
doLink=Σύνδεση
|
||||
personalInfoSidebarTitle=Προσωπικά στοιχεία
|
||||
accountSecuritySidebarTitle=Ασφάλεια λογαριασμού
|
||||
signingInSidebarTitle=Σε είσοδο
|
||||
deviceActivitySidebarTitle=Δραστηριότητα συσκευών
|
||||
role_manage-account-links=Διαχείριση συνδέσεων λογαριασμού
|
||||
linkedAccountsSidebarTitle=Συνδεδεμένοι λογαριασμοί
|
||||
editAccountHtmlTitle=Επεξεργασία Λογαριασμού
|
||||
personalInfoHtmlTitle=Προσωπικά Στοιχεία
|
||||
changePasswordHtmlTitle=Αλλαγή Κωδικού
|
||||
|
||||
|
||||
requiredFields=Απαιτούμενα πεδία
|
||||
sessionsHtmlTitle=Συνεδρίες
|
||||
accountManagementTitle=Διαχείριση Λογαριασμού Keycloak
|
||||
authenticatorTitle=Εφαρμογή Ταυτοποίησης
|
||||
applicationsHtmlTitle=Εφαρμογές
|
||||
linkedAccountsHtmlTitle=Συνδεδεμένοι λογαριασμοί
|
||||
accountManagementWelcomeMessage=Καλώς Ήλθατε στη Διαχείριση Λογαριασμού στο Keycloak
|
||||
personalInfoIntroMessage=Διαχειριστείτε τα βασικά στοιχεία
|
||||
accountSecurityIntroMessage=Ελέγξτε το κωδικό και τη πρόσβαση σας
|
||||
passwordLastUpdateMessage=Ο κωδικός πρόσβασης σας ενημερώθηκε στις
|
||||
updatePasswordMessageTitle=Βεβαιωθείτε ότι επιλέξατε ένα ισχυρό κωδικό
|
||||
updatePasswordMessage=Ένας ισχυρός κωδικός πρόσβασης είναι συνδυασμός ψηφίων, γραμμάτων και συμβόλων. Είναι δύσκολο να βρεθεί, δεν είναι υπαρκτή λέξη και το χρησιμοποιείται μόνο σε αυτό το λογαριασμό.
|
||||
email=Email
|
||||
firstName=Όνομα
|
||||
lastName=Επώνυμο
|
||||
familyName=Επώνυμο
|
||||
password=Κωδικός πρόσβασης
|
||||
passwordConfirm=Επιβεβαίωση
|
||||
currentPassword=Τρέχων Κωδικός Πρόσβασης
|
||||
passwordNew=Νέος Κωδικός Πρόσβασης
|
||||
username=Όνομα χρήστη
|
||||
address=Διεύθυνση
|
||||
street=Οδός
|
||||
locality=Πόλη ή Δήμος
|
||||
postal_code=Ταχυδρομικός Κώδικας
|
||||
country=Χώρα
|
||||
emailVerified=Επιβεβαιωμένο Email
|
||||
website=Ιστοσελίδα
|
||||
phoneNumber=Τηλέφωνο
|
||||
phoneNumberVerified=Επιβεβαιωμένο τηλέφωνο
|
||||
gender=Φύλο
|
||||
birthday=Ημερομηνία γέννησης
|
||||
zoneinfo=Ζώνη ώρας
|
||||
gssDelegationCredential=GSS διαπιστευτήρια εξουσιοδότησης
|
||||
profileScopeConsentText=Προφίλ χρήστη
|
||||
emailScopeConsentText=Διεύθυνση email
|
||||
addressScopeConsentText=Διεύθυνση
|
||||
phoneScopeConsentText=Τηλέφωνο
|
||||
samlRoleListScopeConsentText=Οι Ρόλοι Μου
|
||||
rolesScopeConsentText=Ρόλοι χρήστη
|
||||
role_admin=Διαχειριστής
|
||||
role_view-identity-providers=Εμφάνιση παρόχων ταυτότητας
|
||||
role_manage-realm=Διαχείριση τομέα
|
||||
role_manage-users=Διαχείριση χρηστών
|
||||
role_manage-applications=Διαχείριση εφαρμογών
|
||||
role_realm-admin=Διαχειριστή Τόπου
|
||||
role_create-realm=Δημιουργία τομέα
|
||||
role_view-realm=Εμφάνιση τομέα
|
||||
role_view-users=Εμφάνιση χρηστών
|
||||
role_view-applications=Εμφάνιση εφαρμογών
|
||||
role_view-clients=Εμφάνιση πελατών
|
||||
role_view-events=Εμφάνιση συμβάντων
|
||||
role_manage-clients=Διαχείριση πελατών
|
||||
role_manage-events=Διαχείριση συμβάντων
|
||||
role_view-profile=Εμφάνιση προφίλ
|
||||
role_manage-account=Διαχείριση λογαριασμού
|
||||
role_read-token=Ανάγνωση διακριτικού
|
||||
role_offline-access=Πρόσβαση εκτός-σύνδεσης
|
||||
client_account=Λογαριασμός
|
||||
client_account-console=Κονσόλα Λογαριασμού
|
||||
client_admin-cli=CLI Διαχείρισης
|
||||
client_realm-management=Διαχείριση Τομέα
|
||||
client_broker=Μεσολαβητής
|
||||
inResource=σε
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
invalidEmailMessage=Μη έγκυρη διεύθυνση email.
|
||||
accountDisabledMessage=Ο λογαριασμός έχει απενεργοποιηθεί, επικοινωνήστε με το διαχειριστή.
|
||||
consentDenied=Άρνηση Συναίνεσης.
|
||||
locale_ca=Català
|
||||
locale_cs=Čeština
|
||||
locale_de=Deutsch
|
||||
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
|
||||
doSave=Αποθήκευση
|
||||
doCancel=Ακύρωση
|
||||
doLogIn=Είσοδος
|
||||
updatePasswordTitle=Ενημέρωση Κωδικού Πρόσβασης
|
||||
locale_ar=عربي
|
||||
authenticatorCode=Κωδικός μίας-χρήσης
|
||||
locale_en=English
|
||||
givenName=Όνομα
|
||||
region=Νομός ή Περιφέρεια
|
||||
fullName=Ονοματεπώνυμο
|
||||
offlineAccessScopeConsentText=Πρόσβαση εκτός-σύνδεσης
|
||||
accountSecurityTitle=Ασφάλεια Λογαριασμού
|
||||
invalidPasswordGenericMessage=Μη έγκυρος κωδικός πρόσβασης: ο νέος κωδικός δε συμφωνεί με τις πολιτικές κωδικών.
|
||||
invalidPasswordHistoryMessage=Μη έγκυρος κωδικός πρόσβασης: δε πρέπει να είναι το ίδιο με τους τελευταίους {0} κωδικούς.
|
||||
invalidPasswordRegexPatternMessage=Μη έγκυρος κωδικός πρόσβασης: δε ταιριάζει με τα μοτίβα regex.
|
||||
invalidPasswordNotEmailMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίσο με το email.
|
||||
invalidPasswordNotUsernameMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίσο με το όνομα χρήστη.
|
||||
invalidPasswordMinSpecialCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ειδικούς χαρακτήρες.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} κεφαλαίους χαρακτήρες.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} πεζούς χαρακτήρες.
|
||||
invalidPasswordMinDigitsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ψηφία.
|
||||
invalidPasswordMaxLengthMessage=Μη έγκυρος κωδικός πρόσβασης: μέγιστο μήκος {0}.
|
||||
invalidPasswordMinLengthMessage=Μη έγκυρος κωδικός πρόσβασης: ελάχιστο μήκος {0}.
|
||||
accountPasswordUpdatedMessage=Ο κωδικός πρόσβασης ενημερώθηκε.
|
||||
accountUpdatedMessage=Ο λογαριασμός σας έχει ενημερωθεί.
|
||||
emailExistsMessage=Το email υπάρχει ήδη.
|
||||
usernameExistsMessage=Το όνομα χρήστη υπάρχει ήδη.
|
||||
invalidTotpMessage=Μη έγκυρος κωδικός μίας χρήσης.
|
||||
invalidPasswordConfirmMessage=Η επιβεβαίωση του κωδικού πρόσβασης δε ταιριάζει.
|
||||
invalidPasswordBlacklistedMessage=Μη έγκυρος κωδικός πρόσβασης: ο κωδικός είναι απαγορευμένος.
|
||||
invalidPasswordExistingMessage=Μη έγκυρος υπάρχοντας κωδικός πρόσβασης.
|
||||
error-invalid-date=Μη έγκυρη ημερομηνία.
|
||||
error-invalid-uri-fragment=Μη έγκυρο κομμάτι URL.
|
||||
error-invalid-uri-scheme=Μη έγκυρο σχήμα URL.
|
||||
error-invalid-uri=Μη έγκυρο URL.
|
||||
error-pattern-no-match=Μη έγκυρη τιμή.
|
||||
error-invalid-number=Μη έγκυρος αριθμός.
|
||||
error-invalid-email=Μη έγκυρη διεύθυνση email.
|
||||
error-empty=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-blank=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-value=Μη έγκυρη τιμή.
|
||||
notMatchPasswordMessage=Οι κωδικοί πρόσβασης δε ταιριάζουν.
|
||||
missingTotpDeviceNameMessage=Παρακαλώ ορίστε όνομα συσκευής.
|
||||
missingTotpMessage=Παρακαλώ εισάγετε ένα κωδικό από εφαρμογή ταυτοποίησης.
|
||||
missingPasswordMessage=Παρακαλώ ορίστε κωδικό πρόσβασης.
|
||||
missingUsernameMessage=Παρακαλώ ορίστε όνομα χρήστη.
|
||||
missingEmailMessage=Παρακαλώ ορίστε email.
|
||||
missingLastNameMessage=Παρακαλώ ορίστε επώνυμο.
|
||||
missingFirstNameMessage=Παρακαλώ ορίστε ένα όνομα.
|
||||
readOnlyUsernameMessage=Δε μπορείτε να ενημερώσετε το όνομα χρήστη σας καθώς είναι μόνο-για-ανάγνωση.
|
||||
access-denied-when-idp-auth=Δεν επιτρέπεται η πρόσβαση κατά τη ταυτοποίηση με {0}
|
||||
accountUnusable=Κάθε μεταγενέστερη χρήση αυτής της εφαρμογής δεν θα είναι δυνατή με αυτό το λογαριασμό
|
||||
loggingOutImmediately=Άμεση αποσύνδεση σας
|
||||
errasingData=Διαγραφή όλων των δεδομένων σας
|
||||
deletingImplies=Η διαγραφή του λογαριασμού σας συνεπάγεται:
|
||||
irreversibleAction=Αυτή η ενέργεια είναι μη αναστρέψιμη
|
||||
openshift.scope.list-projects=Εμφάνιση λίστας έργων
|
||||
openshift.scope.user_full=Πλήρης Πρόσβαση
|
||||
openshift.scope.user_check-access=Πληροφορίες πρόσβασης χρήστη
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Πληροφορίες χρήστη
|
||||
clientNotFoundMessage=Ο πελάτης δε βρέθηκε.
|
||||
identityProviderAlreadyLinkedMessage=Η ομόσπονδη ταυτότητα που επιστρέφει το {0} είναι ήδη συνδεδεμένη με ένα άλλο χρήστη.
|
||||
role_view-groups=Εμφάνιση ομάδων
|
||||
role_uma_authorization=Απόκτηση δικαιωμάτων
|
||||
client_security-admin-console=κονσόλα διαχειριστή ασφαλείας
|
||||
allFieldsRequired=Απαιτούνται όλα τα πεδία
|
||||
backTo=Πίσω στο{0}
|
||||
date=Ημερομηνία
|
||||
event=Γεγονός
|
||||
ip=IP
|
||||
client=Πελάτης
|
||||
clients=Πελάτες
|
||||
details=Λεπτομέρειες
|
||||
started=Ξεκίνησε
|
||||
expires=Λήγει
|
||||
applications=Εφαρμογές
|
||||
account=Λογαριασμός
|
||||
federatedIdentity=Ομόσπονδη Ταυτότητα
|
||||
device-activity=Δραστηριότητα συσκευών
|
||||
sessions=Συνεδρίες
|
||||
log=Λογότυπο
|
||||
application=Εφαρμογή
|
||||
availableRoles=Διαθέσιμοι Ρόλοι
|
||||
grantedPersonalInfo=Εκχωρημένες Προσωπικές Πληροφορίες
|
||||
additionalGrants=Επιπλέον Χορηγήσεις
|
||||
action=Δράση
|
||||
doLogOutAllSessions=Έξοδος από όλες τις συνεδρίες
|
||||
accountLogHtmlTitle=Αρχείο Λογαριασμού
|
||||
noAccessMessage=Δεν επιτρέπεται η πρόσβαση
|
||||
deviceActivityHtmlTitle=Δραστηριότητα Συσκευών
|
||||
federatedIdentitiesHtmlTitle=Ομόσπονδες Ταυτότητες
|
||||
applicationsIntroMessage=Διαχειριστείτε το δικαίωμα της εφαρμογής σας να έχει πρόσβαση στο λογαριασμό σας
|
||||
resourceIntroMessage=Μοιράστε τους πόρους σας μεταξύ των μελών της ομάδας
|
||||
personalSubTitle=Τα Προσωπικά σας Στοιχεία
|
||||
personalSubMessage=Διαχειριστείτε τα βασικά στοιχεία σας.
|
||||
role_view-consent=Εμφάνιση εγκρίσεων
|
||||
role_manage-consent=Διαχείριση εγκρίσεων
|
||||
backToApplication=« Πίσω στην εφαρμογή
|
||||
lastAccess=Τελευταία Πρόσβαση
|
||||
authenticator=Ταυτοποιητής
|
||||
grantedPermissions=Εκχωρημένα Δικαιώματα
|
||||
fullAccess=Πλήρης Πρόσβαση
|
||||
configureAuthenticators=Ρυθμισμένες Εφαρμογές Ταυτοποίησης
|
||||
mobile=Κινητό
|
||||
totpStep2=Ανοίξτε την εφαρμογή και σαρώστε την εικόνα του κωδικού:
|
||||
totpStep3DeviceName=Ορίστε ένα Όνομα Συσκευής για να σας βοηθήσει στη διαχείριση των συσκευών OTP.
|
||||
totpManualStep2=Ξεκινήστε την εφαρμογή και εισάγετε το κλειδί:
|
||||
totpUnableToScan=Αδυναμία σάρωσης;
|
||||
totpScanBarcode=Σάρωση της εικόνας του κωδικού;
|
||||
totpStep1=Εγκαταστήστε μία από τις παρακάτω εφαρμογές στο κινητό σας:
|
||||
totpStep3=Δώστε το κωδικό μίας χρήσης όπως εμφανίζεται στην εφαρμογή σας και επιλέξτε το Αποθήκευση για να ολοκληρωθεί η αρχική ρύθμιση.
|
||||
totp.totp=Χρονικός
|
||||
totp.hotp=Σειριακός
|
||||
totpType=Τύπος
|
||||
totpAlgorithm=Αλγόριθμος
|
||||
totpDigits=Ψηφία
|
||||
totpInterval=Διάστημα
|
||||
totpCounter=Μετρητής
|
||||
totpDeviceName=Όνομα Συσκευής
|
||||
offlineToken=Διακριτικό Εκτός Σύνδεσης
|
||||
revoke=Ανάκληση Χορήγησης
|
||||
totpManualStep3=Χρησιμοποιείστε τις παρακάτω τιμές ρυθμίσεων αν η εφαρμογή το υποστηρίζει:
|
||||
invalidUserMessage=Μη έγκυρος χρήστης
|
||||
updateReadOnlyAttributesRejectedMessage=Απορρίφθηκε η ενημέρωση του μόνο-ανάγνωσης χαρακτηριστικού
|
||||
readOnlyUserMessage=Δε μπορείτε να ενημερώσετε το λογαριασμό σας καθώς είναι μόνο-για-ανάγνωση.
|
||||
successTotpMessage=Ενεργοποιήθηκε η εφαρμογή ταυτοποίησης στο κινητό.
|
||||
successGrantRevokedMessage=Η χορήγηση ανακλήθηκε επιτυχώς.
|
||||
invalidFederatedIdentityActionMessage=Μη έγκυρη ή απούσα δράση.
|
||||
identityProviderNotFoundMessage=Δε βρέθηκε ο ορισμένος πάροχος ταυτότητας.
|
||||
federatedIdentityLinkNotActiveMessage=Αυτή η ταυτότητα δεν είναι πια ενεργή.
|
||||
identityProviderRedirectErrorMessage=Αποτυχία στην ανακατεύθυνση προς το πάροχο ταυτότητας.
|
||||
identityProviderRemovedMessage=Ο πάροχος ταυτότητας αφαιρέθηκε επιτυχώς.
|
||||
|
||||
# Authorization
|
||||
myResources=Οι Πόροι Μου
|
||||
myResourcesSub=Οι πόροι μου
|
||||
doDeny=Άρνηση
|
||||
doRevoke=Ανάκληση
|
||||
doApprove=Έγκριση
|
||||
doRemoveSharing=Αφαίρεση Διαμοιρασμού
|
||||
doRemoveRequest=Αφαίρεση Αίτησης
|
||||
peopleAccessResource=Άτομα με πρόσβαση σε αυτό το πόρο
|
||||
resourceNoPermissionsGrantingAccess=Καμιά άδεια που χορηγεί πρόσβαση σε αυτό το πόρο
|
||||
anyAction=Κάθε δράση
|
||||
name=Όνομα
|
||||
scopes=Εμβέλειες
|
||||
resource=Πόρος
|
||||
user=Χρήστης
|
||||
shareWithOthers=Διαμοιρασμός με άλλους
|
||||
needMyApproval=Χρειάζεται την έγκριση μου
|
||||
requestsWaitingApproval=Οι αιτήσεις που αναμένουν έγκριση
|
||||
icon=Εικονίδιο
|
||||
requestor=Αιτών
|
||||
owner=Ιδιοκτήτης
|
||||
permissionRequestion=Αίτηση Άδειας
|
||||
permission=Άδεια
|
||||
shares=διαμοιρασμός(οί)
|
||||
notBeingShared=Αυτός ο πόρος δε διαμοιράζεται.
|
||||
notHaveAnyResource=Δεν έχετε κανένα πόρο
|
||||
havePermissionRequestsWaitingForApproval=Έχετε {0} αιτήση(εις) για άδεια σε αναμονή προς έγκριση.
|
||||
clickHereForDetails=Πατήστε εδώ για λεπτομέρειες.
|
||||
|
||||
# Applications
|
||||
applicationName=Όνομα
|
||||
applicationInUse=Μόνο εφαρμογή σε-χρήση
|
||||
clearAllFilter=Καθαρισμός φίλτρων
|
||||
activeFilters=Ενεργά φίλτρα
|
||||
filterByName=Φιλτράρισμα Ανά Όνομα ...
|
||||
internalApps=Εσωτερικές εφαρμογές
|
||||
thirdpartyApps=Εφαρμογές Τρίτων
|
||||
appResults=Αποτελέσματα
|
||||
authenticatorSubTitle=Ορισμός Ταυτοποίησης Δύο-Παραγόντων
|
||||
authenticatorMobileTitle=Εφαρμογή Ταυτοποίησης στο Κινητό
|
||||
authenticatorMobileMessage=Χρησιμοποιείστε μία Εφαρμογή Ταυτοποίησης στο κινητό για να έχετε τους κωδικούς Επιβεβαίωσης σαν ταυτοποίηση δύο-παραγόντων.
|
||||
authenticatorMobileFinishSetUpMessage=Η εφαρμογή ταυτοποίησης έχει δεθεί με το κινητό σας.
|
||||
authenticatorActionSetup=Ρύθμιση
|
||||
authenticatorSMSTitle=Κωδικός SMS
|
||||
authenticatorSMSFinishSetUpMessage=Μηνύματα κειμένου στέλνονται στο
|
||||
authenticatorDefaultStatus=Προεπιλογή
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Πιστοποιημένος Πάροχος
|
||||
identityProvider=Πάροχος Ταυτότητας
|
||||
identityProviderMessage=Για να συνδέσετε το λογαριασμό σας με παρόχους ταυτότητας που έχετε ρυθμίσει
|
||||
socialLogin=Κοινωνική Είσοδος
|
||||
userDefined=Ορισμένη από το Χρήστη
|
||||
removeAccess=Αφαίρεση Πρόσβασης
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=Η ταυτοποίηση δύο-παραγόντων αυτή τη στιγμή είναι
|
||||
authenticatorFinishSetUpTitle=Η Ταυτοποίηση Δύο Παραγόντων Σας
|
||||
smscodeIntroMessage=Ορίστε ένα αριθμό τηλεφώνου και ένας κωδικός επιβεβαίωσης θα σταλεί στο κινητό σας.
|
||||
mobileSetupStep2=Ανοίξτε την εφαρμογή και σαρώστε το κωδικό QR:
|
||||
scanBarCode=Θέλετε να σαρώσετε το κωδικό QR;
|
||||
enterBarCode=Εισάγετε το κωδικό μίας-φοράς
|
||||
doCopy=Αντιγραφή
|
||||
doFinish=Ολοκλήρωση
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=Ρύθμιση Κωδικού SMS
|
||||
chooseYourCountry=Επιλέξτε τη χώρα σας
|
||||
enterYourPhoneNumber=Εισάγετε το τηλεφωνικό αριθμό σας
|
||||
sendVerficationCode=Αποστολή Κωδικού Επιβεβαίωσης
|
||||
enterYourVerficationCode=Εισάγετε το κωδικό επιβεβαίωσης
|
||||
realmName=Τομέας
|
||||
doDownload=Λήψη
|
||||
doPrint=Εκτύπωση
|
||||
generateNewBackupCodes=Παραγωγή Νέων Κωδικών Ανάκτησης Ταυτοποίησης
|
||||
backtoAuthenticatorPage=Πίσω στη Σελίδα Εφαρμογής Ταυτοποίησης
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Πόροι
|
||||
share=Διαμοιρασμός
|
||||
sharedwith=Μοιράζεται με
|
||||
permissionRequests=Αιτήσεις Αδειών
|
||||
approve=Έγκριση
|
||||
approveAll=Έγκριση όλων
|
||||
people=άτομα
|
||||
perPage=ανά σελίδα
|
||||
currentPage=Τρέχουσα Σελίδα
|
||||
sharetheResource=Διαμοιρασμός πόρου
|
||||
group=Ομάδα
|
||||
addPeople=Προσθήκη ατόμων στα οποία θα διαμοιράσετε το πόρο σας
|
||||
myPermissions=Οι Άδειες Μου
|
||||
waitingforApproval=Αναμονή για έγκριση
|
||||
anyPermission=Κάθε Άδεια
|
||||
error-invalid-length-too-short=Το χαρακτηριστικό {0} πρέπει να έχει ελάχιστο μήκος {1}.
|
||||
error-number-out-of-range-too-small=Το χαρακτηριστικό {0} πρέπει να έχει ελάχιστη τιμή {1}.
|
||||
error-user-attribute-required=Παρακαλώ ορίστε το χαρακτηριστικό {0}.
|
||||
error-user-attribute-read-only=Το πεδίο {0} είναι μόνο για ανάγνωση.
|
||||
error-person-name-invalid-character=Το όνομα περιέχει ένα μη έγκυρο χαρακτήρα.
|
||||
readOnlyPasswordMessage=Δε μπορείτε να ενημερώσετε το κωδικό πρόσβασης σας καθώς είναι μόνο-για-ανάγνωση.
|
||||
successTotpRemovedMessage=Αφαιρέθηκε η εφαρμογή ταυτοποίησης στο κινητό.
|
||||
authenticatorFinishSetUpMessage=Κάθε φορά που συνδέστε στο λογαριασμό σας στο Keycloak, θα πρέπει να παρέχετε ένα κωδικό ταυτοποίησης δύο-παραγόντων.
|
||||
authenticatorSubMessage=Για να βελτιώσετε τη ασφάλεια του λογαριασμού σας, ενεργοποιήστε τουλάχιστον μια από τις διαθέσιμες μεθόδους ταυτοποίησης δύο-παραγόντων.
|
||||
authenticatorSMSMessage=Το Keycloak θα στείλει ένα κωδικό Επιβεβαίωσης στο κινητό σαν ταυτοποίηση δύο-παραγόντων.
|
||||
authenticatorChangePhone=Αλλαγή Τηλεφωνικού Αριθμού
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Ρύθμιση Εφαρμογής Ταυτοποίησης
|
||||
mobileSetupStep1=Εγκαταστήστε μία εφαρμογή ταυτοποίησης στο κινητό σας. Υποστηρίζονται οι παρακάτω εφαρμογές.
|
||||
mobileSetupStep3=Εισάγετε το κωδικό μίας-φοράς που παρήχθει από την εφαρμογή και πατήστε Αποθήκευση για ολοκλήρωση.
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Ρύθμιση Κωδικών Ανάκτησης Ταυτοποίησης
|
||||
sharedwithMe=Μοιράζονται με Εμένα
|
||||
accessPermissions=Άδειες Πρόσβασης
|
||||
selectPermission=Επιλογή Άδειας
|
||||
addTeam=Προσθήκη ομάδας στην οποία θα διαμοιράσετε το πόρο σας
|
||||
error-invalid-length=Το χαρακτηριστικό {0} πρέπει να έχει μήκος μεταξύ {1} και {2}.
|
||||
error-number-out-of-range=Το χαρακτηριστικό {0} πρέπει να είναι ένας αριθμός μεταξύ {1} και {2}.
|
||||
error-number-out-of-range-too-big=Το χαρακτηριστικό {0} πρέπει να έχει μέγιστη τιμή {2}.
|
||||
error-username-invalid-character=Το όνομα χρήστη περιέχει ένα μη έγκυρο χαρακτήρα.
|
||||
missingIdentityProviderMessage=Δεν ορίστηκε πάροχος ταυτότητας.
|
||||
federatedIdentityRemovingLastProviderMessage=Δε μπορείτε να αφαιρέσετε τη τελευταία ομόσπονδη ταυτότητα καθώς δεν έχετε κωδικό πρόσβασης.
|
||||
staleCodeAccountMessage=Η σελίδα έληξε. Παρακαλώ δοκιμάστε άλλη μια φορά.
|
||||
accountTemporarilyDisabledMessage=Ο λογαριασμός έχει απενεργοποιηθεί προσωρινά, επικοινωνήστε με το διαχειριστή ή δοκιμάστε αργότερα.
|
||||
resourceManagedPolicies=Άδειες που χορηγούν πρόσβαση σε αυτό το πόρο
|
||||
description=Περιγραφή
|
||||
peopleSharingThisResource=Άτομα που διαμοιράζουν αυτό το πόρο
|
||||
resourcesSharedWithMe=Πόροι μου διαμοιράζονται με εμένα
|
||||
noResourcesSharedWithYou=Δε διαμοιράζεται πόρος με εσάς
|
||||
resourceIsNotBeingShared=Αυτός ο πόρος δεν διαμοιράζεται
|
||||
applicationType=Τύπος Εφαρμογής
|
||||
allApps=Όλες οι εφαρμογές
|
||||
authorizedProviderMessage=Πιστοποιημένοι Πάροχοι που είναι συνδεδεμένοι με το λογαριασμό σας
|
||||
removeAccessMessage=Πρέπει να χορηγήσετε ξανά πρόσβαση, αν θέλετε να χρησιμοποιήσετε αυτό το λογαριασμό εφαρμογής.
|
||||
error-invalid-length-too-long=Το χαρακτηριστικό {0} πρέπει να έχει μέγιστο μήκος {2}.
|
||||
Regular → Executable
+20
-11
@@ -80,6 +80,7 @@ role_create-realm=Create realm
|
||||
role_view-realm=View realm
|
||||
role_view-users=View users
|
||||
role_view-applications=View applications
|
||||
role_view-groups=View groups
|
||||
role_view-clients=View clients
|
||||
role_view-events=View events
|
||||
role_view-identity-providers=View identity providers
|
||||
@@ -162,6 +163,10 @@ totpInterval=Interval
|
||||
totpCounter=Counter
|
||||
totpDeviceName=Device Name
|
||||
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
|
||||
irreversibleAction=This action is irreversible
|
||||
deletingImplies=Deleting your account implies:
|
||||
errasingData=Erasing all your data
|
||||
@@ -209,6 +214,7 @@ 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.
|
||||
access-denied-when-idp-auth=Access denied when authenticating with {0}
|
||||
|
||||
accountDisabledMessage=Account is disabled, contact your administrator.
|
||||
|
||||
@@ -261,25 +267,28 @@ havePermissionRequestsWaitingForApproval=You have {0} permission request(s) wait
|
||||
clickHereForDetails=Click here for details.
|
||||
resourceIsNotBeingShared=The resource is not being shared
|
||||
|
||||
locale_ca=Catal\u00e0
|
||||
locale_cs=\u010Ce\u0161tina
|
||||
locale_ar=عربي
|
||||
locale_ca=Català
|
||||
locale_cs=Čeština
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Espa\u00f1ol
|
||||
locale_fr=Fran\u00e7ais
|
||||
locale_es=Español
|
||||
locale_fr=Français
|
||||
locale_hu=Magyar
|
||||
locale_fa=فارسی
|
||||
locale_it=Italiano
|
||||
locale_ja=\u65e5\u672c\u8a9e
|
||||
locale_lt=Lietuvi\u0173
|
||||
locale_ja=日本語
|
||||
locale_lt=Lietuvių
|
||||
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_pt-BR=Português (Brasil)
|
||||
locale_ru=Русский
|
||||
locale_sk=Slovenčina
|
||||
locale_sv=Svenska
|
||||
locale_tr=T\u00FCrk\u00E7e
|
||||
locale_zh-CN=\u4e2d\u6587\u7b80\u4f53
|
||||
locale_th=ไทย
|
||||
locale_tr=Türkçe
|
||||
locale_zh-CN=中文简体
|
||||
locale_fi=Suomi
|
||||
|
||||
# Applications
|
||||
|
||||
@@ -2,35 +2,35 @@ doSave=Guardar
|
||||
doCancel=Cancelar
|
||||
doLogOutAllSessions=Desconectar de todas las sesiones
|
||||
doRemove=Eliminar
|
||||
doAdd=A\u00F1adir
|
||||
doAdd=Añadir
|
||||
doSignOut=Desconectar
|
||||
|
||||
editAccountHtmlTitle=Editar cuenta
|
||||
federatedIdentitiesHtmlTitle=Identidades federadas
|
||||
accountLogHtmlTitle=Registro de la cuenta
|
||||
changePasswordHtmlTitle=Cambiar contrase\u00F1a
|
||||
changePasswordHtmlTitle=Cambiar contraseña
|
||||
sessionsHtmlTitle=Sesiones
|
||||
accountManagementTitle=Gesti\u00F3n de Cuenta Keycloak
|
||||
accountManagementTitle=Gestión de Cuenta Keycloak
|
||||
authenticatorTitle=Autenticador
|
||||
applicationsHtmlTitle=Aplicaciones
|
||||
|
||||
authenticatorCode=C\u00F3digo de un solo uso
|
||||
authenticatorCode=Código 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
|
||||
password=Contraseña
|
||||
passwordConfirm=Confirma la contraseña
|
||||
passwordNew=Nueva contraseña
|
||||
username=Usuario
|
||||
address=Direcci\u00F3n
|
||||
address=Dirección
|
||||
street=Calle
|
||||
locality=Ciudad o Municipio
|
||||
region=Estado, Provincia, o Regi\u00F3n
|
||||
postal_code=C\u00F3digo Postal
|
||||
country=Pa\u00EDs
|
||||
region=Estado, Provincia, o Región
|
||||
postal_code=Código Postal
|
||||
country=País
|
||||
emailVerified=Email verificado
|
||||
gssDelegationCredential=GSS Delegation Credential
|
||||
|
||||
@@ -52,17 +52,17 @@ 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
|
||||
role_offline-access=Acceso sin conexión
|
||||
client_account=Cuenta
|
||||
client_security-admin-console=Consola de Administraci\u00F3n de Seguridad
|
||||
client_realm-management=Gesti\u00F3n de dominio
|
||||
client_security-admin-console=Consola de Administración de Seguridad
|
||||
client_realm-management=Gestión de dominio
|
||||
client_broker=Broker
|
||||
|
||||
|
||||
requiredFields=Campos obligatorios
|
||||
allFieldsRequired=Todos los campos obligatorios
|
||||
|
||||
backToApplication=« Volver a la aplicaci\u00F3n
|
||||
backToApplication=« Volver a la aplicación
|
||||
backTo=Volver a {0}
|
||||
|
||||
date=Fecha
|
||||
@@ -72,7 +72,7 @@ client=Cliente
|
||||
clients=Clientes
|
||||
details=Detalles
|
||||
started=Iniciado
|
||||
lastAccess=\u00DAltimo acceso
|
||||
lastAccess=Último acceso
|
||||
expires=Expira
|
||||
applications=Aplicaciones
|
||||
|
||||
@@ -82,66 +82,68 @@ authenticator=Autenticador
|
||||
sessions=Sesiones
|
||||
log=Regisro
|
||||
|
||||
application=Aplicaci\u00F3n
|
||||
application=Aplicación
|
||||
availablePermissions=Permisos disponibles
|
||||
grantedPermissions=Permisos concedidos
|
||||
grantedPersonalInfo=Informaci\u00F3n personal concedida
|
||||
grantedPersonalInfo=Información personal concedida
|
||||
additionalGrants=Permisos adicionales
|
||||
action=Acci\u00F3n
|
||||
action=Acción
|
||||
inResource=en
|
||||
fullAccess=Acceso total
|
||||
offlineToken=C\u00F3digo de autorizaci\u00F3n offline
|
||||
offlineToken=Código de autorización 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
|
||||
mobile=Móvil
|
||||
totpStep1=Instala <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> o Google Authenticator en tu teléfono móvil. Ambas aplicaciones están disponibles en <a href="https://play.google.com">Google Play</a> y en la App Store de Apple.
|
||||
totpStep2=Abre la aplicación y escanea el código o introduce la clave.
|
||||
totpStep3=Introduce el código único que te muestra la aplicación de autenticación y haz clic en Enviar para finalizar la configuración
|
||||
|
||||
missingUsernameMessage=Por favor indica tu usuario.
|
||||
missingFirstNameMessage=Por favor indica el nombre.
|
||||
invalidEmailMessage=Email no v\u00E1lido
|
||||
invalidEmailMessage=Email no válido
|
||||
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.
|
||||
missingPasswordMessage=Por favor indica tu contraseña.
|
||||
notMatchPasswordMessage=Las contraseñas 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.
|
||||
missingTotpMessage=Por favor indica tu código de autenticación
|
||||
invalidPasswordExistingMessage=La contraseña actual no es correcta.
|
||||
invalidPasswordConfirmMessage=La confirmación de contraseña no coincide.
|
||||
invalidTotpMessage=El código de autenticación no es válido.
|
||||
|
||||
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.
|
||||
readOnlyPasswordMessage=No puedes actualizar tu contraseña 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.
|
||||
successTotpMessage=Aplicación de autenticación móvil configurada.
|
||||
successTotpRemovedMessage=Aplicación de autenticación móvil eliminada.
|
||||
|
||||
successGrantRevokedMessage=Permiso revocado correctamente
|
||||
|
||||
accountUpdatedMessage=Tu cuenta se ha actualizado.
|
||||
accountPasswordUpdatedMessage=Tu contrase\u00F1a se ha actualizado.
|
||||
accountPasswordUpdatedMessage=Tu contraseña 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
|
||||
invalidFederatedIdentityActionMessage=Acción no válida o no indicada.
|
||||
identityProviderNotFoundMessage=No se encontró un proveedor de identidad.
|
||||
federatedIdentityLinkNotActiveMessage=Esta identidad ya no está activa
|
||||
federatedIdentityRemovingLastProviderMessage=No puedes eliminar la última identidad federada porque no tienes fijada una contraseña.
|
||||
identityProviderRedirectErrorMessage=Error en la redirección al proveedor de identidad
|
||||
identityProviderRemovedMessage=Proveedor de identidad borrado correctamente.
|
||||
|
||||
accountDisabledMessage=La cuenta est\u00E1 desactivada, contacta con el administrador.
|
||||
accountDisabledMessage=La cuenta está 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.
|
||||
accountTemporarilyDisabledMessage=La cuenta está temporalmente desactivada, contacta con el administrador o inténtalo de nuevo más tarde.
|
||||
invalidPasswordMinLengthMessage=Contraseña incorrecta: longitud mínima {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Contraseña incorrecta: debe contener al menos {0} letras minúsculas.
|
||||
invalidPasswordMinDigitsMessage=Contraseña incorrecta: debe contener al menos {0} caracteres numéricos.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Contraseña incorrecta: debe contener al menos {0} letras mayúsculas.
|
||||
invalidPasswordMinSpecialCharsMessage=Contraseña incorrecta: debe contener al menos {0} caracteres especiales.
|
||||
invalidPasswordNotUsernameMessage=Contraseña incorrecta: no puede ser igual al nombre de usuario.
|
||||
invalidPasswordRegexPatternMessage=Contraseña incorrecta: no cumple la expresión regular.
|
||||
invalidPasswordHistoryMessage=Contraseña incorrecta: no puede ser igual a ninguna de las últimas {0} contraseñas.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -0,0 +1,405 @@
|
||||
doSave=ذخیره
|
||||
doCancel=لغو کنید
|
||||
doLogOutAllSessions=از تمام جلسات خارج شوید
|
||||
doRemove=حذف
|
||||
doAdd=اضافه
|
||||
doSignOut=خروج
|
||||
doLogIn=ورود
|
||||
doLink=پیوند دادن
|
||||
noAccessMessage=دسترسی مجاز نیست
|
||||
|
||||
personalInfoSidebarTitle=اطلاعات شخصی
|
||||
accountSecuritySidebarTitle=امنیت حساب
|
||||
signingInSidebarTitle=وارد شدن
|
||||
deviceActivitySidebarTitle=فعالیت دستگاه
|
||||
linkedAccountsSidebarTitle=حساب های مرتبط
|
||||
|
||||
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=پست الکترونیک
|
||||
firstName=نام
|
||||
givenName=لقب
|
||||
fullName=نام و نام خانوادگی
|
||||
lastName=نام خانوادگی
|
||||
familyName=نام خانوادگی
|
||||
password=رمز عبور
|
||||
currentPassword=رمز عبور فعلی
|
||||
passwordConfirm=تائید
|
||||
passwordNew=رمز عبور جدید
|
||||
username=نام کاربری
|
||||
address=نشانی
|
||||
street=خیابان
|
||||
locality=شهر یا محله
|
||||
region=ایالت، استان یا منطقه
|
||||
postal_code=کد پستی
|
||||
country=کشور
|
||||
emailVerified=ایمیل تایید شده
|
||||
website=صفحه وب
|
||||
phoneNumber=شماره تلفن
|
||||
phoneNumberVerified=شماره تلفن تایید شد
|
||||
gender=جنسیت
|
||||
birthday=تاریخ تولد
|
||||
zoneinfo=منطقه زمانی
|
||||
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-groups=مشاهده گروه ها
|
||||
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=آی پی
|
||||
client=مشتری
|
||||
clients=مشتریان
|
||||
details=جزئیات
|
||||
started=آغاز شده
|
||||
lastAccess=آخرین دسترسی
|
||||
expires=منقضی می شود
|
||||
applications=برنامه های کاربردی
|
||||
|
||||
account=حساب
|
||||
federatedIdentity=هویت فدرال
|
||||
authenticator=احراز هویت
|
||||
device-activity=فعالیت دستگاه
|
||||
sessions=جلسات
|
||||
log=گزارش
|
||||
|
||||
application=کاربرد
|
||||
availableRoles=نقش های موجود
|
||||
grantedPermissions=مجوزهای اعطا شده
|
||||
grantedPersonalInfo=اطلاعات شخصی اعطا شده
|
||||
additionalGrants=اعطا شده های اضافی
|
||||
action=عمل
|
||||
inResource=که در
|
||||
fullAccess=دسترسی کامل
|
||||
offlineToken=توکن آفلاین
|
||||
revoke=لغو امتیاز
|
||||
|
||||
configureAuthenticators=تاییدکنندگان هویت پیکربندی شده
|
||||
mobile=تلفن همراه
|
||||
totpStep1=یکی از برنامه های زیر را روی تلفن همراه خود نصب کنید:
|
||||
totpStep2=برنامه را باز کنید و بارکد را اسکن کنید:
|
||||
totpStep3=کد یکبار مصرف ارائه شده توسط برنامه را وارد کنید و روی ذخیره کلیک کنید تا تنظیمات تمام شود.
|
||||
totpStep3DeviceName=یک نام دستگاه برای کمک به مدیریت دستگاه های OTP خود ارائه دهید.
|
||||
|
||||
totpManualStep2=برنامه را باز کنید و کلید را وارد کنید:
|
||||
totpManualStep3=اگر برنامه اجازه تنظیم آنها را می دهد، از مقادیر پیکربندی زیر استفاده کنید:
|
||||
totpUnableToScan=نمی توانید اسکن کنید؟
|
||||
totpScanBarcode=اسکن بارکد?
|
||||
|
||||
totp.totp=مبتنی بر زمان
|
||||
totp.hotp=مبتنی بر شمارنده
|
||||
|
||||
totpType=نوع
|
||||
totpAlgorithm=الگوریتم
|
||||
totpDigits=ارقام
|
||||
totpInterval=فاصله
|
||||
totpCounter=شمارنده
|
||||
totpDeviceName=نام دستگاه
|
||||
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
|
||||
irreversibleAction=این عمل برگشت ناپذیر است
|
||||
deletingImplies=حذف اکانت به این معنی است:
|
||||
errasingData=پاک کردن تمام داده های شما
|
||||
loggingOutImmediately=خروج بلافاصله شما از سیستم
|
||||
accountUnusable=امکان پذیر نبودن هرگونه استفاده بعدی
|
||||
|
||||
missingUsernameMessage=لطفا نام کاربری را مشخص کنید.
|
||||
missingFirstNameMessage=لطفا نام را مشخص کنید.
|
||||
invalidEmailMessage=آدرس ایمیل نامعتبر است.
|
||||
missingLastNameMessage=لطفا نام خانوادگی را مشخص کنید.
|
||||
missingEmailMessage=لطفا ایمیل را مشخص کنید.
|
||||
missingPasswordMessage=لطفا رمز عبور را مشخص کنید.
|
||||
notMatchPasswordMessage=گذرواژه ها مطابقت ندارند.
|
||||
invalidUserMessage=کاربر نامعتبر
|
||||
updateReadOnlyAttributesRejectedMessage=بهروزرسانی ویژگی فقط خواندنی رد شد
|
||||
|
||||
missingTotpMessage=لطفا کد احراز هویت را مشخص کنید.
|
||||
missingTotpDeviceNameMessage=لطفا نام دستگاه را مشخص کنید.
|
||||
invalidPasswordExistingMessage=رمز عبور موجود نامعتبر است.
|
||||
invalidPasswordConfirmMessage=تأیید رمز عبور مطابقت ندارد.
|
||||
invalidTotpMessage=کد احراز هویت نامعتبر است.
|
||||
|
||||
usernameExistsMessage=نام کاربری از قبل وجود دارد.
|
||||
emailExistsMessage=ایمیل از قبل وجود دارد.
|
||||
|
||||
readOnlyUserMessage=نمیتوانید حساب خود را بهروزرسانی کنید زیرا فقط قابل رویت است.
|
||||
readOnlyUsernameMessage=شما نمی توانید نام کاربری خود را به روز کنید زیرا فقط قابل رویت است.
|
||||
readOnlyPasswordMessage=نمی توانید رمز عبور خود را به روز کنید زیرا حساب شما فقط قابل رویت است.
|
||||
|
||||
successTotpMessage=احراز هویت موبایل پیکربندی شد.
|
||||
successTotpRemovedMessage=احراز هویت موبایل حذف شد.
|
||||
|
||||
successGrantRevokedMessage=گرنت با موفقیت لغو شد.
|
||||
|
||||
accountUpdatedMessage=حساب شما به روز شده است.
|
||||
accountPasswordUpdatedMessage=رمز عبور شما به روز شده است.
|
||||
|
||||
missingIdentityProviderMessage=ارائه دهنده هویت مشخص نشده است.
|
||||
invalidFederatedIdentityActionMessage=اقدام نامعتبر یا از دست رفته است.
|
||||
identityProviderNotFoundMessage=ارائه دهنده هویت مشخص شده یافت نشد.
|
||||
federatedIdentityLinkNotActiveMessage=این هویت دیگر فعال نیست.
|
||||
federatedIdentityRemovingLastProviderMessage=شما نمی توانید آخرین هویت فدرال را حذف کنید زیرا رمز عبور ندارید.
|
||||
identityProviderRedirectErrorMessage=هدایت به ارائه دهنده هویت انجام نشد.
|
||||
identityProviderRemovedMessage=ارائه دهنده هویت با موفقیت حذف شد.
|
||||
identityProviderAlreadyLinkedMessage=هویت فدرال بازگردانده شده توسط {0} قبلاً به کاربر دیگری پیوند داده شده است.
|
||||
staleCodeAccountMessage=صفحه منقضی شد لطفا یک بار دیگر امتحان کنید.
|
||||
consentDenied=رضایت رد شد.
|
||||
access-denied-when-idp-auth=هنگام احراز هویت با {0}، دسترسی ممنوع شد
|
||||
|
||||
accountDisabledMessage=حساب غیرفعال است، با سرپرست خود تماس بگیرید.
|
||||
|
||||
accountTemporarilyDisabledMessage=حساب به طور موقت غیرفعال است، با سرپرست خود تماس بگیرید یا بعداً دوباره امتحان کنید.
|
||||
invalidPasswordMinLengthMessage=رمز عبور نامعتبر: حداقل طول {0}.
|
||||
invalidPasswordMaxLengthMessage=رمز عبور نامعتبر: حداکثر طول {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} نویسه کوچک باشد.
|
||||
invalidPasswordMinDigitsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} رقم عددی باشد.
|
||||
invalidPasswordMinUpperCaseCharsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} نویسه بزرگ باشد.
|
||||
invalidPasswordMinSpecialCharsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} کاراکتر خاص باشد.
|
||||
invalidPasswordNotUsernameMessage=رمز عبور نامعتبر: نباید برابر با نام کاربری باشد.
|
||||
invalidPasswordNotEmailMessage=رمز عبور نامعتبر: نباید برابر با ایمیل باشد.
|
||||
invalidPasswordRegexPatternMessage=رمز عبور نامعتبر: با الگو(های) regex مطابقت ندارد.
|
||||
invalidPasswordHistoryMessage=گذرواژه نامعتبر: نباید با هیچ یک از رمزهای عبور آخر {0} برابر باشد.
|
||||
invalidPasswordBlacklistedMessage=رمز عبور نامعتبر: رمز عبور در لیست سیاه قرار گرفته است.
|
||||
invalidPasswordGenericMessage=رمز عبور نامعتبر: رمز عبور جدید با خط استانداردهای رمز عبور مطابقت ندارد.
|
||||
|
||||
# Authorization
|
||||
myResources=منابع من
|
||||
myResourcesSub=منابع من
|
||||
doDeny=انکار
|
||||
doRevoke=لغو
|
||||
doApprove=تایید
|
||||
doRemoveSharing=اشتراک گذاری را حذف کنید
|
||||
doRemoveRequest=حذف درخواست
|
||||
peopleAccessResource=افرادی که به این منبع دسترسی دارند
|
||||
resourceManagedPolicies=مجوزهایی که اجازه دسترسی به این منبع را میدهند
|
||||
resourceNoPermissionsGrantingAccess=هیچ مجوزی برای دسترسی به این منبع وجود ندارد
|
||||
anyAction=هر اقدامی
|
||||
description=شرح
|
||||
name=نام
|
||||
scopes=محدوده ها
|
||||
resource=منبع
|
||||
user=کاربر
|
||||
peopleSharingThisResource=افرادی که این منبع را به اشتراک می گذارند
|
||||
shareWithOthers=با دیگران به اشتراک بگذارید
|
||||
needMyApproval=نیاز به تایید من
|
||||
requestsWaitingApproval=درخواست های شما در انتظار تایید هستند
|
||||
icon=آیکون
|
||||
requestor=درخواست کننده
|
||||
owner=مالک
|
||||
resourcesSharedWithMe=منابع به اشتراک گذاشته شده با من
|
||||
permissionRequestion=درخواست مجوز
|
||||
permission=مجوز
|
||||
shares=سهم(ها)
|
||||
notBeingShared=این منبع به اشتراک گذاشته نمی شود.
|
||||
notHaveAnyResource=شما هیچ منبعی ندارید
|
||||
noResourcesSharedWithYou=هیچ منبع مشترکی با شما وجود ندارد
|
||||
havePermissionRequestsWaitingForApproval=شما {0} درخواست مجوز در انتظار تأیید دارید.
|
||||
clickHereForDetails=برای جزئیات اینجا را کلیک کنید.
|
||||
resourceIsNotBeingShared=منبع به اشتراک گذاشته نمی شود
|
||||
|
||||
locale_ar=عربي
|
||||
locale_ca=Català
|
||||
locale_cs=Čeština
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Español
|
||||
locale_fa=فارسی
|
||||
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=نام
|
||||
applicationType=نوع اپلیکیشن
|
||||
applicationInUse=فقط برنامه در حال استفاده
|
||||
clearAllFilter=پاک کردن تمام فیلترها
|
||||
activeFilters=فیلترهای فعال
|
||||
filterByName=فیلتر بر اساس نام ...
|
||||
allApps=همه برنامه ها
|
||||
internalApps=برنامه های داخلی
|
||||
thirdpartyApps=برنامه های شخص ثالث
|
||||
appResults=نتایج
|
||||
clientNotFoundMessage=مشتری پیدا نشد
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=ارائه دهنده مجاز
|
||||
authorizedProviderMessage=ارائه دهندگان مجاز با حساب شما مرتبط شده اند
|
||||
identityProvider=ارائه دهنده هویت
|
||||
identityProviderMessage=برای پیوند دادن حساب خود با ارائه دهندگان هویتی که پیکربندی کرده اید
|
||||
socialLogin=ورود به سیستم اجتماعی
|
||||
userDefined=تعریف شده توسط کاربر
|
||||
removeAccess=دسترسی را حذف کنید
|
||||
removeAccessMessage=اگر میخواهید از این حساب برنامه استفاده کنید، باید دوباره اجازه دسترسی بدهید.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=وضعیت احراز هویت دو مرحله ای:
|
||||
authenticatorFinishSetUpTitle=احراز هویت دو مرحله ای شما
|
||||
authenticatorFinishSetUpMessage=هر بار که وارد حساب Keycloak خود می شوید، از شما خواسته می شود یک کد احراز هویت دو مرحله ای ارائه دهید.
|
||||
authenticatorSubTitle=احراز هویت دو مرحله ای را تنظیم کنید
|
||||
authenticatorSubMessage=برای افزایش امنیت حساب خود، حداقل یکی از روش های احراز هویت دو مرحله ای موجود را فعال کنید.
|
||||
authenticatorMobileTitle=ارائه دهندگان احراز هویت تلفن همراه
|
||||
authenticatorMobileMessage=از ارائه دهندگان احراز هویت تلفن همراه برای دریافت کدهای تأیید به عنوان احراز هویت دو مرحله ای استفاده کنید.
|
||||
authenticatorMobileFinishSetUpMessage=احراز هویت به تلفن شما متصل شده است.
|
||||
authenticatorActionSetup=پیکربندی
|
||||
authenticatorSMSTitle=کد پیامکی
|
||||
authenticatorSMSMessage=Keycloak کد تأیید صحت را به عنوان تأیید هویت دو مرحله ای به تلفن شما ارسال می کند.
|
||||
authenticatorSMSFinishSetUpMessage=پیام های متنی ارسال میشوند به
|
||||
authenticatorDefaultStatus=پیش فرض
|
||||
authenticatorChangePhone=تغییر شماره تلفن
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=راه اندازی دستگاه تأیید اعتبار موبایل
|
||||
smscodeIntroMessage=شماره تلفن خود را وارد کنید و یک کد تأیید به تلفن شما ارسال می شود.
|
||||
mobileSetupStep1=یک برنامه احراز هویت بر روی گوشی خود نصب کنید. برنامه های لیست شده در اینجا پشتیبانی می شوند.
|
||||
mobileSetupStep2=برنامه را باز کنید و بارکد را اسکن کنید:
|
||||
mobileSetupStep3=کد یکبار مصرف ارائه شده توسط برنامه را وارد کنید و روی Save کلیک کنید تا تنظیمات تمام شود.
|
||||
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=هر صفحه
|
||||
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=لیست پروژه ها
|
||||
|
||||
error-invalid-value=مقدار نامعتبر است.
|
||||
error-invalid-blank=لطفا مقدار را مشخص کنید
|
||||
error-empty=لطفا مقدار را مشخص کنید
|
||||
error-invalid-length=مشخصه {0} باید طولی بین {1} و {2} داشته باشد.
|
||||
error-invalid-length-too-short=مشخصه {0} باید حداقل طول {1} داشته باشد.
|
||||
error-invalid-length-too-long=مشخصه {0} باید حداکثر طول {2} داشته باشد.
|
||||
error-invalid-email=آدرس ایمیل نامعتبر است.
|
||||
error-invalid-number=عدد نامعتبر.
|
||||
error-number-out-of-range=مشخصه {0} باید عددی بین {1} و {2} باشد.
|
||||
error-number-out-of-range-too-small=مشخصه {0} باید حداقل مقدار {1} را داشته باشد.
|
||||
error-number-out-of-range-too-big=مشخصه {0} باید حداکثر مقدار {2} را داشته باشد.
|
||||
error-pattern-no-match=مقدار نامعتبر است.
|
||||
error-invalid-uri=URL نامعتبر است.
|
||||
error-invalid-uri-scheme=طرح URL نامعتبر است.
|
||||
error-invalid-uri-fragment=تکه URL نامعتبر است.
|
||||
error-user-attribute-required=لطفاً ویژگی {0} را مشخص کنید.
|
||||
error-invalid-date=تاریخ نامعتبر است.
|
||||
error-user-attribute-read-only=فیلد {0} فقط قابل رویت است.
|
||||
error-username-invalid-character=نام کاربری حاوی نویسه نامعتبر است.
|
||||
error-person-name-invalid-character=نام حاوی نویسه نامعتبر است.
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: UTF-8
|
||||
doSave=Tallenna
|
||||
doCancel=Peruuta
|
||||
doLogOutAllSessions=Kirjaudu ulos kaikista sessioista
|
||||
@@ -261,6 +260,7 @@ locale_ca=Català
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Español
|
||||
locale_fa=فارسی
|
||||
locale_fr=Français
|
||||
locale_hu=Magyar
|
||||
locale_it=Italiano
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
# TIPS to encode UTF-8 to ISO
|
||||
# native2ascii -encoding ISO8859_1 srcFile > dstFile
|
||||
|
||||
doSave=Sauvegarder
|
||||
doCancel=Annuler
|
||||
doLogOutAllSessions=D\u00e9connexion de toutes les sessions
|
||||
doLogOutAllSessions=Déconnexion de toutes les sessions
|
||||
doRemove=Supprimer
|
||||
doAdd=Ajouter
|
||||
doSignOut=D\u00e9connexion
|
||||
doSignOut=Déconnexion
|
||||
|
||||
editAccountHtmlTitle=\u00c9dition du compte
|
||||
federatedIdentitiesHtmlTitle=Identit\u00e9s f\u00e9d\u00e9r\u00e9es
|
||||
accountLogHtmlTitle=Acc\u00e8s au compte
|
||||
editAccountHtmlTitle=Édition du compte
|
||||
federatedIdentitiesHtmlTitle=Identités fédérées
|
||||
accountLogHtmlTitle=Accès au compte
|
||||
changePasswordHtmlTitle=Changer de mot de passe
|
||||
sessionsHtmlTitle=Sessions
|
||||
accountManagementTitle=Gestion du compte Keycloak
|
||||
@@ -19,45 +16,45 @@ applicationsHtmlTitle=Applications
|
||||
|
||||
authenticatorCode=Mot de passe unique
|
||||
email=Courriel
|
||||
firstName=Pr\u00e9nom
|
||||
givenName=Pr\u00e9nom
|
||||
firstName=Prénom
|
||||
givenName=Prénom
|
||||
fullName=Nom complet
|
||||
lastName=Nom
|
||||
familyName=Nom de famille
|
||||
password=Mot de passe
|
||||
passwordConfirm=Confirmation
|
||||
passwordNew=Nouveau mot de passe
|
||||
username=Compte
|
||||
username=Nom d''utilisateur
|
||||
address=Adresse
|
||||
street=Rue
|
||||
locality=Ville ou Localit\u00e9
|
||||
region=\u00c9tat, Province ou R\u00e9gion
|
||||
locality=Ville ou Localité
|
||||
region=État, Province ou Région
|
||||
postal_code=Code Postal
|
||||
country=Pays
|
||||
emailVerified=Courriel v\u00e9rifi\u00e9
|
||||
gssDelegationCredential=Accr\u00e9ditation de d\u00e9l\u00e9gation GSS
|
||||
emailVerified=Courriel vérifié
|
||||
gssDelegationCredential=Accréditation de délégation GSS
|
||||
|
||||
role_admin=Administrateur
|
||||
role_realm-admin=Administrateur du domaine
|
||||
role_create-realm=Cr\u00e9er un domaine
|
||||
role_create-realm=Créer 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-events=Voir les événements
|
||||
role_view-identity-providers=Voir les fournisseurs d''identités
|
||||
role_manage-realm=Gérer le domaine
|
||||
role_manage-users=Gérer les utilisateurs
|
||||
role_manage-applications=Gérer les applications
|
||||
role_manage-identity-providers=Gérer les fournisseurs d''identités
|
||||
role_manage-clients=Gérer les clients
|
||||
role_manage-events=Gérer les événements
|
||||
role_view-profile=Voir le profil
|
||||
role_manage-account=G\u00e9rer le compte
|
||||
role_manage-account=Gérer le compte
|
||||
role_read-token=Lire le jeton d''authentification
|
||||
role_offline-access=Acc\u00e8s hors-ligne
|
||||
role_offline-access=Accès hors-ligne
|
||||
client_account=Compte
|
||||
client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9
|
||||
client_security-admin-console=Console d''administration de la sécurité
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Gestion du domaine
|
||||
client_broker=Broker
|
||||
@@ -66,50 +63,50 @@ client_broker=Broker
|
||||
requiredFields=Champs obligatoires
|
||||
allFieldsRequired=Tous les champs sont obligatoires
|
||||
|
||||
backToApplication=« Revenir \u00e0 l''application
|
||||
backTo=Revenir \u00e0 {0}
|
||||
backToApplication=« Revenir à l''application
|
||||
backTo=Revenir à {0}
|
||||
|
||||
date=Date
|
||||
event=Ev\u00e9nement
|
||||
event=Evénement
|
||||
ip=IP
|
||||
client=Client
|
||||
clients=Clients
|
||||
details=D\u00e9tails
|
||||
started=D\u00e9but
|
||||
lastAccess=Dernier acc\u00e8s
|
||||
details=Détails
|
||||
started=Début
|
||||
lastAccess=Dernier accès
|
||||
expires=Expiration
|
||||
applications=Applications
|
||||
|
||||
account=Compte
|
||||
federatedIdentity=Identit\u00e9 f\u00e9d\u00e9r\u00e9e
|
||||
federatedIdentity=Identité fédérée
|
||||
authenticator=Authentification
|
||||
sessions=Sessions
|
||||
log=Connexion
|
||||
|
||||
application=Application
|
||||
availablePermissions=Permissions disponibles
|
||||
grantedPermissions=Permissions accord\u00e9es
|
||||
grantedPersonalInfo=Informations personnelles accord\u00e9es
|
||||
grantedPermissions=Permissions accordées
|
||||
grantedPersonalInfo=Informations personnelles accordées
|
||||
additionalGrants=Droits additionnels
|
||||
action=Action
|
||||
inResource=dans
|
||||
fullAccess=Acc\u00e8s complet
|
||||
fullAccess=Accès complet
|
||||
offlineToken=Jeton d''authentification hors-ligne
|
||||
revoke=R\u00e9voquer un droit
|
||||
revoke=Révoquer un droit
|
||||
|
||||
configureAuthenticators=Authentifications configur\u00e9es.
|
||||
mobile=T\u00e9l\u00e9phone mobile
|
||||
configureAuthenticators=Authentifications configurées.
|
||||
mobile=Téléphone 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.
|
||||
totpStep3=Entrez le code à 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
|
||||
totp.totp=Basé sur le temps
|
||||
totp.hotp=Basé sur un compteur
|
||||
|
||||
totpType=Type
|
||||
totpAlgorithm=Algorithme
|
||||
@@ -118,7 +115,7 @@ totpInterval=Intervalle
|
||||
totpCounter=Compteur
|
||||
|
||||
missingUsernameMessage=Veuillez entrer votre nom d''utilisateur.
|
||||
missingFirstNameMessage=Veuillez entrer votre pr\u00e9nom.
|
||||
missingFirstNameMessage=Veuillez entrer votre prénom.
|
||||
invalidEmailMessage=Courriel invalide.
|
||||
missingLastNameMessage=Veuillez entrer votre nom.
|
||||
missingEmailMessage=Veuillez entrer votre courriel.
|
||||
@@ -130,51 +127,60 @@ 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.
|
||||
usernameExistsMessage=Le nom d''utilisateur existe déjà.
|
||||
emailExistsMessage=Le courriel existe déjà.
|
||||
|
||||
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.
|
||||
readOnlyUserMessage=Vous ne pouvez pas mettre à jour votre compte car il est en lecture seule.
|
||||
readOnlyPasswordMessage=Vous ne pouvez pas mettre à 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.
|
||||
successTotpMessage=L''authentification via téléphone mobile est configurée.
|
||||
successTotpRemovedMessage=L''authentification via téléphone mobile est supprimée.
|
||||
|
||||
successGrantRevokedMessage=Droit r\u00e9voqu\u00e9 avec succ\u00e8s.
|
||||
successGrantRevokedMessage=Droit révoqué avec succès.
|
||||
|
||||
accountUpdatedMessage=Votre compte a \u00e9t\u00e9 mis \u00e0 jour.
|
||||
accountPasswordUpdatedMessage=Votre mot de passe a \u00e9t\u00e9 mis \u00e0 jour.
|
||||
accountUpdatedMessage=Votre compte a été mis à jour.
|
||||
accountPasswordUpdatedMessage=Votre mot de passe a été mis à jour.
|
||||
|
||||
missingIdentityProviderMessage=Le fournisseur d''identit\u00e9 n''est pas sp\u00e9cifi\u00e9.
|
||||
missingIdentityProviderMessage=Le fournisseur d''identité n''est pas spécifié.
|
||||
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.
|
||||
identityProviderNotFoundMessage=Le fournisseur d''identité spécifié n''est pas trouvé.
|
||||
federatedIdentityLinkNotActiveMessage=Cette identité n''est plus active dorénavant.
|
||||
federatedIdentityRemovingLastProviderMessage=Vous ne pouvez pas supprimer votre dernière fédération d''identité sans avoir de mot de passe spécifié.
|
||||
identityProviderRedirectErrorMessage=Erreur de redirection vers le fournisseur d''identité.
|
||||
identityProviderRemovedMessage=Le fournisseur d''identité a été supprimé correctement.
|
||||
identityProviderAlreadyLinkedMessage=Le fournisseur d''identité retourné par {0} est déjà lié à un autre utilisateur.
|
||||
|
||||
accountDisabledMessage=Ce compte est d\u00e9sactiv\u00e9, veuillez contacter votre administrateur.
|
||||
accountDisabledMessage=Ce compte est désactivé, veuillez contacter votre administrateur.
|
||||
|
||||
accountTemporarilyDisabledMessage=Ce compte est temporairement d\u00e9sactiv\u00e9, veuillez contacter votre administrateur ou r\u00e9essayez plus tard.
|
||||
accountTemporarilyDisabledMessage=Ce compte est temporairement désactivé, veuillez contacter votre administrateur ou réessayez 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.
|
||||
invalidPasswordMinSpecialCharsMessage=Mot de passe invalide: doit contenir au moins {0} caractère(s) spéciaux.
|
||||
invalidPasswordNotUsernameMessage=Mot de passe invalide: ne doit pas être 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.
|
||||
invalidPasswordHistoryMessage=Mot de passe invalide: ne doit pas être égal aux {0} derniers mots de passe.
|
||||
|
||||
applicationName=Nom de l''application
|
||||
update=Mettre \u00e0 jour
|
||||
update=Mettre à jour
|
||||
status=Statut
|
||||
authenticatorActionSetup=Configurer
|
||||
device-activity=Activit\u00e9 des Appareils
|
||||
accountSecurityTitle=S\u00e9curit\u00e9 du Compte
|
||||
device-activity=Activité des Appareils
|
||||
accountSecurityTitle=Sécurité du Compte
|
||||
accountManagementWelcomeMessage=Bienvenue dans la Gestion de Compte Keycloak
|
||||
|
||||
personalInfoSidebarTitle=Informations personnelles
|
||||
accountSecuritySidebarTitle=Sécurité du compte
|
||||
signingInSidebarTitle=Authentification
|
||||
deviceActivitySidebarTitle=Activité des appareils
|
||||
linkedAccountsSidebarTitle=Comptes liés
|
||||
|
||||
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
|
||||
personalInfoIntroMessage=Gérez vos informations de base
|
||||
personalSubMessage=Gérez ces informations de base: votre prénom, nom de famille et email
|
||||
accountSecurityIntroMessage=Gérez votre mot de passe et l''accès à votre compte
|
||||
applicationsIntroMessage=Auditez et gérez les permissions d''accès des applications aux données de votre compte
|
||||
applicationType=Type d''application
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=Mentés
|
||||
doCancel=Mégsem
|
||||
doLogOutAllSessions=Minden munkamenet kiléptetése
|
||||
@@ -7,6 +6,13 @@ doAdd=Hozzáadás
|
||||
doSignOut=Kilépés
|
||||
doLogIn=Belépés
|
||||
doLink=Összekötés
|
||||
noAccessMessage=Nincs hozzáférés
|
||||
|
||||
personalInfoSidebarTitle=Személyes adatok
|
||||
accountSecuritySidebarTitle=Fiók biztonság
|
||||
signingInSidebarTitle=Bejelentkezés
|
||||
deviceActivitySidebarTitle=Eszköz történet
|
||||
linkedAccountsSidebarTitle=Összekapcsolt fiókok
|
||||
|
||||
editAccountHtmlTitle=Fiók szerkesztése
|
||||
personalInfoHtmlTitle=Személyes adatok
|
||||
@@ -28,13 +34,13 @@ applicationsIntroMessage=Kezelje alkalmazás jogosultságait, hogy hozzáférjen
|
||||
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
|
||||
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
|
||||
personalSubMessage=Kezelje alapvető személyes adatait: vezetéknév, keresztnév, e-mail cím
|
||||
|
||||
authenticatorCode=Egyszer használatos kód
|
||||
email=Email cím
|
||||
email=E-mail cím
|
||||
firstName=Keresztnév
|
||||
givenName=Keresztnév
|
||||
fullName=Teljes név
|
||||
@@ -44,18 +50,24 @@ password=Jelszó
|
||||
currentPassword=Jelenlegi jelszó
|
||||
passwordConfirm=Megerősítés
|
||||
passwordNew=Új jelszó
|
||||
username=Felhasználó név
|
||||
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
|
||||
emailVerified=Ellenőrzött e-mail cím
|
||||
website=Weboldal
|
||||
phoneNumber=Telefonszám
|
||||
phoneNumberVerified=Ellenőrzött telefonszám
|
||||
gender=Nem
|
||||
birthday=Születési dátum
|
||||
zoneinfo=Időzóna
|
||||
gssDelegationCredential=GSS delegált hitelesítés
|
||||
|
||||
profileScopeConsentText=Felhasználói fiók
|
||||
emailScopeConsentText=Email cím
|
||||
emailScopeConsentText=E-mail cím
|
||||
addressScopeConsentText=Cím
|
||||
phoneScopeConsentText=Telefonszám
|
||||
offlineAccessScopeConsentText=Offline hozzáférés
|
||||
@@ -68,6 +80,7 @@ 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-groups=Csoportok 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
|
||||
@@ -130,7 +143,7 @@ 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:
|
||||
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.
|
||||
@@ -150,26 +163,37 @@ 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.
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
|
||||
irreversibleAction=Ez a művelet visszavonhatatlan
|
||||
deletingImplies=A felhasználói fiókjának törlésével jár:
|
||||
errasingData=Összes adatának törlése
|
||||
loggingOutImmediately=Azonnali kijelentkezés
|
||||
accountUnusable=Az alkalmazás további használata nem lesz lehetséges ezzel a felhasználói fiókkal
|
||||
|
||||
missingUsernameMessage=Kérem, adja meg a felhasználónevét.
|
||||
missingFirstNameMessage=Kérem, adja meg a keresztnevet.
|
||||
invalidEmailMessage=Érvénytelen e-mail cím.
|
||||
missingLastNameMessage=Kérem, adja meg a vezetéknevet.
|
||||
missingEmailMessage=Kérem, adja meg az e-mail címet.
|
||||
missingPasswordMessage=Kérem, adja meg a jelszót.
|
||||
notMatchPasswordMessage=A jelszavak nem egyeznek meg.
|
||||
invalidUserMessage=Érvénytelen felhasználó
|
||||
updateReadOnlyAttributesRejectedMessage=Csak olvasható tulajdonság módosítása megtagadva
|
||||
|
||||
missingTotpMessage=Kérem adja meg a hitelesítő kódot.
|
||||
missingTotpDeviceNameMessage=Kérem adja meg az eszköz nevét.
|
||||
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.
|
||||
usernameExistsMessage=Ez a felhasználónév már foglalt.
|
||||
emailExistsMessage=Ez az e-mail 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ó.
|
||||
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.
|
||||
@@ -188,18 +212,21 @@ federatedIdentityRemovingLastProviderMessage=Az utolsó összekapcsolt személya
|
||||
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.
|
||||
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.
|
||||
access-denied-when-idp-auth=Hozzáférés megtagadva hitelesítés során: {0}
|
||||
|
||||
accountDisabledMessage=Felhasználói fiókja inaktív, kérem vegye fel a kapcsolatot az alkalmazás adminisztrátorral.
|
||||
accountDisabledMessage=Felhasználói fiókja inaktív, kérem, vegye fel a kapcsolatot az alkalmazás adminisztrátorával.
|
||||
|
||||
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}.
|
||||
accountTemporarilyDisabledMessage=Felhasználói fiókja átmenetileg inaktív, kérem, vegye fel a kapcsolatot az alkalmazás adminisztrátorával, vagy próbálkozzon később.
|
||||
invalidPasswordMinLengthMessage=Érvénytelen jelszó: minimum hossz: {0}.
|
||||
invalidPasswordMaxLengthMessage=Érvénytelen jelszó: maximum 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.
|
||||
invalidPasswordNotUsernameMessage=Érvénytelen jelszó: nem lehet azonos a felhasználónévvel.
|
||||
invalidPasswordNotEmailMessage=Érvénytelen jelszó: nem lehet azonos az e-mail címmel.
|
||||
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.
|
||||
@@ -240,10 +267,33 @@ havePermissionRequestsWaitingForApproval=Önnek {0} darab várakozó, jóváhagy
|
||||
clickHereForDetails=Kattintson ide a részletekért.
|
||||
resourceIsNotBeingShared=Az erőforrás nincs megosztva
|
||||
|
||||
locale_ar=عربي
|
||||
locale_ca=Català
|
||||
locale_cs=Čeština
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Español
|
||||
locale_fr=Français
|
||||
locale_hu=Magyar
|
||||
locale_fa=فارسی
|
||||
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=Név
|
||||
applicationType=Alkalmazás típus
|
||||
#applicationInUse=In-use app only
|
||||
applicationInUse=Csak használatban lévő alkalmazás
|
||||
clearAllFilter=Szűrő mezők törlése
|
||||
activeFilters=Aktív szűrők
|
||||
filterByName=Név alapú keresés
|
||||
@@ -258,7 +308,7 @@ 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
|
||||
socialLogin=Közösségi bejelentkezés
|
||||
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.
|
||||
@@ -332,3 +382,24 @@ 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
|
||||
|
||||
error-invalid-value=Érvénytelen érték
|
||||
error-invalid-blank=Kérem, adja meg a mező értékét.
|
||||
error-empty=Kérem, adja meg a mező értékét.
|
||||
error-invalid-length={0} hossza {1} és {2} karakter között kell legyen.
|
||||
error-invalid-length-too-short={0} minimális hossza {1} karakter.
|
||||
error-invalid-length-too-long={0} maximális hossza {2} karakter.
|
||||
error-invalid-email=Érvénytelen e-mail cím.
|
||||
error-invalid-number=Érvénytelen szám.
|
||||
error-number-out-of-range={0} értéke {1} és {2} közötti szám kell legyen.
|
||||
error-number-out-of-range-too-small={0} minimum értéke: {1}.
|
||||
error-number-out-of-range-too-big={0} maximum értéke: {2}.
|
||||
error-pattern-no-match=Érvénytelen érték.
|
||||
error-invalid-uri=Érvénytelen URL.
|
||||
error-invalid-uri-scheme=Érvénytelen URL séma.
|
||||
error-invalid-uri-fragment=Érvénytelen URL fragmens.
|
||||
error-user-attribute-required=Kérem, adja meg a(z) {0} értékét.
|
||||
error-invalid-date=Érvénytelen dátum.
|
||||
error-user-attribute-read-only=A(z) {0} mező csak olvasható.
|
||||
error-username-invalid-character=A felhasználónév érvénytelen karaktert tartalmaz.
|
||||
error-person-name-invalid-character=A név érvénytelen karaktert tartalmaz.
|
||||
|
||||
@@ -7,13 +7,18 @@ doSignOut=Esci
|
||||
doLogIn=Log In
|
||||
doLink=Link
|
||||
|
||||
personalInfoSidebarTitle=Informazioni personali
|
||||
accountSecuritySidebarTitle=Sicurezza dell''account
|
||||
signingInSidebarTitle=Impostazioni di accesso
|
||||
deviceActivitySidebarTitle=Attività del dispositivo
|
||||
linkedAccountsSidebarTitle=Account collegati
|
||||
|
||||
editAccountHtmlTitle=Modifica Account
|
||||
personalInfoHtmlTitle=Informazioni personali
|
||||
federatedIdentitiesHtmlTitle=Identit\u00e0 federate
|
||||
federatedIdentitiesHtmlTitle=Identità federate
|
||||
accountLogHtmlTitle=Log dell''account
|
||||
changePasswordHtmlTitle=Cambia password
|
||||
deviceActivityHtmlTitle=Attivit\u00e0 dei dispositivi
|
||||
deviceActivityHtmlTitle=Attività dei dispositivi
|
||||
sessionsHtmlTitle=Sessioni
|
||||
accountManagementTitle=Gestione degli account di Keycloak
|
||||
authenticatorTitle=Autenticatore
|
||||
@@ -26,10 +31,10 @@ 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
|
||||
passwordLastUpdateMessage=La tua password è 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.
|
||||
updatePasswordMessage=Una password robusta contiene un misto di numeri, lettere, e simboli. È difficile da indovinare, non assomiglia a una parola reale, ed è utilizzata solo per questo account.
|
||||
personalSubTitle=Le tue informazioni personali
|
||||
personalSubMessage=Gestisce queste informazioni di base: il tuo nome, cognome, e indirizzo email
|
||||
|
||||
@@ -48,7 +53,7 @@ passwordNew=Nuova password
|
||||
username=Username
|
||||
address=Indirizzo
|
||||
street=Via
|
||||
locality=Citt\u00e0 o localit\u00e0
|
||||
locality=Città o località
|
||||
region=Stato, Provincia, o Regione
|
||||
postal_code=CAP
|
||||
country=Paese
|
||||
@@ -111,9 +116,9 @@ expires=Scade
|
||||
applications=Applicazioni
|
||||
|
||||
account=Account
|
||||
federatedIdentity=Identit\u00e0 federate
|
||||
federatedIdentity=Identità federate
|
||||
authenticator=Autenticatore
|
||||
device-activity=Attivit\u00e0 dei dispositivi
|
||||
device-activity=Attività dei dispositivi
|
||||
sessions=Sessioni
|
||||
log=Log
|
||||
|
||||
@@ -165,44 +170,44 @@ 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.
|
||||
usernameExistsMessage=Username già esistente.
|
||||
emailExistsMessage=Email già 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.
|
||||
readOnlyUserMessage=Non puoi aggiornare il tuo account poiché è in modalità sola lettura.
|
||||
readOnlyUsernameMessage=Non puoi aggiornare il tuo nome utente poiché è in modalità sola lettura.
|
||||
readOnlyPasswordMessage=Non puoi aggiornare il tuo account poiché è in modalità 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.
|
||||
accountUpdatedMessage=Il tuo account è stato aggiornato.
|
||||
accountPasswordUpdatedMessage=La tua password è 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.
|
||||
identityProviderNotFoundMessage=L''identity provider specificato non è stato trovato.
|
||||
federatedIdentityLinkNotActiveMessage=Questo identity non è più attivo.
|
||||
federatedIdentityRemovingLastProviderMessage=Non puoi rimuovere l''ultima identità federata poiché non hai più la password.
|
||||
identityProviderRedirectErrorMessage=Il reindirizzamento all''identity provider è 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.
|
||||
identityProviderAlreadyLinkedMessage=L''identità federata restituita da {0} è già collegata ad un altro utente.
|
||||
staleCodeAccountMessage=La pagina è 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.
|
||||
accountTemporarilyDisabledMessage=L''account è temporaneamente disabilitato, contatta l''amministratore o riprova più 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.
|
||||
invalidPasswordRegexPatternMessage=Password non valida: fallito il match con una o più 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.
|
||||
invalidPasswordBlacklistedMessage=Password non valida: la password non è consentita.
|
||||
invalidPasswordGenericMessage=Password non valida: la nuova password non rispetta le indicazioni previste.
|
||||
|
||||
# Authorization
|
||||
@@ -215,7 +220,7 @@ 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
|
||||
resourceNoPermissionsGrantingAccess=Nessun permesso dà accesso a questa risorsa
|
||||
anyAction=Qualsiasi azione
|
||||
description=Descrizione
|
||||
name=Nome
|
||||
@@ -233,14 +238,15 @@ resourcesSharedWithMe=Risorse condivise con me
|
||||
permissionRequestion=Richiesta di permesso
|
||||
permission=Permesso
|
||||
shares=condivisioni
|
||||
notBeingShared=Questa risorsa non \u00e8 in condivisione.
|
||||
notBeingShared=Questa risorsa non è 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
|
||||
resourceIsNotBeingShared=La risorsa non è in condivisione
|
||||
|
||||
locale_it=Italiano
|
||||
locale_fa=فارسی
|
||||
|
||||
# Applications
|
||||
applicationName=Nome
|
||||
@@ -266,24 +272,24 @@ 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
|
||||
authenticatorStatusMessage=L''autenticazione a due fattori è 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.
|
||||
authenticatorFinishSetUpMessage=Ogni volta che effettui l''accesso al tuo account Keycloak, ti verrà 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.
|
||||
authenticatorMobileFinishSetUpMessage=L''autenticatore è 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.
|
||||
authenticatorSMSMessage=Keycloak invierà 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.
|
||||
smscodeIntroMessage=Inserisci il tuo numero di telefono e ti verrà 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.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=保存
|
||||
doCancel=キャンセル
|
||||
doLogOutAllSessions=全セッションからログアウト
|
||||
@@ -332,4 +331,6 @@ anyPermission=任意のパーミッション
|
||||
openshift.scope.user_info=ユーザー情報
|
||||
openshift.scope.user_check-access=ユーザーアクセス情報
|
||||
openshift.scope.user_full=フルアクセス
|
||||
openshift.scope.list-projects=プロジェクトの一覧表示
|
||||
openshift.scope.list-projects=プロジェクトの一覧表示
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=Saugoti
|
||||
doCancel=Atšaukti
|
||||
|
||||
@@ -151,4 +150,6 @@ invalidPasswordMinUpperCaseCharsMessage=Neteisingas slaptažodis: privaloma įve
|
||||
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.
|
||||
invalidPasswordHistoryMessage=Neteisingas slaptažodis: slaptažodis negali sutapti su prieš tai buvusiais {0} slaptažodžiais.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=Saglabāt
|
||||
doCancel=Atcelt
|
||||
doLogOutAllSessions=Izlogoties no visām sesijām
|
||||
@@ -171,6 +170,7 @@ locale_ca=Català
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Español
|
||||
locale_fa=فارسی
|
||||
locale_fr=Français
|
||||
locale_it=Italian
|
||||
locale_ja=日本語
|
||||
@@ -185,7 +185,7 @@ locale_sv=Svenska
|
||||
locale_zh-CN=中文简体
|
||||
|
||||
# Applications
|
||||
applicaitonName=Nosaukums
|
||||
applicationName=Nosaukums
|
||||
applicationType=Lietojumprogrammas tips
|
||||
applicationInUse=Tikai aktīvās lietojumprogrammas
|
||||
clearAllFilter=Noņemt visus filtrus
|
||||
|
||||
@@ -4,6 +4,16 @@ doLogOutAllSessions=Alle sessies uitloggen
|
||||
doRemove=Verwijder
|
||||
doAdd=Voeg toe
|
||||
doSignOut=Afmelden
|
||||
doLogIn=Inloggen
|
||||
doLink=Link
|
||||
noAccessMessage=Geen toegang
|
||||
|
||||
personalInfoSidebarTitle=Persoonsgegevens
|
||||
accountSecuritySidebarTitle=Account beveiliging
|
||||
signingInSidebarTitle=Inloggen
|
||||
deviceActivitySidebarTitle=Apparaat activiteit
|
||||
linkedAccountsSidebarTitle=Gelinkte accounts
|
||||
|
||||
editAccountHtmlTitle=Bewerk account
|
||||
federatedIdentitiesHtmlTitle=Federated Identities
|
||||
accountLogHtmlTitle=Account log
|
||||
@@ -12,6 +22,20 @@ sessionsHtmlTitle=Sessies
|
||||
accountManagementTitle=Keycloak Accountbeheer
|
||||
authenticatorTitle=Authenticator
|
||||
applicationsHtmlTitle=Toepassingen
|
||||
|
||||
accountManagementWelcomeMessage=Welkom bij Keycloak Account Management
|
||||
personalInfoIntroMessage=Beheer uw basisgegevens
|
||||
accountSecurityTitle=Account Beveiliging
|
||||
accountSecurityIntroMessage=Beheer uw wachtwoord en account toegang
|
||||
applicationsIntroMessage=Volg en beheer uw app-toestemming voor toegang tot uw account
|
||||
resourceIntroMessage=Deel uw bronnen met uw team
|
||||
passwordLastUpdateMessage=Uw wachtwoord was veranderd op
|
||||
updatePasswordTitle=Wachtwoord Bijwerken
|
||||
updatePasswordMessageTitle=Zorg ervoor dat u een sterk wachtwoord kiest
|
||||
updatePasswordMessage=Een sterk wachtwoord bevat een mix van nummers, letters, en symbolen. Het is moeilijk te gokken, lijkt niet op een echt woord, en wordt alleen gebruikt voor dit account.
|
||||
personalSubTitle=Uw persoonlijke informatie
|
||||
personalSubMessage=Beheer uw basisgegevens.
|
||||
|
||||
authenticatorCode=Eenmalige code
|
||||
email=E-mailadres
|
||||
firstName=Voornaam
|
||||
@@ -30,16 +54,33 @@ region=Staat, provincie of regio
|
||||
postal_code=Postcode
|
||||
country=Land
|
||||
emailVerified=E-mailadres geverifieerd
|
||||
website=Website
|
||||
phoneNumber=Telefoonnummer
|
||||
phoneNumberVerified=Geverifieerd telefoonnummer
|
||||
gender=Geslacht
|
||||
birthday=Geboortedatum
|
||||
zoneinfo=Tijdzone
|
||||
gssDelegationCredential=GSS gedelegeerde aanmeldgegevens
|
||||
|
||||
profileScopeConsentText=Gebruiker profiel
|
||||
emailScopeConsentText=E-mailadres
|
||||
addressScopeConsentText=Adres
|
||||
phoneScopeConsentText=Telefoonnummer
|
||||
offlineAccessScopeConsentText=Offline Toegang
|
||||
samlRoleListScopeConsentText=Mijn Rollen
|
||||
rolesScopeConsentText=Gebruikersrollen
|
||||
|
||||
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-groups=Bekijk groepen
|
||||
role_view-clients=Bekijk clients
|
||||
role_view-events=Bekijk gebeurtenissen
|
||||
role_view-identity-providers=Bekijk identity providers
|
||||
role_view-consent=Bekijk toestemmingen
|
||||
role_manage-realm=Beheer realm
|
||||
role_manage-users=Beheer gebruikers
|
||||
role_manage-applications=Beheer toepassingen
|
||||
@@ -49,18 +90,23 @@ role_manage-events=Beheer gebeurtenissen
|
||||
role_view-profile=Bekijk profiel
|
||||
role_manage-account=Beheer account
|
||||
role_manage-account-links=Beheer accountkoppelingen
|
||||
role_manage-consent=Beheer toestemmingen
|
||||
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_account-console=Account Console
|
||||
client_security-admin-console=Console Veiligheidsbeheer
|
||||
client_admin-cli=Beheer CLI
|
||||
client_realm-management=Realmbeheer
|
||||
client_broker=Broker
|
||||
|
||||
requiredFields=Verplichte velden
|
||||
allFieldsRequired=Alle velden verplicht
|
||||
backToApplication=« Terug naar toepassing
|
||||
|
||||
backToApplication=« Terug naar Applicatie
|
||||
backTo=Terug naar {0}
|
||||
|
||||
date=Datum
|
||||
event=Gebeurtenis
|
||||
ip=IP
|
||||
@@ -70,13 +116,15 @@ details=Details
|
||||
started=Gestart
|
||||
lastAccess=Laatste toegang
|
||||
expires=Vervalt
|
||||
applications=Toepassingen
|
||||
applications=Applicaties
|
||||
|
||||
account=Account
|
||||
federatedIdentity=Federated Identity
|
||||
authenticator=Authenticator
|
||||
sessions=Sessies
|
||||
log=Log
|
||||
application=Toepassing
|
||||
|
||||
application=Applicatie
|
||||
availablePermissions=Beschikbare rechten
|
||||
grantedPermissions=Gegunde rechten
|
||||
grantedPersonalInfo=Gegunde Persoonsgegevens
|
||||
@@ -86,11 +134,38 @@ 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.
|
||||
totpStep3DeviceName=Geef een apparaatnaam op om uw OTP-apparaten te identificeren.
|
||||
|
||||
totpManualStep2=Open de applicatie en voer de sleutel in:
|
||||
totpManualStep3=Gebruik de volgende configuratie waardes als de applicatie ze ondersteund:
|
||||
totpUnableToScan=Kunt u niet scannen?
|
||||
totpScanBarcode=Scan de barcode?
|
||||
|
||||
totp.totp=Tijdgebaseerd
|
||||
totp.hotp=Tellergebaseerd
|
||||
|
||||
totpType=Type
|
||||
totpAlgorithm=Algoritme
|
||||
totpDigits=Cijfers
|
||||
totpInterval=Interval
|
||||
totpCounter=Teller
|
||||
totpDeviceName=Apparaatnaam
|
||||
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
|
||||
irreversibleAction=Deze actie is onomkeerbaar
|
||||
deletingImplies=Het verwijderen van uw account houdt het volgende in:
|
||||
errasingData=Al uw gegevens wissen
|
||||
loggingOutImmediately=Meteen uitloggen
|
||||
accountUnusable=Dit account kan niet meer gebruikt worden voor gebruik in de applicatie
|
||||
|
||||
missingUsernameMessage=Gebruikersnaam ontbreekt.
|
||||
missingFirstNameMessage=Voornaam onbreekt.
|
||||
invalidEmailMessage=Ongeldig e-mailadres.
|
||||
@@ -98,18 +173,30 @@ missingLastNameMessage=Achternaam ontbreekt.
|
||||
missingEmailMessage=E-mailadres ontbreekt.
|
||||
missingPasswordMessage=Wachtwoord ontbreekt.
|
||||
notMatchPasswordMessage=Wachtwoorden komen niet overeen.
|
||||
invalidUserMessage=Ongeldige gebruiker
|
||||
updateReadOnlyAttributesRejectedMessage=Update van alleen-lezen kenmerk afgewezen
|
||||
|
||||
missingTotpMessage=Authenticatiecode ontbreekt.
|
||||
missingTotpDeviceNameMessage=Geef een apparaatnaam op.
|
||||
invalidPasswordExistingMessage=Ongeldig bestaand wachtwoord.
|
||||
invalidPasswordConfirmMessage=Wachtwoordbevestiging komt niet overeen.
|
||||
invalidTotpMessage=Ongeldige authenticatiecode.
|
||||
|
||||
usernameExistsMessage=Gebruikersnaam bestaat reeds.
|
||||
emailExistsMessage=E-mailadres bestaat reeds.
|
||||
|
||||
readOnlyUserMessage=U kunt uw account niet bijwerken aangezien het account alleen-lezen is.
|
||||
readOnlyUsernameMessage=U kunt uw gebruikersnaam niet wijzigen omdat uw 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.
|
||||
@@ -120,7 +207,9 @@ 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.
|
||||
@@ -131,3 +220,154 @@ invalidPasswordNotUsernameMessage=Ongeldig wachtwoord: het mag niet overeenkomen
|
||||
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.
|
||||
|
||||
# Authorization
|
||||
myResources=Mijn Bronnen
|
||||
myResourcesSub=Mijn bronnen
|
||||
doDeny=Afwijzen
|
||||
doRevoke=Intrekken
|
||||
doApprove=Goedkeuren
|
||||
doRemoveSharing=Niet meer delen
|
||||
doRemoveRequest=Aanvraag verwijderen
|
||||
peopleAccessResource=Personen met toegang tot deze bron
|
||||
resourceManagedPolicies=Rechten die toegang verlenen tot deze bron
|
||||
resourceNoPermissionsGrantingAccess=Er zijn geen rechten verleend die toegang verlenen tot deze bron
|
||||
anyAction=Elke actie
|
||||
description=Beschrijving
|
||||
name=Naam
|
||||
scopes=Bereik
|
||||
resource=Bron
|
||||
user=Gebruiker
|
||||
peopleSharingThisResource=Personen die deze bron delen
|
||||
shareWithOthers=Met anderen delen
|
||||
needMyApproval=Heeft mijn goedkeuring nodig
|
||||
requestsWaitingApproval=Uw aanvragen wachten op goedkeuring
|
||||
icon=Icon
|
||||
requestor=Aanvrager
|
||||
owner=Eigenaar
|
||||
resourcesSharedWithMe=Bronnen die met mij gedeeld zijn
|
||||
permissionRequestion=Toestemmingsverzoek
|
||||
permission=Toestemming
|
||||
shares=aandelen
|
||||
notBeingShared=Deze bron wordt niet gedeeld.
|
||||
notHaveAnyResource=U heeft geen bronnen
|
||||
noResourcesSharedWithYou=Er zijn geen bronnen met u gedeeld
|
||||
havePermissionRequestsWaitingForApproval=U heeft {0} toestemmingsverzoeken die wachten op goedkeuring.
|
||||
clickHereForDetails=Klik hier voor details.
|
||||
resourceIsNotBeingShared=Deze bron wordt niet gedeeld
|
||||
|
||||
# # Applications
|
||||
applicationName=Applicatienaam
|
||||
applicationType=Applicatietype
|
||||
applicationInUse=Alleen apps die in gebruik zijn
|
||||
clearAllFilter=Alle filters leegmaken
|
||||
activeFilters=Actieve filters
|
||||
filterByName=Filter op Naam ...
|
||||
allApps=Alle applicaties
|
||||
internalApps=Interne applicaties
|
||||
thirdpartyApps=Derde partij applicaties
|
||||
appResults=Resultaten
|
||||
clientNotFoundMessage=Client niet gevonden.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Geautoriseerde Provider
|
||||
authorizedProviderMessage=Geautoriseerde providers gekoppeld aan uw account
|
||||
identityProvider=Identiteitsprovider
|
||||
identityProviderMessage=Om uw account te koppelen aan de identiteitsproviders die u heeft ingesteld
|
||||
socialLogin=Social Login
|
||||
userDefined=Gebruiker gedefinieerde
|
||||
removeAccess=Toegang intrekken
|
||||
removeAccessMessage=U moet opnieuw toegang verlenen als u dit app-account wilt gebruiken.
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=Tweefactorauthenticatie is momenteel
|
||||
authenticatorFinishSetUpTitle=Uw tweefactorauthenticatie
|
||||
authenticatorFinishSetUpMessage=Elke keer wanneer u zich aanmeldt bij uw Keycloak-account, wordt u gevraagd om een tweefactorauthenticatiecode op te geven.
|
||||
authenticatorSubTitle=Stel tweefactorauthenticatie in
|
||||
authenticatorSubMessage=Schakel ten minste één van de beschikbare methoden voor tweefactorauthenticatie in om de beveiliging van uw account te verbeteren.
|
||||
authenticatorMobileTitle=Mobiele authenticator
|
||||
authenticatorMobileMessage=Gebruik mobiele authenticator om verificatiecodes te krijgen als tweefactorauthenticatie.
|
||||
authenticatorMobileFinishSetUpMessage=De authenticator is verbonden aan uw telefoon.
|
||||
authenticatorActionSetup=Instellen
|
||||
authenticatorSMSTitle=SMS Code
|
||||
authenticatorSMSMessage=Keycloak stuurt de verificatiecode naar uw telefoon als tweefactorauthenticatie.
|
||||
authenticatorSMSFinishSetUpMessage=Tekstberichten worden verstuurd naar
|
||||
authenticatorDefaultStatus=Standaard
|
||||
authenticatorChangePhone=Telefoonnummer wijzigen
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Mobiele authenticator instellen
|
||||
smscodeIntroMessage=Voer uw telefoonnummer in en er wordt een verificatiecode naar uw telefoon verzonden.
|
||||
mobileSetupStep1=Installeer een authenticator-app op uw telefoon. De hier vermelde apps worden ondersteund.
|
||||
mobileSetupStep2=Open de applicatie en scan de barcode:
|
||||
mobileSetupStep3=Voer de eenmalige code in die door de app wordt verstrekt en klik op Opslaan om de installatie te voltooien.
|
||||
scanBarCode=Wilt u de barcode scannen?
|
||||
enterBarCode=Vul de eenmalige code in
|
||||
doCopy=Kopiëren
|
||||
doFinish=Afronden
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=SMS Code instellen
|
||||
chooseYourCountry=Kies uw land
|
||||
enterYourPhoneNumber=Voer uw telefoonnummer in
|
||||
sendVerficationCode=Verificatiecode versturen
|
||||
enterYourVerficationCode=Voer uw verificatiecode in
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Herstelverificatiecodes instellen
|
||||
realmName=Realm
|
||||
doDownload=Downloaden
|
||||
doPrint=Printen
|
||||
generateNewBackupCodes=Genereer nieuwe herstelverificatiecodes
|
||||
backtoAuthenticatorPage=Terug naar de Authenticator pagina
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Bronnen
|
||||
sharedwithMe=Met mij gedeeld
|
||||
share=Deel
|
||||
sharedwith=Gedeeld met
|
||||
accessPermissions=Toegangsrechten
|
||||
permissionRequests=Toestemmingsverzoeken
|
||||
approve=Goedkeuren
|
||||
approveAll=Alles goedkeuren
|
||||
people=personen
|
||||
perPage=per pagina
|
||||
currentPage=Huidige pagina
|
||||
sharetheResource=Deel de bron
|
||||
group=Groep
|
||||
selectPermission=Selecteer toestemming
|
||||
addPeople=Voeg personen toe om uw bron mee te delen
|
||||
addTeam=Voeg een team toe om uw bron mee te delen
|
||||
myPermissions=Mijn toestemmingen
|
||||
waitingforApproval=Wacht op goedkeuring
|
||||
anyPermission=Alle toestemmingen
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Gebruikersinformatie
|
||||
openshift.scope.user_check-access=Gebruikerstoegangsinformatie
|
||||
openshift.scope.user_full=Volledige toegang
|
||||
openshift.scope.list-projects=Lijst van projecten
|
||||
|
||||
error-invalid-value=Ongeldige waarde.
|
||||
error-invalid-blank=Geef een waarde op.
|
||||
error-empty=Geef een waarde op.
|
||||
error-invalid-length=Attribuut {0} moet een lengte tussen {1} en {2} hebben.
|
||||
error-invalid-length-too-short=Attribuut {0} moet minimaal {1} lang zijn.
|
||||
error-invalid-length-too-long=Attribute {0} mag niet langer dan {2} zijn.
|
||||
error-invalid-email=Ongeldig e-mailadres.
|
||||
error-invalid-number=Ongeldig nummer.
|
||||
error-number-out-of-range=Attribuut {0} moet een nummer tussen {1} en {2} zijn.
|
||||
error-number-out-of-range-too-small=Attribuut {0} moet minimaal een waarde van {1} hebben.
|
||||
error-number-out-of-range-too-big=Attribuut {0} mag maximaal een waarde van {2} hebben.
|
||||
error-pattern-no-match=Ongeldige waarde.
|
||||
error-invalid-uri=Ongeldige URL.
|
||||
error-invalid-uri-scheme=Ongeldig URL schema.
|
||||
error-invalid-uri-fragment=Ongeldig URL fragment.
|
||||
error-user-attribute-required=Specificeer attribuut {0}.
|
||||
error-invalid-date=Ongeldige datum.
|
||||
error-user-attribute-read-only=Het veld {0} staat op alleen-lezen.
|
||||
error-username-invalid-character=Gebruikersnaam bevat een ongeldig karakter.
|
||||
error-person-name-invalid-character=Naam bevat een ongeldig karakter.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -42,11 +42,11 @@ 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_view-identity-providers=Se identitetsleverandører
|
||||
role_manage-realm=Administrere sikkerhetsdomene
|
||||
role_manage-users=Administrere brukere
|
||||
role_manage-applications=Administrere applikasjoner
|
||||
role_manage-identity-providers=Administrere identitetsleverand\u00F8rer
|
||||
role_manage-identity-providers=Administrere identitetsleverandører
|
||||
role_manage-clients=Administrere klienter
|
||||
role_manage-events=Administrere hendelser
|
||||
role_view-profile=Se profil
|
||||
@@ -62,7 +62,7 @@ client_broker=Broker
|
||||
|
||||
|
||||
requiredFields=Obligatoriske felt
|
||||
allFieldsRequired=Alle felt m\u00E5 fylles ut
|
||||
allFieldsRequired=Alle felt må fylles ut
|
||||
|
||||
backToApplication=« Tilbake til applikasjonen
|
||||
backTo=Tilbake til {0}
|
||||
@@ -75,7 +75,7 @@ clients=Klienter
|
||||
details=Detaljer
|
||||
started=Startet
|
||||
lastAccess=Sist benyttet
|
||||
expires=Utl\u00F8per
|
||||
expires=Utløper
|
||||
applications=Applikasjoner
|
||||
|
||||
account=Konto
|
||||
@@ -97,9 +97,9 @@ 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.
|
||||
totpStep1=Installer ett av følgende programmer på mobilen din.
|
||||
totpStep2=Åpne applikasjonen og skann strekkoden eller skriv inn koden.
|
||||
totpStep3=Skriv inn engangskoden gitt av applikasjonen og klikk Lagre for å fullføre.
|
||||
|
||||
missingUsernameMessage=Vennligst oppgi brukernavn.
|
||||
missingFirstNameMessage=Vennligst oppgi fornavn.
|
||||
@@ -128,25 +128,27 @@ successGrantRevokedMessage=Vellykket oppheving av rettighet.
|
||||
accountUpdatedMessage=Kontoen din har blitt oppdatert.
|
||||
accountPasswordUpdatedMessage=Ditt passord har blitt oppdatert.
|
||||
|
||||
missingIdentityProviderMessage=Identitetsleverand\u00F8r er ikke spesifisert.
|
||||
missingIdentityProviderMessage=Identitetsleverandør er ikke spesifisert.
|
||||
invalidFederatedIdentityActionMessage=Ugyldig eller manglende handling.
|
||||
identityProviderNotFoundMessage=Spesifisert identitetsleverand\u00F8r ikke funnet.
|
||||
identityProviderNotFoundMessage=Spesifisert identitetsleverandør 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.
|
||||
identityProviderRedirectErrorMessage=Redirect til identitetsleverandør feilet.
|
||||
identityProviderRemovedMessage=Fjerning av identitetsleverandør 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.
|
||||
staleCodeAccountMessage=Siden har utløpt. Vennligst prøv en gang til.
|
||||
consentDenied=Samtykke avslått.
|
||||
|
||||
accountDisabledMessage=Konto er deaktivert, kontakt administrator.
|
||||
|
||||
accountTemporarilyDisabledMessage=Konto er midlertidig deaktivert, kontakt administrator eller pr\u00F8v igjen senere.
|
||||
accountTemporarilyDisabledMessage=Konto er midlertidig deaktivert, kontakt administrator eller prøv 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.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: må inneholde minimum {0} små bokstaver.
|
||||
invalidPasswordMinDigitsMessage=Ugyldig passord: må inneholde minimum {0} sifre.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ugyldig passord: må inneholde minimum {0} store bokstaver.
|
||||
invalidPasswordMinSpecialCharsMessage=Ugyldig passord: må inneholde minimum {0} spesialtegn.
|
||||
invalidPasswordNotUsernameMessage=Ugyldig passord: kan ikke være likt brukernavn.
|
||||
invalidPasswordRegexPatternMessage=Ugyldig passord: tilfredsstiller ikke kravene for passord-mønster.
|
||||
invalidPasswordHistoryMessage=Ugyldig passord: kan ikke være likt noen av de {0} foregående passordene.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: UTF-8
|
||||
doSave=Zapisz
|
||||
doCancel=Anuluj
|
||||
doLogOutAllSessions=Wyloguj wszystkie sesje
|
||||
@@ -246,3 +245,5 @@ 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
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,40 +1,40 @@
|
||||
doSave=Salvar
|
||||
doCancel=Cancelar
|
||||
doLogOutAllSessions=Sair de todas as sess\u00F5es
|
||||
doLogOutAllSessions=Sair de todas as sessões
|
||||
doRemove=Remover
|
||||
doAdd=Adicionar
|
||||
doSignOut=Sair
|
||||
doLogIn=Entrar
|
||||
doLink=Vincular
|
||||
noAccessMessage=Acesso n\u00e3o permitido
|
||||
noAccessMessage=Acesso não permitido
|
||||
|
||||
|
||||
editAccountHtmlTitle=Editar Conta
|
||||
personalInfoHtmlTitle=Informa\u00e7\u00f5es Pessoais
|
||||
personalInfoHtmlTitle=Informações Pessoais
|
||||
federatedIdentitiesHtmlTitle=Identidades Federadas
|
||||
accountLogHtmlTitle=Hist\u00f3rico da conta
|
||||
accountLogHtmlTitle=Histórico da conta
|
||||
changePasswordHtmlTitle=Alterar senha
|
||||
deviceActivityHtmlTitle=Atividade de Dispositivos
|
||||
sessionsHtmlTitle=Sess\u00F5es
|
||||
sessionsHtmlTitle=Sessões
|
||||
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
|
||||
personalInfoIntroMessage=Gerenciar informações básicas
|
||||
accountSecurityTitle=Segurança da Conta
|
||||
accountSecurityIntroMessage=Gerencie sua senha e acesso da conta
|
||||
applicationsIntroMessage=Acompanhe e gerencie as permiss\u00f5es de app para acesso \u00e0 sua conta
|
||||
applicationsIntroMessage=Acompanhe e gerencie as permissões de app para acesso à 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
|
||||
updatePasswordMessageTitle=Certifique-se de que a nova senha é segura
|
||||
updatePasswordMessage=Uma senha segura contém uma combinação de número, letras e caracteres especiais. Ela deve ser difícil de adivinhar, não pode se assemelhar a uma palavra real e não é utilizada em outros lugares.
|
||||
personalSubTitle=Suas Informações Pessoais
|
||||
personalSubMessage=Gerencie as informações básicas: seu primeiro nome, seu sobrenome e seu endereço de e-mail
|
||||
|
||||
authenticatorCode=C\u00F3digo autenticador
|
||||
authenticatorCode=Código autenticador
|
||||
email=E-mail
|
||||
firstName=Primeiro nome
|
||||
givenName=Primeiro nome
|
||||
@@ -43,67 +43,67 @@ lastName=Sobrenome
|
||||
familyName=Sobrenome
|
||||
password=Senha
|
||||
currentPassword=Senha Atual
|
||||
passwordConfirm=Confirma\u00E7\u00E3o
|
||||
passwordConfirm=Confirmação
|
||||
passwordNew=Nova senha
|
||||
username=Nome de us\u00FAario
|
||||
address=Endere\u00E7o
|
||||
username=Nome de usúario
|
||||
address=Endereço
|
||||
street=Logradouro
|
||||
locality=Cidade ou Localidade
|
||||
region=Estado
|
||||
postal_code=CEP
|
||||
country=Pa\u00EDs
|
||||
country=País
|
||||
emailVerified=E-mail verificado
|
||||
website=P\u00e1gina da web
|
||||
phoneNumber=N\u00famero de telefone
|
||||
phoneNumberVerified=N\u00famero de telefone verificado
|
||||
gender=G\u00eanero
|
||||
website=Página da web
|
||||
phoneNumber=Número de telefone
|
||||
phoneNumberVerified=Número de telefone verificado
|
||||
gender=Gênero
|
||||
birthday=Data de nascimento
|
||||
zoneinfo=Zona hor\u00e1ria
|
||||
gssDelegationCredential=Delega\u00E7\u00E3o de Credenciais GSS
|
||||
zoneinfo=Zona horária
|
||||
gssDelegationCredential=Delegação de Credenciais GSS
|
||||
|
||||
profileScopeConsentText=Perfil de usu\u00e1rio
|
||||
emailScopeConsentText=Endere\u00e7o de e-mail
|
||||
addressScopeConsentText=Endere\u00e7o
|
||||
phoneScopeConsentText=N\u00famero de telefone
|
||||
profileScopeConsentText=Perfil de usuário
|
||||
emailScopeConsentText=Endereço de e-mail
|
||||
addressScopeConsentText=Endereço
|
||||
phoneScopeConsentText=Número de telefone
|
||||
offlineAccessScopeConsentText=Acesso Offline
|
||||
samlRoleListScopeConsentText=Meus Perfis de Acesso
|
||||
rolesScopeConsentText=Perfis de acesso de usu\u00e1rio
|
||||
rolesScopeConsentText=Perfis de acesso de usuário
|
||||
|
||||
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_realm-admin=Administrador de domínio
|
||||
role_create-realm=Criar domínio
|
||||
role_view-realm=Visualizar domínio
|
||||
role_view-users=Visualizar usuários
|
||||
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-realm=Gerenciar domínio
|
||||
role_manage-users=Gerenciar usuários
|
||||
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-account-links=Gerenciar vinculações de conta
|
||||
role_manage-consent=Gerenciar consentimentos
|
||||
role_read-token=Ler token
|
||||
role_offline-access=Acesso offline
|
||||
role_uma_authorization=Obter permiss\u00F5es
|
||||
role_uma_authorization=Obter permissões
|
||||
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_security-admin-console=Console de Administração de Segurança
|
||||
client_admin-cli=CLI de Administração
|
||||
client_realm-management=Gerenciamento de Domínio
|
||||
client_broker=Provedor de Identidade
|
||||
|
||||
|
||||
requiredFields=Campos obrigat\u00F3rios
|
||||
allFieldsRequired=Todos os campos s\u00E3o obrigat\u00F3rios
|
||||
requiredFields=Campos obrigatórios
|
||||
allFieldsRequired=Todos os campos são obrigatórios
|
||||
|
||||
backToApplication=« Voltar para aplica\u00E7\u00E3o
|
||||
backToApplication=« Voltar para aplicação
|
||||
backTo=Voltar para {0}
|
||||
|
||||
date=Data
|
||||
@@ -112,8 +112,8 @@ ip=IP
|
||||
client=Cliente
|
||||
clients=Clientes
|
||||
details=Detalhes
|
||||
started=In\u00edcio em
|
||||
lastAccess=\u00DAltimo acesso
|
||||
started=Início em
|
||||
lastAccess=Último acesso
|
||||
expires=Expira em
|
||||
applications=Aplicativos
|
||||
|
||||
@@ -121,104 +121,104 @@ account=Conta
|
||||
federatedIdentity=Identidade Federada
|
||||
authenticator=Autenticador
|
||||
device-activity=Atividade de Dispositivos
|
||||
sessions=Sess\u00F5es
|
||||
log=Hist\u00f3rico
|
||||
sessions=Sessões
|
||||
log=Histórico
|
||||
|
||||
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
|
||||
availableRoles=Perfis de Acesso Disponíveis
|
||||
grantedPermissions=Permissões Concedidas
|
||||
grantedPersonalInfo=Informações Pessoais Concedidas
|
||||
additionalGrants=Concessões Adicionais
|
||||
action=Ação
|
||||
inResource=em
|
||||
fullAccess=Acesso Completo
|
||||
offlineToken=Token Offline
|
||||
revoke=Revogar Concess\u00e3o
|
||||
revoke=Revogar Concessão
|
||||
|
||||
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.
|
||||
mobile=Móvel
|
||||
totpStep1=Instale uma das seguintes aplicações no seu celular:
|
||||
totpStep2=Abra a aplicação e escaneie o código QR:
|
||||
totpStep3=Insira o código de uso único exibido pela aplicação e clique em Salvar para finalizar a configuração.
|
||||
totpStep3DeviceName=Forneça um nome de dispositivo para ajudá-lo a gerenciar seus dipositivos de autenticação 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?
|
||||
totpManualStep2=Abra a aplicação e insira a chave:
|
||||
totpManualStep3=Use as seguintes configurações se a aplicação permitir:
|
||||
totpUnableToScan=Não consegue escanear?
|
||||
totpScanBarcode=Escanear código QR?
|
||||
|
||||
totp.totp=Baseada em tempo
|
||||
totp.hotp=Baseada em contador
|
||||
|
||||
totpType=Tipo
|
||||
totpAlgorithm=Algoritmo
|
||||
totpDigits=D\u00edgitos
|
||||
totpDigits=Dígitos
|
||||
totpInterval=Intervalo
|
||||
totpCounter=Contador
|
||||
totpDeviceName=Nome do Dispositivo
|
||||
|
||||
irreversibleAction=Esta a\u00e7\u00e3o \u00e9 irrevers\u00edvel
|
||||
irreversibleAction=Esta ação é irreversível
|
||||
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
|
||||
loggingOutImmediately=Finalizar a sessão imediatamente
|
||||
accountUnusable=Qualquer uso subsquente da aplicação não será mais possível com esta conta
|
||||
|
||||
missingUsernameMessage=Por favor, especifique o nome de usu\u00E1rio.
|
||||
missingUsernameMessage=Por favor, especifique o nome de usuário.
|
||||
missingFirstNameMessage=Por favor, informe o primeiro nome.
|
||||
invalidEmailMessage=E-mail inv\u00E1lido.
|
||||
invalidEmailMessage=E-mail inválido.
|
||||
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
|
||||
notMatchPasswordMessage=As senhas não coincidem.
|
||||
invalidUserMessage=Usuário inválido
|
||||
updateReadOnlyAttributesRejectedMessage=Atualização de atributo de apenas leitura não permitida
|
||||
|
||||
missingTotpMessage=Por favor, informe o c\u00F3digo de uso \u00fanico.
|
||||
missingTotpMessage=Por favor, informe o código de uso único.
|
||||
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.
|
||||
invalidPasswordExistingMessage=A senha atual é inválida.
|
||||
invalidPasswordConfirmMessage=A senha de confirmação não coincide.
|
||||
invalidTotpMessage=Código de uso único inválido.
|
||||
|
||||
usernameExistsMessage=Este nome de usu\u00E1rio j\u00E1 existe.
|
||||
emailExistsMessage=Este endere\u00e7o de e-mail j\u00E1 existe.
|
||||
usernameExistsMessage=Este nome de usuário já existe.
|
||||
emailExistsMessage=Este endereço de e-mail já 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.
|
||||
readOnlyUserMessage=Você não pode atualizar sua conta, uma vez que é apenas de leitura.
|
||||
readOnlyUsernameMessage=Você^não pode atualizar o seu nome de usuário, uma vez que é apenas de leitura.
|
||||
readOnlyPasswordMessage=Você não pode atualizar sua senha, uma vez que sua conta é apenas de leitura.
|
||||
|
||||
successTotpMessage=Autenticador m\u00f3vel configurado.
|
||||
successTotpRemovedMessage=Autenticador m\u00f3vel removido.
|
||||
successTotpMessage=Autenticador móvel configurado.
|
||||
successTotpRemovedMessage=Autenticador móvel removido.
|
||||
|
||||
successGrantRevokedMessage=Concess\u00e3o revogada com sucesso.
|
||||
successGrantRevokedMessage=Concessão 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.
|
||||
missingIdentityProviderMessage=Provedor de identidade não especificado.
|
||||
invalidFederatedIdentityActionMessage=Ação inválida ou ausente.
|
||||
identityProviderNotFoundMessage=O provedor de identidade especificado não foi encontrado.
|
||||
federatedIdentityLinkNotActiveMessage=Esta identidade não está mais em atividade.
|
||||
federatedIdentityRemovingLastProviderMessage=Você não pode remover a última identidade federada, porque você não 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.
|
||||
identityProviderAlreadyLinkedMessage=Identidade federada retornada por {0} já está ligada a outro usuário.
|
||||
staleCodeAccountMessage=A página 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.
|
||||
accountTemporarilyDisabledMessage=A conta está temporariamente indisponível, contate um administrador ou tente novamente mais tarde.
|
||||
invalidPasswordMinLengthMessage=Senha inválida\: deve ter pelo menos {0} caracteres.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Senha inválida\: deve conter pelo menos {0} letra(s) minúscula(s).
|
||||
invalidPasswordMinDigitsMessage=Senha inválida\: deve conter pelo menos {0} número(s).
|
||||
invalidPasswordMinUpperCaseCharsMessage=Senha inválida\: deve conter pelo menos {0} letra(s) maiúscula(s).
|
||||
invalidPasswordMinSpecialCharsMessage=Senha inválida\: deve conter pelo menos {0} caractere(s) especial(is).
|
||||
invalidPasswordNotUsernameMessage=Senha inválida\: não pode ser igual ao nome de usuário.
|
||||
invalidPasswordNotEmailMessage=Senha inválida: não pode ser igual ao endereço de e-mail.
|
||||
invalidPasswordRegexPatternMessage=Senha inválida\: não corresponde ao(s) padrão(ões) da expressão regular.
|
||||
invalidPasswordHistoryMessage=Senha inválida\: não pode ser igual a qualquer uma da(s) última(s) {0} senha(s).
|
||||
invalidPasswordBlacklistedMessage=Senha inválida: esta senha está na lista de exclusão.
|
||||
invalidPasswordGenericMessage=Senha inválida: a nova senha não cumpre as políticas de senha.
|
||||
|
||||
# Authorization
|
||||
myResources=Meus Recursos
|
||||
@@ -227,98 +227,98 @@ doDeny=Negar
|
||||
doRevoke=Revogar
|
||||
doApprove=Permitir
|
||||
doRemoveSharing=Remover Compartilhamento
|
||||
doRemoveRequest=Remover Solicita\u00e7\u00e3o
|
||||
doRemoveRequest=Remover Solicitação
|
||||
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
|
||||
resourceManagedPolicies=Permissões dando acesso a este recurso
|
||||
resourceNoPermissionsGrantingAccess=Sem permissões dando acesso a este recurso
|
||||
anyAction=Qualquer ação
|
||||
description=Descrição
|
||||
name=Nome
|
||||
scopes=Escopo
|
||||
resource=Recurso
|
||||
user=Usu\u00e1rio
|
||||
user=Usuário
|
||||
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
|
||||
needMyApproval=Requer minha aprovação
|
||||
requestsWaitingApproval=Solicitações suas aguardando aprovação
|
||||
icon=Ícone
|
||||
requestor=Requerente
|
||||
owner=Dono
|
||||
resourcesSharedWithMe=Recursos compartilhados comigo
|
||||
permissionRequestion=Solicita\u00e7\u00e3o de Permiss\u00e3o
|
||||
permission=Permiss\u00e3o
|
||||
permissionRequestion=Solicitação de Permissão
|
||||
permission=Permissão
|
||||
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.
|
||||
notBeingShared=Este recurso não está sendo compartilhado.
|
||||
notHaveAnyResource=Você não possui recursos
|
||||
noResourcesSharedWithYou=Não há recursos compartilhados com você
|
||||
havePermissionRequestsWaitingForApproval=Você tem {0} solicitação(ões) de permissão aguardando aprovação.
|
||||
clickHereForDetails=Clique aqui para mais detalhes.
|
||||
resourceIsNotBeingShared=O recurso n\u00e3o \u00e9 compartilhado
|
||||
resourceIsNotBeingShared=O recurso não é compartilhado
|
||||
|
||||
# Applications
|
||||
applicationName=Nome
|
||||
applicationType=Tipo de aplica\u00e7\u00e3o
|
||||
applicationInUse=Uso apenas em aplica\u00e7\u00e3o
|
||||
applicationType=Tipo de aplicação
|
||||
applicationInUse=Uso apenas em aplicação
|
||||
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
|
||||
allApps=Todas as aplicações
|
||||
internalApps=Aplicações internas
|
||||
thirdpartyApps=Aplicações de terceiros
|
||||
appResults=Resultados
|
||||
clientNotFoundMessage=Cliente n\u00e3o encontrado.
|
||||
clientNotFoundMessage=Cliente não encontrado.
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Provedor Autorizado
|
||||
authorizedProviderMessage=Provedores Autorizados vinculados \u00e0 sua conta
|
||||
authorizedProviderMessage=Provedores Autorizados vinculados à 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
|
||||
userDefined=Definido por Usuário
|
||||
removeAccess=Remover Acesso
|
||||
removeAccessMessage=Voc\u00ea dever\u00e1 conceder acesso novamente se quiser usar esta conta de app.
|
||||
removeAccessMessage=Você deverá 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.
|
||||
authenticatorStatusMessage=A autenticação de dois fatores está
|
||||
authenticatorFinishSetUpTitle=Sua Autenticação de Dois Fatores
|
||||
authenticatorFinishSetUpMessage=Sempre que entrar na sua conta, você deverá fornecer um código de autenticação de dois fatores.
|
||||
authenticatorSubTitle=Configurar Autenticação de Dois Fatores
|
||||
authenticatorSubMessage=Para aumentar a segurança da sua conta, habilite pelo menos um método de autenticação de dois fatores disponível.
|
||||
authenticatorMobileTitle=Autenticador Móvel
|
||||
authenticatorMobileMessage=Use um autenticador móvel para obter códigos de verificação para autenticação 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
|
||||
authenticatorSMSTitle=Código SMS
|
||||
authenticatorSMSMessage=A aplicação irá enviar o código de verificação para o seu celular como autenticação de dois fatores.
|
||||
authenticatorSMSFinishSetUpMessage=As mensagens de texto serão enviadas para
|
||||
authenticatorDefaultStatus=Padrão
|
||||
authenticatorChangePhone=Mudar Número 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
|
||||
authenticatorMobileSetupTitle=Configuração do Autenticador Móvel
|
||||
smscodeIntroMessage=Insira seu número de celular e o código de verificação será enviado para o seu dispositivo.
|
||||
mobileSetupStep1=Instale um app autenticador no seu celular. As seguintes aplicações são suportadas.
|
||||
mobileSetupStep2=Abra a aplicação e escaneie o código QR:
|
||||
mobileSetupStep3=Insira o código autenticador exibido pela aplicação e clique em Salvar para finalizar a configuração.
|
||||
scanBarCode=Escanear código QR?
|
||||
enterBarCode=Insira o código 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
|
||||
authenticatorSMSCodeSetupTitle=Configuração de Código SMS
|
||||
chooseYourCountry=Selecione seu país
|
||||
enterYourPhoneNumber=Insira seu número de telefone
|
||||
sendVerficationCode=Enviar Código de Verificação
|
||||
enterYourVerficationCode=Insira o seu código de verificação
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Configura\u00e7\u00e3o de C\u00f3digos de Emerg\u00eancia
|
||||
realmName=Dom\u00ednio
|
||||
authenticatorBackupCodesSetupTitle=Configuração de Códigos de Emergência
|
||||
realmName=Domínio
|
||||
doDownload=Baixar
|
||||
doPrint=Imprimir
|
||||
generateNewBackupCodes=Gerar Novos C\u00f3digos de Emerg\u00eancia
|
||||
backtoAuthenticatorPage=Voltar \u00e0 P\u00e1gina de Autenticador
|
||||
generateNewBackupCodes=Gerar Novos Códigos de Emergência
|
||||
backtoAuthenticatorPage=Voltar à Página de Autenticador
|
||||
|
||||
|
||||
#Resources
|
||||
@@ -326,24 +326,26 @@ resources=Recursos
|
||||
sharedwithMe=Compartilhados Comigo
|
||||
share=Compartilhar
|
||||
sharedwith=Compartilhado com
|
||||
accessPermissions=Permiss\u00f5es de Acesso
|
||||
accessPermissions=Permissões de Acesso
|
||||
permissionRequests=Pedidos de Acesso
|
||||
approve=Aprovar
|
||||
approveAll=Aprovar todos
|
||||
people=pessoas
|
||||
perPage=por p\u00e1gina
|
||||
currentPage=P\u00e1gina Atual
|
||||
perPage=por página
|
||||
currentPage=Página Atual
|
||||
sharetheResource=Compartilhar recurso
|
||||
group=Grupo
|
||||
selectPermission=Selecionar Permiss\u00e3o
|
||||
selectPermission=Selecionar Permissão
|
||||
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
|
||||
myPermissions=Minhas Permissões
|
||||
waitingforApproval=Aguardando aprovação
|
||||
anyPermission=Qualquer Permissão
|
||||
|
||||
# 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_info=Informações do usuário
|
||||
openshift.scope.user_check-access=Informações de acesso do usuário
|
||||
openshift.scope.user_full=Acesso Completo
|
||||
openshift.scope.list-projects=Listar projetos
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,10 +1,22 @@
|
||||
# encoding: utf-8
|
||||
doSave=Сохранить
|
||||
doCancel=Отмена
|
||||
doLogOutAllSessions=Выйти из всех сессий
|
||||
doRemove=Удалить
|
||||
doAdd=Добавить
|
||||
doSignOut=Выход
|
||||
doSignIn=Вход
|
||||
update=Обновить
|
||||
remove=Удалить
|
||||
refreshPage=Обновить страницу
|
||||
refresh=Обновить
|
||||
pageNotFound=Страница не найдена
|
||||
invalidRoute={0} неправильный путь.
|
||||
continue=Продолжить
|
||||
doLogIn=Вход
|
||||
|
||||
accountManagementWelcomeMessage=Добро пожаловать в консоль управления вашей учетной записью
|
||||
loadingMessage=Консоль управления учетной записью - загрузка ...
|
||||
accountSecuritySidebarTitle=Безопасность
|
||||
|
||||
editAccountHtmlTitle=Изменение учетной записи
|
||||
federatedIdentitiesHtmlTitle=Федеративные идентификаторы
|
||||
@@ -14,12 +26,84 @@ sessionsHtmlTitle=Сессии
|
||||
accountManagementTitle=Управление учетной записью
|
||||
authenticatorTitle=Аутентификатор
|
||||
applicationsHtmlTitle=Приложения
|
||||
applicationsIntroMessage=Отслеживайте и управляйте разрешениями приложений на доступ к вашей учетной записи
|
||||
accountSecurityIntroMessage=Изменение пароля и доступа к учетной записи
|
||||
|
||||
# Personal info page
|
||||
personalInfoSidebarTitle=Личная информация
|
||||
personalInfoHtmlTitle=Личная информация
|
||||
personalSubMessage=Управление данными о себе
|
||||
personalInfoIntroMessage=Управление данными о себе
|
||||
selectLocale=Выбор языка
|
||||
|
||||
# Applications page
|
||||
applicationsPageTitle=Приложения
|
||||
applicationsSubMessage=Управляйте разрешениями ваших приложений
|
||||
applicationName=Имя
|
||||
applicationType=Тип приложения
|
||||
status=Статус
|
||||
client=Клиент
|
||||
internalApp=Внутренний
|
||||
thirdPartyApp=Внешний
|
||||
inUse=Используется
|
||||
notInUse=Не используется
|
||||
|
||||
|
||||
# Signing in page
|
||||
signingIn=Вход
|
||||
signingInSidebarTitle=Вход
|
||||
signingInSubMessage=Настройте варианты входа
|
||||
password-display-name=Пароль
|
||||
credentialCreatedAt=Создан
|
||||
basic-authentication=Базовая аутентификация
|
||||
password-help-text=Вход с использованием ввода пароля
|
||||
two-factor=Двухфакторная аутентификация
|
||||
otp-display-name=приложение аутентификатор
|
||||
otp-help-text=Ввод проверочного кода из приложения аутентификатора
|
||||
setUpNew=Настроить {0}
|
||||
removeCred=Удалить {0}
|
||||
stopUsingCred=Остановить использование {0}?
|
||||
successRemovedMessage={0} был удалён.
|
||||
notSetUp={0} не настроено.
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Настройка мобильного приложения аутентификатора
|
||||
totpStep1=Установите одно из следующих приложений на ваш мобильный телефон:
|
||||
totpStep2=Откройте приложение и просканируйте QR-код:
|
||||
totpStep3=Введите одноразовый код, выданный приложением, и нажмите Подтвердить для завершения настройки.
|
||||
totpManualStep2=Откройте приложение и введите ключ:
|
||||
totpManualStep3=Используйте следующие настройки, если приложение позволяет их устанавливать:
|
||||
totpStep3DeviceName=Укажите имя устройства, которое поможет вам найти его в списке ваших устройств.
|
||||
totpUnableToScan=Не удается выполнить сканирование?
|
||||
totpScanBarcode=Сканировать QR-код?
|
||||
authenticatorCode=Одноразовый код
|
||||
totpDeviceName=Имя устройства
|
||||
totpType=Тип
|
||||
totpAlgorithm=Алгоритм
|
||||
totpDigits=Количество цифр
|
||||
totpInterval=Интервал
|
||||
totpCounter=Счетчик
|
||||
|
||||
|
||||
# Device activity page
|
||||
deviceActivitySidebarTitle=Активные устройства
|
||||
deviceActivityHtmlTitle=Активные устройства
|
||||
signedInDevicesExplanation=Выполните выход с незнакомых устройств
|
||||
signedInDevices=Выполнен вход на устройствах
|
||||
currentDevice=Текущее устройство
|
||||
currentSession=Текущая сессия
|
||||
lastAccessedOn=Последний доступ
|
||||
ipAddress=IP адрес
|
||||
device-activity=Активные устройства
|
||||
signOutWarning=Завершить сессию?
|
||||
signOutAllDevices=Выход на всех устройствах
|
||||
signOutAllDevicesWarning=Это действие приведет к выходу из системы всех устройств, которые вошли в вашу учетную запись, включая текущее устройство, которое вы используете.
|
||||
signedOutSession=Сессия завершена {0}/{1}
|
||||
|
||||
email=E-mail
|
||||
firstName=Имя
|
||||
givenName=Имя
|
||||
fullName=Полное имя
|
||||
fullName={0} {1}
|
||||
lastName=Фамилия
|
||||
familyName=Фамилия
|
||||
password=Пароль
|
||||
@@ -96,11 +180,6 @@ 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=Введите имя.
|
||||
@@ -119,6 +198,7 @@ usernameExistsMessage=Имя пользователя уже существуе
|
||||
emailExistsMessage=E-mail уже существует.
|
||||
|
||||
readOnlyUserMessage=Вы не можете обновить информацию вашей учетной записи, т.к. она доступна только для чтения.
|
||||
readOnlyUsernameMessage=Вы не можете обновить имя пользователя вашей учетной записи, т.к. оно доступно только для чтения.
|
||||
readOnlyPasswordMessage=Вы не можете обновить пароль вашей учетной записи, т.к. он доступен только для чтения.
|
||||
|
||||
successTotpMessage=Аутентификатор в мобильном приложении сконфигурирован.
|
||||
@@ -153,3 +233,4 @@ invalidPasswordRegexPatternMessage=Некорректный пароль: пар
|
||||
invalidPasswordHistoryMessage=Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролями.
|
||||
invalidPasswordGenericMessage=Некорректный пароль: новый пароль не соответствует правилам пароля.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=Uložiť
|
||||
doCancel=Zrušiť
|
||||
doLogOutAllSessions=Odhlásenie všetkých relácií
|
||||
@@ -194,3 +193,5 @@ resourcesSharedWithMe=Zdroje zdieľané so mnou
|
||||
permissionRequestion=Žiadosti o povolenie
|
||||
permission=Oprávnenie
|
||||
shares=podiel (y)
|
||||
|
||||
locale_fa=فارسی
|
||||
Regular → Executable
+3
-2
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=Spara
|
||||
doCancel=Avbryt
|
||||
doLogOutAllSessions=Logga ut från samtliga sessioner
|
||||
@@ -147,4 +146,6 @@ invalidPasswordMinSpecialCharsMessage=Ogiltigt lösenord: måste innehålla mins
|
||||
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.
|
||||
invalidPasswordGenericMessage=Ogiltigt lösenord: Det nya lösenordet stämmer inte med lösenordspolicyn.
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -0,0 +1,382 @@
|
||||
doSave=บันทึก
|
||||
doCancel=ยกเลิก
|
||||
doLogOutAllSessions=ออกจากระบบทุกเซสชัน
|
||||
doRemove=ลบ
|
||||
doAdd=เพิ่ม
|
||||
doSignOut=ออกจากระบบ
|
||||
doLogIn=เข้าสู่ระบบ
|
||||
doLink=ลิงก์
|
||||
noAccessMessage=ไม่อนุญาตให้เข้าถึง
|
||||
|
||||
personalInfoSidebarTitle=ข้อมูลส่วนตัว
|
||||
accountSecuritySidebarTitle=ความปลอดภัยของบัญชี
|
||||
signingInSidebarTitle=กำลังเข้าสู่ระบบ
|
||||
deviceActivitySidebarTitle=กิจกรรมของอุปกรณ์
|
||||
linkedAccountsSidebarTitle=บัญชีที่เชื่อมโยง
|
||||
|
||||
editAccountHtmlTitle=แก้ไขบัญชี
|
||||
personalInfoHtmlTitle=ข้อมูลส่วนตัว
|
||||
federatedIdentitiesHtmlTitle=Federated Identities
|
||||
accountLogHtmlTitle=บันทึกการใช้งานบัญชี
|
||||
changePasswordHtmlTitle=เปลี่ยนรหัสผ่าน
|
||||
deviceActivityHtmlTitle=กิจกรรมของอุปกรณ์
|
||||
sessionsHtmlTitle=เซสชัน
|
||||
accountManagementTitle=การจัดการบัญชี Keycloak
|
||||
authenticatorTitle=Authenticator
|
||||
applicationsHtmlTitle=แอปพลิเคชัน
|
||||
linkedAccountsHtmlTitle=บัญชีที่เชื่อมโยง
|
||||
|
||||
accountManagementWelcomeMessage=ยินดีต้อนรับสู่การจัดการบัญชี Keycloak
|
||||
personalInfoIntroMessage=จัดการข้อมูลพื้นฐานของคุณ
|
||||
accountSecurityTitle=ความปลอดภัยของบัญชี
|
||||
accountSecurityIntroMessage=ควบคุมรหัสผ่านและการเข้าถึงบัญชีของคุณ
|
||||
applicationsIntroMessage=ติดตามและจัดการการอนุญาตให้แอปพลิเคชันเข้าถึงบัญชีของคุณ
|
||||
resourceIntroMessage=แบ่งปันทรัพยากรของคุณให้แก่สมาชิกในทีม
|
||||
passwordLastUpdateMessage=รหัสผ่านของคุณได้รับการปรับปรุง ณ
|
||||
updatePasswordTitle=ปรับปรุงรหัสผ่าน
|
||||
updatePasswordMessageTitle=โปรดตรวจสอบให้แน่ใจว่าคุณเลือกรหัสผ่านที่แข็งแกร่ง
|
||||
updatePasswordMessage=รหัสผ่านที่แข็งแกร่งประกอบด้วยตัวเลข ตัวอักษร และสัญลักษณ์ โดยยากที่จะถูกเดารูปแบบ ไม่คล้ายคำจริง และใช้เฉพาะสำหรับบัญชีนี้เท่านั้น
|
||||
personalSubTitle=ข้อมูลส่วนตัวของคุณ
|
||||
personalSubMessage=จัดการข้อมูลพื้นฐานของคุณ
|
||||
|
||||
authenticatorCode=รหัสสำหรับใช้ครั้งเดียว
|
||||
email=อีเมล
|
||||
firstName=ชื่อ
|
||||
givenName=ชื่อ
|
||||
fullName=ชื่อ-นามสกุล
|
||||
lastName=นามสกุล
|
||||
familyName=นามสกุล
|
||||
password=รหัสผ่าน
|
||||
currentPassword=รหัสผ่านปัจจุบัน
|
||||
passwordConfirm=ยืนยันรหัสผ่าน
|
||||
passwordNew=รหัสผ่านใหม่
|
||||
username=ชื่อผู้ใช้งาน
|
||||
address=ที่อยู่
|
||||
street=ถนน
|
||||
locality=เมืองหรือตำบล
|
||||
region=รัฐ จังหวัด หรือภูมิภาค
|
||||
postal_code=รหัสไปรษณีย์
|
||||
country=ประเทศ
|
||||
emailVerified=ตรวจสอบอีเมลแล้ว
|
||||
website=หน้าเว็บ
|
||||
phoneNumber=หมายเลขโทรศัพท์
|
||||
phoneNumberVerified=ตรวจสอบหมายเลขโทรศัพท์แล้ว
|
||||
gender=เพศ
|
||||
birthday=วันเกิด
|
||||
zoneinfo=โซนเวลา
|
||||
gssDelegationCredential=GSS Delegation Credential
|
||||
|
||||
profileScopeConsentText=โปรไฟล์ผู้ใช้งาน
|
||||
emailScopeConsentText=ที่อยู่อีเมล
|
||||
addressScopeConsentText=ที่อยู่
|
||||
phoneScopeConsentText=หมายเลขโทรศัพท์
|
||||
offlineAccessScopeConsentText=การเข้าถึงแบบออฟไลน์
|
||||
samlRoleListScopeConsentText=บทบาทของฉัน
|
||||
rolesScopeConsentText=บทบาทผู้ใช้งาน
|
||||
|
||||
role_admin=ผู้ดูแลระบบ
|
||||
role_realm-admin=ผู้ดูแลระบบ realm
|
||||
role_create-realm=สร้าง realm
|
||||
role_view-realm=ดู realm
|
||||
role_view-users=ดูผู้ใช้งาน
|
||||
role_view-applications=ดูแอปพลิเคชัน
|
||||
role_view-groups=ดูกลุ่ม
|
||||
role_view-clients=ดูไคลเอนต์
|
||||
role_view-events=ดูเหตุการณ์
|
||||
role_view-identity-providers=ดูผู้ให้บริการตัวตน
|
||||
role_view-consent=ดูการยินยอม
|
||||
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_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=การจัดการ realm
|
||||
client_broker=ตัวแทน
|
||||
|
||||
|
||||
requiredFields=ช่องที่ต้องกรอกข้อมูล
|
||||
allFieldsRequired=ต้องกรอกข้อมูลทุกช่อง
|
||||
|
||||
backToApplication=« กลับไปยังแอปพลิเคชัน
|
||||
backTo=กลับไปยัง {0}
|
||||
|
||||
date=วันที่
|
||||
event=เหตุการณ์
|
||||
ip=IP
|
||||
client=ไคลเอนต์
|
||||
clients=ไคลเอนต์
|
||||
details=รายละเอียด
|
||||
started=เริ่มต้น
|
||||
lastAccess=การเข้าถึงครั้งสุดท้าย
|
||||
expires=หมดอายุ
|
||||
applications=แอปพลิเคชัน
|
||||
|
||||
account=บัญชี
|
||||
federatedIdentity=Federated Identity
|
||||
authenticator=Authenticator
|
||||
device-activity=กิจกรรมของอุปกรณ์
|
||||
sessions=เซสชัน
|
||||
log=บันทึก
|
||||
|
||||
application=แอปพลิเคชัน
|
||||
availableRoles=บทบาทที่มีอยู่
|
||||
grantedPermissions=การอนุญาตที่ได้รับ
|
||||
grantedPersonalInfo=ข้อมูลส่วนตัวที่ได้รับอนุญาต
|
||||
additionalGrants=การอนุญาตเพิ่มเติม
|
||||
action=การกระทำ
|
||||
inResource=ใน
|
||||
fullAccess=การเข้าถึงเต็มรูปแบบ
|
||||
offlineToken=โทเค็นแบบออฟไลน์
|
||||
revoke=ยกเลิกการอนุญาต
|
||||
|
||||
configureAuthenticators=Authenticators ที่กำหนดค่าแล้ว
|
||||
mobile=มือถือ
|
||||
totpStep1=ติดตั้งแอปพลิเคชันใดแอปพลิเคชันหนึ่งต่อไปนี้บนมือถือของคุณ:
|
||||
totpStep2=เปิดแอปพลิเคชันและสแกนบาร์โค้ด:
|
||||
totpStep3=ใส่รหัสสำหรับใช้ครั้งเดียวจากแอปพลิเคชัน และคลิกบันทึกเพื่อสิ้นสุดการตั้งค่า
|
||||
totpStep3DeviceName=ระบุชื่ออุปกรณ์เพื่อช่วยให้คุณจัดการอุปกรณ์ OTP ของคุณได้สะดวกขึ้น
|
||||
|
||||
totpManualStep2=เปิดแอปพลิเคชันและใส่รหัส:
|
||||
totpManualStep3=ใช้ค่าการกำหนดค่าต่อไปนี้หากแอปพลิเคชันอนุญาตให้ตั้งค่า:
|
||||
totpUnableToScan=ไม่สามารถสแกนได้?
|
||||
totpScanBarcode=สแกนบาร์โค้ด?
|
||||
|
||||
totp.totp=Time-based
|
||||
totp.hotp=Counter-based
|
||||
|
||||
totpType=ประเภท
|
||||
totpAlgorithm=ขั้นตอนวิธี
|
||||
totpDigits=หลัก
|
||||
totpInterval=ช่วงเวลา
|
||||
totpCounter=Counter
|
||||
totpDeviceName=ชื่อของอุปกรณ์
|
||||
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
|
||||
irreversibleAction=การกระทำนี้ไม่สามารถย้อนกลับได้
|
||||
deletingImplies=การลบบัญชีของคุณจะ:
|
||||
errasingData=ลบข้อมูลทั้งหมดของคุณ
|
||||
loggingOutImmediately=ออกจากระบบทันที
|
||||
accountUnusable=ไม่สามารถใช้แอปพลิเคชันด้วยบัญชีนี้ได้อีกต่อไป
|
||||
|
||||
missingUsernameMessage=โปรดระบุชื่อผู้ใช้งาน
|
||||
missingFirstNameMessage=โปรดระบุชื่อ
|
||||
invalidEmailMessage=ที่อยู่อีเมลไม่ถูกต้อง
|
||||
missingLastNameMessage=โปรดระบุนามสกุล
|
||||
missingEmailMessage=โปรดระบุอีเมล
|
||||
missingPasswordMessage=โปรดระบุรหัสผ่าน
|
||||
notMatchPasswordMessage=รหัสผ่านไม่ตรงกัน
|
||||
invalidUserMessage=ผู้ใช้งานไม่ถูกต้อง
|
||||
updateReadOnlyAttributesRejectedMessage=ไม่สามารถอัพเดตแอตทริบิวต์ที่เป็นแบบอ่านเท่านั้น
|
||||
|
||||
missingTotpMessage=โปรดระบุรหัสสำหรับใช้ครั้งเดียว
|
||||
missingTotpDeviceNameMessage=โปรดระบุชื่ออุปกรณ์
|
||||
invalidPasswordExistingMessage=รหัสผ่านที่มีอยู่ไม่ถูกต้อง
|
||||
invalidPasswordConfirmMessage=การยืนยันรหัสผ่านไม่ถูกต้อง
|
||||
invalidTotpMessage=รหัสสำหรับใช้ครั้งเดียวไม่ถูกต้อง
|
||||
|
||||
usernameExistsMessage=ชื่อผู้ใช้งานมีอยู่แล้ว
|
||||
emailExistsMessage=อีเมลมีอยู่แล้ว
|
||||
|
||||
readOnlyUserMessage=คุณไม่สามารถอัพเดตบัญชีของคุณได้ เนื่องจากเป็นบัญชีแบบอ่านอย่างเดียว
|
||||
readOnlyUsernameMessage=คุณไม่สามารถอัพเดตชื่อผู้ใช้งานของคุณได้ เนื่องจากเป็นบัญชีแบบอ่านอย่างเดียว
|
||||
readOnlyPasswordMessage=คุณไม่สามารถอัพเดตรหัสผ่านของคุณได้ เนื่องจากบัญชีของคุณเป็นบัญชีแบบอ่านอย่างเดียว
|
||||
|
||||
successTotpMessage=กำหนดค่า Mobile authenticator แล้ว
|
||||
successTotpRemovedMessage=ลบ Mobile authenticator แล้ว
|
||||
|
||||
successGrantRevokedMessage=ถอนการให้อนุญาตสำเร็จแล้ว
|
||||
|
||||
accountUpdatedMessage=ได้อัพเดตบัญชีของคุณแล้ว
|
||||
accountPasswordUpdatedMessage=ได้อัพเดตรหัสผ่านของคุณแล้ว
|
||||
|
||||
missingIdentityProviderMessage=ไม่ได้ระบุผู้ให้บริการตัวตน
|
||||
invalidFederatedIdentityActionMessage=การกระทำไม่ถูกต้องหรือไม่มี
|
||||
identityProviderNotFoundMessage=ไม่พบผู้ให้บริการตัวตนที่ระบุ
|
||||
federatedIdentityLinkNotActiveMessage=ตัวตนนี้ไม่ได้ใช้งานแล้ว
|
||||
federatedIdentityRemovingLastProviderMessage=คุณไม่สามารถลบ federated identity สุดท้ายได้เนื่องจากคุณไม่มีรหัสผ่าน
|
||||
identityProviderRedirectErrorMessage=ล้มเหลวในการเปลี่ยนเส้นทางไปยังผู้ให้บริการตัวตน
|
||||
identityProviderRemovedMessage=ลบผู้ให้บริการตัวตนเรียบร้อยแล้ว
|
||||
identityProviderAlreadyLinkedMessage=Federated identity ที่ส่งคืนโดย {0} ได้เชื่อมโยงกับผู้ใช้งานอื่นแล้ว
|
||||
staleCodeAccountMessage=หน้าหมดอายุแล้ว โปรดลองอีกครั้ง
|
||||
consentDenied=การยินยอมถูกปฏิเสธ
|
||||
access-denied-when-idp-auth=การเข้าถึงถูกปฏิเสธเมื่อพิสูจน์ตัวจริงด้วย {0}
|
||||
|
||||
accountDisabledMessage=บัญชีถูกปิดใช้งาน กรุณาติดต่อผู้ดูแลระบบของคุณ
|
||||
|
||||
accountTemporarilyDisabledMessage=บัญชีถูกปิดใช้งานชั่วคราว กรุณาติดต่อผู้ดูแลระบบของคุณหรือลองอีกครั้งในภายหลัง
|
||||
invalidPasswordMinLengthMessage=รหัสผ่านไม่ถูกต้อง: ความยาวขั้นต่ำ {0}
|
||||
invalidPasswordMaxLengthMessage=รหัสผ่านไม่ถูกต้อง: ความยาวสูงสุด {0}
|
||||
invalidPasswordMinLowerCaseCharsMessage=รหัสผ่านไม่ถูกต้อง: ต้องมีอักขระพิมพ์เล็กอย่างน้อย {0} ตัว
|
||||
invalidPasswordMinDigitsMessage=รหัสผ่านไม่ถูกต้อง: ต้องมีจำนวนเลขอย่างน้อย {0} หลัก
|
||||
invalidPasswordMinUpperCaseCharsMessage=รหัสผ่านไม่ถูกต้อง: ต้องมีอักขระพิมพ์ใหญ่อย่างน้อย {0} ตัว
|
||||
invalidPasswordMinSpecialCharsMessage=รหัสผ่านไม่ถูกต้อง: ต้องมีอักขระพิเศษอย่างน้อย {0} ตัว
|
||||
invalidPasswordNotUsernameMessage=รหัสผ่านไม่ถูกต้อง: จะต้องไม่ตรงกับชื่อผู้ใช้งาน
|
||||
invalidPasswordNotEmailMessage=รหัสผ่านไม่ถูกต้อง: จะต้องไม่ตรงกับอีเมล
|
||||
invalidPasswordRegexPatternMessage=รหัสผ่านไม่ถูกต้อง: ไม่ผ่าน regex pattern
|
||||
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=การตรวจสอบสิทธิ์สองปัจจัยกำลัง
|
||||
authenticatorFinishSetUpTitle=การตรวจสอบสิทธิ์สองปัจจัยของคุณ
|
||||
authenticatorFinishSetUpMessage=ทุกครั้งที่คุณล็อกอินเข้าสู่บัญชี Keycloak ของคุณ คุณจะถูกขอให้ใส่รหัสผ่านสำหรับการตรวจสอบสิทธิ์สองปัจจัย
|
||||
authenticatorSubTitle=ตั้งค่าการตรวจสอบสิทธิ์สองปัจจัย
|
||||
authenticatorSubMessage=เพื่อเพิ่มความปลอดภัยของบัญชีของคุณ กรุณาเปิดใช้งานวิธีการตรวจสอบสิทธิ์สองปัจจัยที่มีให้
|
||||
authenticatorMobileTitle=Mobile Authenticator
|
||||
authenticatorMobileMessage=ใช้ Mobile Authenticator เพื่อรับรหัสยืนยันการตรวจสอบสิทธิ์สองปัจจัย
|
||||
authenticatorMobileFinishSetUpMessage=Authenticator ได้ถูกผูกกับโทรศัพท์ของคุณแล้ว
|
||||
authenticatorActionSetup=ตั้งค่า
|
||||
authenticatorSMSTitle=SMS Code
|
||||
authenticatorSMSMessage=Keycloak จะส่งรหัสยืนยันไปยังโทรศัพท์ของคุณเพื่อตรวจสอบสิทธิ์สองปัจจัย
|
||||
authenticatorSMSFinishSetUpMessage=ข้อความถูกส่งไปยัง
|
||||
authenticatorDefaultStatus=ค่าเริ่มต้น
|
||||
authenticatorChangePhone=เปลี่ยนหมายเลขโทรศัพท์
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=การตั้งค่า Mobile Authenticator
|
||||
smscodeIntroMessage=ใส่หมายเลขโทรศัพท์ของคุณ รหัสยืนยันจะถูกส่งไปยังโทรศัพท์ของคุณ
|
||||
mobileSetupStep1=ติดตั้งแอปพลิเคชัน authenticator บนโทรศัพท์ของคุณ แอปพลิเคชันที่แสดงไว้ในนี้ได้รับการสนับสนุน
|
||||
mobileSetupStep2=เปิดแอปพลิเคชันและสแกนบาร์โค้ด:
|
||||
mobileSetupStep3=ใส่รหัสผ่านครั้งเดียวที่แอปพลิเคชันให้และคลิกบันทึกเพื่อสิ้นสุดการตั้งค่า
|
||||
scanBarCode=ต้องการสแกนบาร์โค้ด?
|
||||
enterBarCode=ใส่รหัสแบบใช้ครั้งเดียว
|
||||
doCopy=คัดลอก
|
||||
doFinish=สิ้นสุด
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=การตั้งค่า SMS Code
|
||||
chooseYourCountry=เลือกประเทศของคุณ
|
||||
enterYourPhoneNumber=ใส่หมายเลขโทรศัพท์ของคุณ
|
||||
sendVerficationCode=ส่งรหัสยืนยัน
|
||||
enterYourVerficationCode=ใส่รหัสยืนยันของคุณ
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=การตั้งค่ารหัสกู้คืน
|
||||
realmName=Realm
|
||||
doDownload=ดาวน์โหลด
|
||||
doPrint=พิมพ์
|
||||
generateNewBackupCodes=สร้างรหัสกู้คืนใหม่
|
||||
backtoAuthenticatorPage=กลับไปยังหน้า Authenticator
|
||||
|
||||
|
||||
#Resources
|
||||
resources=ทรัพยากร
|
||||
sharedwithMe=แบ่งปันกับฉัน
|
||||
share=แบ่งปัน
|
||||
sharedwith=แบ่งปันกับ
|
||||
accessPermissions=การอนุญาตให้เข้าถึง
|
||||
permissionRequests=คำขอการอนุญาต
|
||||
approve=อนุมัติ
|
||||
approveAll=อนุมัติทั้งหมด
|
||||
people=ผู้คน
|
||||
perPage=ต่อหน้า
|
||||
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=รายการโครงการ
|
||||
|
||||
error-invalid-value=ค่าไม่ถูกต้อง
|
||||
error-invalid-blank=โปรดระบุค่า
|
||||
error-empty=โปรดระบุค่า
|
||||
error-invalid-length=ลักษณะประจำ {0} จะต้องมีความยาวระหว่าง {1} และ {2}
|
||||
error-invalid-length-too-short=ลักษณะประจำ {0} จะต้องมีความยาวขั้นต่ำ {1}
|
||||
error-invalid-length-too-long=ลักษณะประจำ {0} จะต้องมีความยาวสูงสุด {2}
|
||||
error-invalid-email=ที่อยู่อีเมลไม่ถูกต้อง
|
||||
error-invalid-number=จำนวนไม่ถูกต้อง
|
||||
error-number-out-of-range=ลักษณะประจำ {0} จะต้องเป็นจำนวนระหว่าง {1} และ {2}
|
||||
error-number-out-of-range-too-small=ลักษณะประจำ {0} จะต้องมีค่าขั้นต่ำ {1}
|
||||
error-number-out-of-range-too-big=ลักษณะประจำ {0} จะต้องมีค่าสูงสุด {2}
|
||||
error-pattern-no-match=ค่าไม่ถูกต้อง
|
||||
error-invalid-uri=URL ไม่ถูกต้อง
|
||||
error-invalid-uri-scheme=scheme URL ไม่ถูกต้อง
|
||||
error-invalid-uri-fragment=fragment URL ไม่ถูกต้อง
|
||||
error-user-attribute-required=โปรดระบุลักษณะประจำ {0}
|
||||
error-invalid-date=วันที่ไม่ถูกต้อง
|
||||
error-user-attribute-read-only=เขตข้อมูล {0} เป็นแบบอ่านอย่างเดียว
|
||||
error-username-invalid-character=ชื่อผู้ใช้งานมีอักขระไม่ถูกต้อง
|
||||
error-person-name-invalid-character=ชื่อมีอักขระไม่ถูกต้อง
|
||||
@@ -1,278 +1,278 @@
|
||||
doSave=Kaydet
|
||||
doCancel=\u0130ptal
|
||||
doLogOutAllSessions=T\u00FCm Oturumlar\u0131 Kapat
|
||||
doCancel=İptal
|
||||
doLogOutAllSessions=Tüm Oturumları Kapat
|
||||
doRemove=Sil
|
||||
doAdd=Ekle
|
||||
doSignOut=\u00C7\u0131k\u0131\u015F
|
||||
doLogIn=Oturum a\u00E7
|
||||
doLink=Ba\u011Flant\u0131
|
||||
doSignOut=Çıkış
|
||||
doLogIn=Oturum aç
|
||||
doLink=Bağlantı
|
||||
|
||||
|
||||
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
|
||||
editAccountHtmlTitle=Hesabım
|
||||
personalInfoHtmlTitle=Kişisel bilgi
|
||||
federatedIdentitiesHtmlTitle=Değiştirilen Kimlikler
|
||||
accountLogHtmlTitle=Kullanıcı Logları
|
||||
changePasswordHtmlTitle=Şifre Değiştirme
|
||||
deviceActivityHtmlTitle=Cihaz Etkinliği
|
||||
sessionsHtmlTitle=Oturum
|
||||
accountManagementTitle=Keycloak Kullan\u0131c\u0131 Hesab\u0131 Y\u00F6netimi
|
||||
authenticatorTitle=Kimlik Do\u011Frulama
|
||||
accountManagementTitle=Keycloak Kullanıcı Hesabı Yönetimi
|
||||
authenticatorTitle=Kimlik Doğrulama
|
||||
applicationsHtmlTitle=Uygulama
|
||||
linkedAccountsHtmlTitle=Ba\u011Flant\u0131l\u0131 Hesaplar
|
||||
linkedAccountsHtmlTitle=Bağlantılı 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
|
||||
accountManagementWelcomeMessage=Keycloak Hesap Yönetimine Hoş Geldiniz
|
||||
personalInfoIntroMessage=Temel bilgilerinizi yönetin
|
||||
accountSecurityTitle=Hesap Güvenliği
|
||||
accountSecurityIntroMessage=Şifrenizi ve hesap erişiminizi kontrol edin
|
||||
applicationsIntroMessage=Hesabınıza erişmek için uygulama izninizi takip edin ve yönetin
|
||||
resourceIntroMessage=Kaynaklarınızı ekip üyeleri arasında paylaşın
|
||||
passwordLastUpdateMessage=Şifreniz güncellendi
|
||||
updatePasswordTitle=Şifre güncelle
|
||||
updatePasswordMessageTitle=Güçlü bir şifre seçtiğinizden emin olun
|
||||
updatePasswordMessage=Güçlü bir şifre, sayılar, harfler ve sembollerin karışımından oluşmalıdır. Tahmin etmesi zor ve gerçek bir kelimeye benzemeyen şifre sadece bu hesap için kullanılır.
|
||||
personalSubTitle=Kişisel Bilgileriniz
|
||||
personalSubMessage=Bu temel bilgileri yönetin: adınız, soyadınız ve e-posta adresiniz
|
||||
|
||||
authenticatorCode=Kimlik Do\u011Frulama Kodu
|
||||
authenticatorCode=Kimlik Doğrulama 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
|
||||
password=Şifre
|
||||
currentPassword=Şimdiki Şifre
|
||||
passwordConfirm=Şifre Doğrulama
|
||||
passwordNew=Yeni Şifre
|
||||
username=Kullanıcı Adı
|
||||
address=Adres
|
||||
street=Cadde
|
||||
region=B\u00F6lge
|
||||
region=Bölge
|
||||
postal_code=Posta Kodu
|
||||
locality=\u015Eehir
|
||||
country=\u00DClke
|
||||
emailVerified=E-Mail Do\u011Fruland\u0131
|
||||
locality=Şehir
|
||||
country=Ülke
|
||||
emailVerified=E-Mail Doğrulandı
|
||||
gssDelegationCredential=GSS Yetki Bilgisi
|
||||
|
||||
profileScopeConsentText=Kullan\u0131c\u0131 profili
|
||||
profileScopeConsentText=Kullanıcı profili
|
||||
emailScopeConsentText=Email adresi
|
||||
addressScopeConsentText=Adres
|
||||
phoneScopeConsentText=Telefon numaras\u0131
|
||||
offlineAccessScopeConsentText=\u00C7evrimd\u0131\u015F\u0131 Eri\u015Fim
|
||||
phoneScopeConsentText=Telefon numarası
|
||||
offlineAccessScopeConsentText=Çevrimdışı Erişim
|
||||
samlRoleListScopeConsentText=Rollerim
|
||||
rolesScopeConsentText=Kullan\u0131c\u0131 rolleri
|
||||
rolesScopeConsentText=Kullanıcı 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_create-realm=Realm Oluştur
|
||||
role_view-realm=Realm görüntüle
|
||||
role_view-users=Kullanıcıları görüntüle
|
||||
role_view-applications=Uygulamaları görüntüle
|
||||
role_view-clients=İstemci görüntüle
|
||||
role_view-events=Olay görüntüle
|
||||
role_view-identity-providers=Kimlik Sağlayıcılar
|
||||
role_manage-realm=Realm yönet
|
||||
role_manage-users=Kullanıcıları yönet
|
||||
role_manage-applications=Uygulamaları yönet
|
||||
role_manage-identity-providers=Kimlik Sağlayıcıları Yönet
|
||||
role_manage-clients=İstemci yönet
|
||||
role_manage-events=Olay yönet
|
||||
role_view-profile=Profilleri görüntüle
|
||||
role_manage-account=Profilleri Yönet
|
||||
role_manage-account-links=Profil bağlantılarını yönet
|
||||
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
|
||||
role_offline-access=Çevirimdışı Yetki
|
||||
role_uma_authorization=İzinleri Al
|
||||
client_account=Müşteri Hesabı
|
||||
client_security-admin-console=Güvenlik Yönetici Konsolu
|
||||
client_admin-cli=Admin CLI
|
||||
client_realm-management=Realm-Management
|
||||
client_broker=Broker
|
||||
|
||||
requiredFields=Zorunlu Alanlar
|
||||
allFieldsRequired=T\u00FCm Alanlar Zorunlu
|
||||
allFieldsRequired=Tüm Alanlar Zorunlu
|
||||
|
||||
backToApplication=« Uygulamaya D\u00F6n
|
||||
backTo=Geri D\u00F6n {0}
|
||||
backToApplication=« Uygulamaya Dön
|
||||
backTo=Geri Dön {0}
|
||||
|
||||
date=G\u00FCn
|
||||
date=Gün
|
||||
event=Olay
|
||||
ip=IP
|
||||
client=\u0130stemci
|
||||
clients=\u0130stemciler
|
||||
client=İstemci
|
||||
clients=İstemciler
|
||||
details=Detaylar
|
||||
started=Ba\u015Flang\u0131\u00E7 Tarihi
|
||||
lastAccess=Son Eri\u015Fim Tarihi
|
||||
started=Başlangıç Tarihi
|
||||
lastAccess=Son Erişim Tarihi
|
||||
expires=Son Kullanma Tarihi
|
||||
applications=Uygulama
|
||||
|
||||
account=Hesap
|
||||
federatedIdentity=Federal Kimlik
|
||||
authenticator=Kimlik Do\u011Frulama
|
||||
device-activity=Cihaz Etkinli\u011Fi
|
||||
authenticator=Kimlik Doğrulama
|
||||
device-activity=Cihaz Etkinliği
|
||||
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
|
||||
availablePermissions=Kullanılabilir İzinler
|
||||
availableRoles=Kullanılabilir Roller
|
||||
grantedPermissions=Verilen İzinler
|
||||
grantedPersonalInfo=İzin Verilen Kişisel Bilgiler
|
||||
additionalGrants=Ek İzinler
|
||||
action=Aksiyon
|
||||
inResource=Kaynak
|
||||
fullAccess=Tam Yetki
|
||||
offlineToken=\u00C7evirimd\u0131\u015F\u0131-Token
|
||||
revoke=\u0130zni \u0130ptal et
|
||||
offlineToken=Çevirimdışı-Token
|
||||
revoke=İzni İptal et
|
||||
|
||||
configureAuthenticators=\u00C7oklu Kimlik Do\u011Frulama
|
||||
configureAuthenticators=Çoklu Kimlik Doğrulama
|
||||
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.
|
||||
totpStep1=Akıllı Telefonunuza aşağıdaki uygulamalardan birini yükleyin:
|
||||
totpStep2=Uygulamayı açın ve barkodu okutun.
|
||||
totpStep3=Uygulama tarafından oluşturulan tek seferlik kodu girin ve Kaydet''i tıklayın.
|
||||
|
||||
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?
|
||||
totpManualStep2=Uygulamayı açın ve aşağıdaki anahtarı girin.
|
||||
totpManualStep3=Bunları uygulama için özelleştirebilirseniz aşağıdaki yapılandırma değerlerini kullanın:
|
||||
totpUnableToScan=Barkodu tarayamıyor musunuz?
|
||||
totpScanBarcode=Barkod Tara?
|
||||
|
||||
totp.totp=Zaman bazl\u0131 (time-based)
|
||||
totp.hotp=Saya\u00E7 tabanl\u0131 (counter-based)
|
||||
totp.totp=Zaman bazlı (time-based)
|
||||
totp.hotp=Sayaç tabanlı (counter-based)
|
||||
|
||||
totpType=Tip
|
||||
totpAlgorithm=Algoritma
|
||||
totpDigits=Basamak
|
||||
totpInterval=Aral\u0131k
|
||||
totpCounter=Saya\u00E7
|
||||
totpInterval=Aralık
|
||||
totpCounter=Sayaç
|
||||
|
||||
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.
|
||||
missingUsernameMessage=Lütfen bir kullanıcı adı giriniz.
|
||||
missingFirstNameMessage=Lütfen bir ad girin.
|
||||
invalidEmailMessage=Geçersiz e-posta adresi.
|
||||
missingLastNameMessage=Lütfen bir soyadı giriniz.
|
||||
missingEmailMessage=Lütfen bir e-mail adresi giriniz.
|
||||
missingPasswordMessage=Lütfen bir şifre giriniz.
|
||||
notMatchPasswordMessage=Şifreler aynı değil.
|
||||
|
||||
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.
|
||||
missingTotpMessage=Lütfen tek seferlik kodu girin.
|
||||
invalidPasswordExistingMessage=Mevcut şifre geçersiz.
|
||||
invalidPasswordConfirmMessage=Şifre onayı aynı değil.
|
||||
invalidTotpMessage=Geçersiz tek seferlik kod.
|
||||
|
||||
usernameExistsMessage=Kullan\u0131c\u0131 ad\u0131 zaten mevcut.
|
||||
usernameExistsMessage=Kullanıcı adı 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.
|
||||
readOnlyUserMessage=Yazma korumalı olduğundan kullanıcı hesabınızı değiştiremezsiniz.
|
||||
readOnlyUsernameMessage=Yazma korumalı olduğundan kullanıcı adınızı değiştiremezsiniz.
|
||||
readOnlyPasswordMessage=Yazma korumalı olduğundan şifrenizi değiştiremezsiniz.
|
||||
|
||||
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.
|
||||
successTotpMessage=Çoklu kimlik doğrulaması başarıyla yapılandırıldı.
|
||||
successTotpRemovedMessage=Çoklu kimlik doğrulama başarıyla kaldırıldı.
|
||||
|
||||
successGrantRevokedMessage=\u0130zin ba\u015Far\u0131yla iptal edildi.
|
||||
successGrantRevokedMessage=İzin başarıyla iptal edildi.
|
||||
|
||||
accountUpdatedMessage=Kullan\u0131c\u0131 hesab\u0131n\u0131z g\u00FCncellendi.
|
||||
accountPasswordUpdatedMessage=\u015Eifreniz g\u00FCncellendi.
|
||||
accountUpdatedMessage=Kullanıcı hesabınız güncellendi.
|
||||
accountPasswordUpdatedMessage=Şifreniz güncellendi.
|
||||
|
||||
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.
|
||||
missingIdentityProviderMessage=Kimlik Sağlayıcısı belirtilmemiş.
|
||||
invalidFederatedIdentityActionMessage=Geçersiz veya eksik eylem.
|
||||
identityProviderNotFoundMessage=Belirtilen Kimlik Sağlayıcı bulunamadı.
|
||||
federatedIdentityLinkNotActiveMessage=Bu kimlik artık aktif değil.
|
||||
federatedIdentityRemovingLastProviderMessage=Şifreniz olmadığı için son girişi kaldıramazsınız.
|
||||
identityProviderRedirectErrorMessage=Kimlik sağlayıcıya iletilirken hata oluştu.
|
||||
identityProviderRemovedMessage=Kimlik Sağlayıcısı başarıyla kaldırıldı.
|
||||
identityProviderAlreadyLinkedMessage=Değiştirilmiş {0} kimliği başka bir kullanıcıya atanmış.
|
||||
staleCodeAccountMessage=Bu sayfa artık geçerli değil, lütfen tekrar deneyin.
|
||||
consentDenied=Onay reddedildi.
|
||||
|
||||
accountDisabledMessage=Hesab\u0131n\u0131z kilitlendi, l\u00FCtfen y\u00F6neticiyle ileti\u015Fime ge\u00E7in.
|
||||
accountDisabledMessage=Hesabınız kilitlendi, lütfen yöneticiyle iletişime geçin.
|
||||
|
||||
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.
|
||||
accountTemporarilyDisabledMessage=Hesabınız geçici olarak kilitlendi, lütfen yöneticiyle iletişime geçin veya daha sonra tekrar deneyin.
|
||||
invalidPasswordMinLengthMessage=Geçersiz Şifre: En az {0} karakter uzunluğunda olmalı.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Geçersiz Şifre \: En az {0} küçük harf içermelidir.
|
||||
invalidPasswordMinDigitsMessage=Geçersiz Şifre: En az {0} sayı(lar) içermelidir.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Geçersiz Şifre: En az {0} büyük harf içermelidir.
|
||||
invalidPasswordMinSpecialCharsMessage=Geçersiz Şifre: En az {0} özel karakter içermelidir.
|
||||
invalidPasswordNotUsernameMessage=Geçersiz Şifre: Kullanıcı adıyla aynı olamaz.
|
||||
invalidPasswordRegexPatternMessage=Geçersiz Şifre: Regex Patternine uygun değil.
|
||||
invalidPasswordHistoryMessage=Geçersiz Şifre: Son {0} şifreden biri olamaz.
|
||||
invalidPasswordBlacklistedMessage=Geçersiz Şifre: Şifre bloklanmış şifreler listesindedir (kara liste).
|
||||
invalidPasswordGenericMessge=Geçersiz Şifre: Yeni şifre, şifre kurallarını ihlal ediyor.
|
||||
|
||||
|
||||
|
||||
# Authorization
|
||||
myResources=Kaynaklar\u0131m
|
||||
myResourcesSub=Kaynaklar\u0131m
|
||||
myResources=Kaynaklarım
|
||||
myResourcesSub=Kaynaklarım
|
||||
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
|
||||
doRemoveSharing=Paylaşımı Kaldır
|
||||
doRemoveRequest=İsteği Kaldır
|
||||
peopleAccessResource=Bu kaynağa erişimi olan kişiler
|
||||
resourceManagedPolicies=Bu kaynağa erişim izni veren izinler
|
||||
resourceNoPermissionsGrantingAccess=Bu kaynağa erişim izni verilmeyen izin yok
|
||||
anyAction=Herhangi bir eylem
|
||||
description=A\u00E7\u0131klama
|
||||
name=\u0130sim
|
||||
description=Açıklama
|
||||
name=İsim
|
||||
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
|
||||
user=Kullanıcı
|
||||
peopleSharingThisResource=Bu kaynağı paylaşan kullanıcılar
|
||||
shareWithOthers=Başkalarıyla paylaş
|
||||
needMyApproval=Onayım 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)
|
||||
resourcesSharedWithMe=Kaynaklar benimle paylaşıldı
|
||||
permissionRequestion=İzin Talepleri
|
||||
permission=İzin
|
||||
shares=Paylaşım(lar)
|
||||
|
||||
# Applications
|
||||
applicationName=\u0130sim
|
||||
applicationName=İsim
|
||||
applicationType=Uygulama Tipi
|
||||
applicationInUse=Yaln\u0131zca uygulama i\u00E7i kullan\u0131m
|
||||
clearAllFilter=T\u00FCm filtreleri temizle
|
||||
applicationInUse=Yalnızca uygulama içi kullanım
|
||||
clearAllFilter=Tüm 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
|
||||
filterByName=İsme Göre Filtrele ...
|
||||
allApps=Bütün uygulamalar
|
||||
internalApps=İç uygulamalar
|
||||
thirdpartyApps=Üçüncü parti uygulamalar
|
||||
appResults=Sonuçlar
|
||||
|
||||
# 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.
|
||||
authorizedProvider=Yetkili Tedarikçi
|
||||
authorizedProviderMessage=Yetkili Sağlayıcılar hesabınızla bağlantılı
|
||||
identityProvider=Kimlik Sağlayıcısı
|
||||
identityProviderMessage=Hesabınızı yapılandırdığınız kimlik sağlayıcılarıyla bağlamak için
|
||||
socialLogin=Sosyal Giriş
|
||||
userDefined=Kullanıcı tanımlı
|
||||
removeAccess=Erişimi Kaldır
|
||||
removeAccessMessage=Bu uygulama hesabını kullanmak istiyorsanız tekrar erişim 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.
|
||||
authenticatorStatusMessage=İki faktörlü kimlik doğrulama aktif
|
||||
authenticatorFinishSetUpTitle=İki Faktörlü Doğrulama
|
||||
authenticatorFinishSetUpMessage=Keycloak hesabınızda her oturum açtığınızda, iki faktörlü bir doğrulama kodu girmeniz istenecektir.
|
||||
authenticatorSubTitle=İki Faktörlü Kimlik Doğrulamayı Ayarlama
|
||||
authenticatorSubMessage=Hesabınızın güvenliğini artırmak için mevcut iki faktörlü kimlik doğrulama yöntemlerinden en az birini etkinleştirin.
|
||||
authenticatorMobileTitle=Mobil Kimlik Doğrulayıcı
|
||||
authenticatorMobileMessage=Doğrulama kodlarını iki faktörlü kimlik doğrulama olarak almak için mobil Doğrulayıcı''yı kullanın.
|
||||
authenticatorMobileFinishSetUpMessage=Doğrulayıcı, telefonunuza bağlı.
|
||||
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
|
||||
authenticatorSMSMessage=Keycloak, doğrulama kodunu telefonunuza iki faktörlü kimlik doğrulaması olarak gönderecektir.
|
||||
authenticatorSMSFinishSetUpMessage=Kısa mesajlar gönderilir
|
||||
authenticatorDefaultStatus=Varsayılan
|
||||
authenticatorChangePhone=Telefon Numarasını Değiştir
|
||||
|
||||
#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.
|
||||
authenticatorMobileSetupTitle=Mobil Kimlik Doğrulama Kurulumu
|
||||
smscodeIntroMessage=Telefon numaranızı girin ve telefonunuza bir doğrulama kodu gönderilecektir.
|
||||
mobileSetupStep1=Telefonunuza bir kimlik doğrulama uygulaması yükleyin. Burada listelenen uygulamalar desteklenmektedir.
|
||||
mobileSetupStep2=Uygulamayı açın ve barkodu tarayın.
|
||||
mobileSetupStep3=Uygulama tarafından sağlanan tek seferlik kodu girin ve kurulumu tamamlamak için Kaydet''e tıklayın.
|
||||
scanBarCode=Barkodu taramak ister misiniz?
|
||||
enterBarCode=Tek seferlik kodu girin
|
||||
doCopy=Kopyala
|
||||
@@ -280,36 +280,38 @@ 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
|
||||
chooseYourCountry=Ülkenizi seçin
|
||||
enterYourPhoneNumber=Telefon numaranızı girin
|
||||
sendVerficationCode=Doğrulama kodu Gönder
|
||||
enterYourVerficationCode=Onaylama kodunu girin
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Yedekleme Kodlar\u0131 Kurulumu
|
||||
authenticatorBackupCodesSetupTitle=Yedekleme Kodları 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
|
||||
doDownload=İndir
|
||||
doPrint=Yazdır
|
||||
generateNewBackupCodes=Yeni Yedekleme Kodları Oluştur
|
||||
backtoAuthenticatorPage=Kimlik Doğrulayıcı Sayfasına Geri Dön
|
||||
|
||||
#Resources
|
||||
resources=Kaynaklar
|
||||
sharedwithMe=Benimle payla\u015Ft\u0131
|
||||
share=Payla\u015F\u0131m
|
||||
sharedwith=\u0130le payla\u015Ft\u0131
|
||||
accessPermissions=Eri\u015Fim \u0130zinleri
|
||||
permissionRequests=\u0130zin \u0130stekleri
|
||||
sharedwithMe=Benimle paylaştı
|
||||
share=Paylaşım
|
||||
sharedwith=İle paylaştı
|
||||
accessPermissions=Erişim İzinleri
|
||||
permissionRequests=İzin İstekleri
|
||||
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
|
||||
approveAll=Tümünü onayla
|
||||
people=İnsanlar
|
||||
perPage=Sayfa başına
|
||||
currentPage=Geçerli sayfa
|
||||
sharetheResource=Kaynağı paylaş
|
||||
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
|
||||
selectPermission=İzin Seç
|
||||
addPeople=Kaynağınızı paylaşmak için kullanıcı ekleyin
|
||||
addTeam=Kaynağınızı paylaşmak için ekip ekleyin
|
||||
myPermissions=İzinlerim
|
||||
waitingforApproval=Onay bekleniyor
|
||||
anyPermission=Herhangi bir izin
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
doSave=保存
|
||||
doCancel=取消
|
||||
doLogOutAllSessions=登出所有会话
|
||||
@@ -151,3 +150,5 @@ invalidPasswordMinSpecialCharsMessage=无效的密码: 至少包含 {0} 个特
|
||||
invalidPasswordNotUsernameMessage=无效的密码: 不能与用户名相同
|
||||
invalidPasswordRegexPatternMessage=无效的密码: 无法与正则表达式匹配
|
||||
invalidPasswordHistoryMessage=无效的密码: 不能与之前的{0} 个旧密码相同
|
||||
|
||||
locale_fa=فارسی
|
||||
@@ -1,59 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,277 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,403 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,44 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,88 +0,0 @@
|
||||
<#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 +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
|
||||
locales=ar,ca,cs,da,de,el,en,es,fa,fr,fi,hu,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,th,tr,zh-CN
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
<#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>
|
||||
@@ -1,99 +0,0 @@
|
||||
<!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>
|
||||
@@ -1,477 +0,0 @@
|
||||
# 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}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,479 +0,0 @@
|
||||
# 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=
|
||||
@@ -1 +0,0 @@
|
||||
# encoding: UTF-8
|
||||
@@ -1,155 +0,0 @@
|
||||
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.
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
# encoding: UTF-8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
# encoding: UTF-8
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,66 @@
|
||||
invalidPasswordMinLengthMessage=كلمة المرور غير صالحة: الحد الأدنى للطول {0}.
|
||||
invalidPasswordMaxLengthMessage=كلمة المرور غير صالحة: الحد الأقصى للطول {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} حروف صغيرة على الأقل.
|
||||
invalidPasswordMinDigitsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} أرقام على الأقل.
|
||||
invalidPasswordMinUpperCaseCharsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} حروف كبيرة على الأقل.
|
||||
invalidPasswordMinSpecialCharsMessage=كلمة المرور غير صالحة: يجب أن تحتوي على {0} رموز على الأقل.
|
||||
invalidPasswordNotUsernameMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة لاسم المستخدم.
|
||||
invalidPasswordNotEmailMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة للبريد الإلكتروني.
|
||||
invalidPasswordRegexPatternMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة للأنماط المحددة.
|
||||
invalidPasswordHistoryMessage=كلمة المرور غير صالحة: يجب ألا تكون مطابقة لأي من كلمات المرور الـ {0} الأخيرة.
|
||||
invalidPasswordBlacklistedMessage=كلمة المرور غير صالحة: كلمة المرور في القائمة السوداء.
|
||||
invalidPasswordGenericMessage=كلمة المرور غير صالحة: كلمة المرور الجديدة لا تتطابق مع سياسات كلمة المرور.
|
||||
|
||||
ldapErrorEditModeMandatory=وضع التحرير إلزامي
|
||||
ldapErrorInvalidCustomFilter=لا يبدأ عامل تصفية LDAP المخصص بـ "(" أو لا ينتهي بـ ")".
|
||||
ldapErrorConnectionTimeoutNotNumber=وقت مهلة الاتصال يجب أن يكون رقمًا
|
||||
ldapErrorReadTimeoutNotNumber=وقت مهلة القراءة يجب أن يكون رقمًا
|
||||
ldapErrorMissingClientId=يجب توفير معرف العميل Client ID في التكوين عند عدم استخدام تعيين أدوار المنظومة.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=لا يمكن الحفاظ على خاصية وراثة المجموعة واستخدام نوع عضوية UID في نفس الوقت.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=لا يمكن تعيين خاصية "للكتابة فقط" عندما لا يكون وضع مزود LDAP قابل للكتابة.
|
||||
ldapErrorCantWriteOnlyAndReadOnly=لا يمكن تعيين خاصية "للكتابة فقط" وخاصية "للقراءة فقط" في نفس الوقت
|
||||
ldapErrorCantEnableStartTlsAndConnectionPooling=لا يمكن تفعيل ميزة StartTLS وميزة "مشاركة الاتصالات" في نفس الوقت.
|
||||
ldapErrorCantEnableUnsyncedAndImportOff=لا يمكن تعطيل استيراد المستخدمين عندما يكون وضع مزود LDAP غير متزامن.
|
||||
ldapErrorMissingGroupsPathGroup=مسار المجموعة غير موجود - يرجى إنشاء المجموعة على المسار المحدد أولاً
|
||||
ldapErrorValidatePasswordPolicyAvailableForWritableOnly=التحقق من سياسة كلمة المرور ينطبق فقط مع وضع التحرير القابل للكتابة
|
||||
|
||||
clientRedirectURIsFragmentError=عناوين موقع إعادة التوجيه يجب ألا يحتوي على ملحق
|
||||
clientRootURLFragmentError=عنوان الموقع الجذر يجب ألا يحتوي على ملحق
|
||||
clientRootURLIllegalSchemeError=عنوان الموقع الجذر يستخدم بادئة مخالفة
|
||||
clientBaseURLIllegalSchemeError=عنوان الموقع الأساس يستخدم بادئة مخالفة
|
||||
backchannelLogoutUrlIllegalSchemeError=عنوان الموقع لتسجيل الخروج عن طريق القناة الخلفية يستخدم بادئة مخالفة
|
||||
clientRedirectURIsIllegalSchemeError=عنوان موقع إعادة التوجيه يستخدم بادئة مخالفة
|
||||
clientBaseURLInvalid=عنوان الموقع الأساس غير صالح
|
||||
clientRootURLInvalid=عنوان الموقع الجذر غير صالح
|
||||
clientRedirectURIsInvalid=عنوان موقع إعادة التوجيه غير صالح
|
||||
backchannelLogoutUrlIsInvalid=عنوان الموقع لتسجيل الخروج عن طريق القناة الخلفية غير صالح
|
||||
|
||||
pairwiseMalformedClientRedirectURI=عنوان موقع إعادة التوجيه الخاص بالعميل غير صالح.
|
||||
pairwiseClientRedirectURIsMissingHost=عناوين موقع إعادة التوجيه الخاصة بالعميل يجب أن تتكون من جزئية مضيف صالحة.
|
||||
pairwiseClientRedirectURIsMultipleHosts=من دون إعداد عنوان موقع لمعرف القطاع، عناوين موقع إعادة التوجيه الخاصة بالعميل يجب ألا تتكون من عدة جزئيات مضيف.
|
||||
pairwiseMalformedSectorIdentifierURI=عنوان الموقع لمعرف القطاع معطوب.
|
||||
pairwiseFailedToGetRedirectURIs=فشل في الحصول على عناوين موقع إعادة التوجيه من عنوان الموقع لمعرف القطاع.
|
||||
pairwiseRedirectURIsMismatch=لا تتطابق عناوين موقع إعادة التوجيه الخاصة بالعميل مع عناوين موقع إعادة التوجيه التي تم جلبها من عنوان الموقع لمعرف القطاع
|
||||
|
||||
duplicatedJwksSettings=لا يمكن تفعيل المفتاح "استخدام JWKS" والمفتاح "استخدام عنوان موقع JWKS" في نفس الوقت.
|
||||
|
||||
error-invalid-value=قيمة غير صالحة.
|
||||
error-invalid-blank=يرجى تحديد قيمة.
|
||||
error-empty=يرجى تحديد قيمة.
|
||||
error-invalid-length=الطول يجب أن يكون بين {1} و {2}.
|
||||
error-invalid-length-too-short=الطول يجب ألا يقل عن {1}.
|
||||
error-invalid-length-too-long=الطول يجب ألا يزيد عن {2}.
|
||||
error-invalid-email=بريد إلكتروني غير صالح.
|
||||
error-invalid-number=رقم غير صالح.
|
||||
error-number-out-of-range=الرقم يجب أن يكون بين {1} و {2}.
|
||||
error-number-out-of-range-too-small=الرقم يجب ألا تقل قيمته عن {1}.
|
||||
error-number-out-of-range-too-big=الرقم يجب ألا تزيد قيمته عن {2}.
|
||||
error-pattern-no-match=قيمة غير صالحة.
|
||||
error-invalid-uri=عنوان موقع غير صالح.
|
||||
error-invalid-uri-scheme=بادئة عنوان موقع غير صالحة.
|
||||
error-invalid-uri-fragment=ملحق عنوان موقع غير صالح.
|
||||
error-user-attribute-required=يرجى تحديد هذا الحقل.
|
||||
error-invalid-date=تاريخ غير صالح.
|
||||
error-user-attribute-read-only=هذا الحقل للقراءة فقط.
|
||||
error-username-invalid-character=القيمة تحتوي على حرف غير صالح.
|
||||
error-person-name-invalid-character=القيمة تحتوي على حرف غير صالح.
|
||||
@@ -1,8 +1,67 @@
|
||||
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.
|
||||
invalidPasswordMinLengthMessage=La contrasenya no és vàlida: la longitud mínima és {0}.
|
||||
invalidPasswordMaxLengthMessage=La contrasenya no és vàlida: la longitud màxima és {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} lletres minúscules.
|
||||
invalidPasswordMinDigitsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} caràcters numèrics.
|
||||
invalidPasswordMinUpperCaseCharsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} lletres majúscules.
|
||||
invalidPasswordMinSpecialCharsMessage=La contrasenya no és vàlida: ha de contenir almenys {0} caràcters especials.
|
||||
invalidPasswordNotUsernameMessage=La contrasenya no és vàlida: no pot ser igual al nom d''usuari.
|
||||
invalidPasswordNotEmailMessage=La contrasenya no és vàlida: no pot ser igual al correu electrònic.
|
||||
invalidPasswordRegexPatternMessage=La contrasenya no és vàlida: no coincideix amb el patró de l''expressió regular.
|
||||
invalidPasswordHistoryMessage=La contrasenya no és vàlida: no pot ser igual a les últimes {0} contrasenyes.
|
||||
invalidPasswordBlacklistedMessage=La contrasenya no és vàlida: està en una llista negra.
|
||||
invalidPasswordGenericMessage=La contrasenya no és vàlida: la contrasenya nova no coincideix amb les polítiques de contrasenya.
|
||||
|
||||
ldapErrorEditModeMandatory=El mode d''edició és requerit
|
||||
ldapErrorInvalidCustomFilter=El filtre d''LDAP personalitzat configurat no comença per «(» o no acaba amb «)».
|
||||
ldapErrorConnectionTimeoutNotNumber=El temps d''espera de la connexió ha de ser un número
|
||||
ldapErrorReadTimeoutNotNumber=El temps d''espera de la lectura ha de ser un número
|
||||
ldapErrorMissingClientId=S''ha de proveir un ID de client a la configuració quan el mapatge de rols del domini no està en ús.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=No és possible preservar l''herència de grups i alhora utilitzar el tipus de pertinença UID.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=No es pot establir el mode només escriptura quan el mode del proveïdor LDAP no és «WRITABLE».
|
||||
ldapErrorCantWriteOnlyAndReadOnly=No es pot establir només escriptura i només lectura alhora
|
||||
ldapErrorCantEnableStartTlsAndConnectionPooling=No es pot habilitar el StartTLS i la disponibilitat de connexions alhora.
|
||||
ldapErrorCantEnableUnsyncedAndImportOff=No es pot inhabilitar la importació d''usuaris quan el mode del proveïdor LDAP és «UNSYNCED».
|
||||
ldapErrorMissingGroupsPathGroup=El grup de camins de grup no existeix. Creeu el grup al camí especificat primer
|
||||
ldapErrorValidatePasswordPolicyAvailableForWritableOnly=La política de validació de contrasenyes només és aplicable amb el mode d''edició «WRITABLE»
|
||||
|
||||
clientRedirectURIsFragmentError=Els URI de redirecció no han de contenir un fragment d''URL
|
||||
clientRootURLFragmentError=L''URL arrel no ha de contenir un fragment d''URL
|
||||
clientRootURLIllegalSchemeError=L''URL arrel utilitza un esquema il·legal
|
||||
clientBaseURLIllegalSchemeError=L''URL base utilitza un esquema il·legal
|
||||
backchannelLogoutUrlIllegalSchemeError=L''URL de desconnexió del canal posterior utilitza un esquema il·legal
|
||||
clientRedirectURIsIllegalSchemeError=Un URI de redirecció utilitza un esquema il·legal
|
||||
clientBaseURLInvalid=L''URL base no és un URL vàlid
|
||||
clientRootURLInvalid=L''URL arrel no és un URL vàlid
|
||||
clientRedirectURIsInvalid=Un URI de redirecció no és un URI vàlid
|
||||
backchannelLogoutUrlIsInvalid=L''URL de desconnexió del canal posterior no és un URL vàlid
|
||||
|
||||
|
||||
pairwiseMalformedClientRedirectURI=El client conté un URI de redirecció no vàlid.
|
||||
pairwiseClientRedirectURIsMissingHost=Els URI de redirecció de client ha de contenir un component de servidor vàlid.
|
||||
pairwiseClientRedirectURIsMultipleHosts=Sense un URI d''identificador de sector, els URI de redirecció de client no poden contenir múltiples components de servidor.
|
||||
pairwiseMalformedSectorIdentifierURI=L''URI d''identificador de sector està mal formatat.
|
||||
pairwiseFailedToGetRedirectURIs=No s''ha pogut obtenir cap URI de redirecció des de l''URI d''identificador de sector.
|
||||
pairwiseRedirectURIsMismatch=Els URI de redirecció de client no concorden amb els URI de redirecció obtinguts des de l''URI d''identificador de sector.
|
||||
|
||||
duplicatedJwksSettings=Els commutadors «Utilitza JWKS» i «Utilitza un URL JWKS» no poden estar habilitats al mateix temps.
|
||||
|
||||
error-invalid-value=El valor no és vàlid.
|
||||
error-invalid-blank=Especifiqueu un valor.
|
||||
error-empty=Especifiqueu un valor.
|
||||
error-invalid-length=L''atribut {0} ha de tindre una llargària d''entre {1} i {2}.
|
||||
error-invalid-length-too-short=L''atribut {0} ha de tindre una llargària mínima de {1}.
|
||||
error-invalid-length-too-long=L''atribut {0} ha de tindre una llargària màxima de {2}.
|
||||
error-invalid-email=L''adreça de correu electrònic no és vàlida.
|
||||
error-invalid-number=El nombre no és vàlid.
|
||||
error-number-out-of-range=L''atribut {0} ha de ser un número entre {1} i {2}.
|
||||
error-number-out-of-range-too-small=L''atribut {0} ha de tindre valor mínim de {1}.
|
||||
error-number-out-of-range-too-big=L''atribut {0} ha de tindre valor màxim de {2}.
|
||||
error-pattern-no-match=El valor no és vàlid.
|
||||
error-invalid-uri=L''URL no és vàlid.
|
||||
error-invalid-uri-scheme=L''esquema d''URL no és vàlid.
|
||||
error-invalid-uri-fragment=El fragment d''URL no és vàlid.
|
||||
error-user-attribute-required=Especifiqueu l''atribut {0}.
|
||||
error-invalid-date=L''atribut {0} és una data invàlida.
|
||||
error-user-attribute-read-only=L''atribut {0} és només de lectura.
|
||||
error-username-invalid-character={0} conté un caràcter no vàlid.
|
||||
error-person-name-invalid-character={0} conté un caràcter no vàlid.
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
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.
|
||||
invalidPasswordMinLengthMessage=Ungültiges Passwort: muss mindestens {0} Zeichen beinhalten.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ungültiges Passwort: muss mindestens {0} Kleinbuchstaben beinhalten.
|
||||
invalidPasswordMinDigitsMessage=Ungültiges Passwort: muss mindestens {0} Ziffern beinhalten.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ungültiges Passwort: muss mindestens {0} Großbuchstaben beinhalten.
|
||||
invalidPasswordMinSpecialCharsMessage=Ungültiges Passwort: muss mindestens {0} Sonderzeichen beinhalten.
|
||||
invalidPasswordNotUsernameMessage=Ungültiges Passwort: darf nicht identisch mit dem Benutzernamen sein.
|
||||
invalidPasswordNotEmailMessage=Ungültiges Passwort: darf nicht identisch mit der E-Mail-Adresse sein.
|
||||
invalidPasswordRegexPatternMessage=Ungültiges Passwort: stimmt nicht mit Regex-Muster überein.
|
||||
invalidPasswordHistoryMessage=Ungültiges Passwort: darf nicht identisch mit einem der letzten {0} Passwörter sein.
|
||||
invalidPasswordBlacklistedMessage=Ungültiges Passwort: Passwort ist zu bekannt und auf der schwarzen Liste.
|
||||
invalidPasswordGenericMessage=Ungültiges Passwort: neues Passwort erfüllt 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
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
error-invalid-date=Το πεδίο {0} δεν αποτελεί έγκυρη ημερομηνία.
|
||||
error-invalid-length-too-long=Το πεδίο {0} μπορεί να περιέχει το πολύ {2} χαρακτήρες .
|
||||
error-person-name-invalid-character=Το {0} περιέχει ένα μη έγκυρο χαρακτήρα.
|
||||
error-username-invalid-character=Το {0} περιέχει ένα μη έγκυρο χαρακτήρα.
|
||||
error-user-attribute-read-only=Το πεδίο {0} είναι για ανάγνωση μόνο.
|
||||
error-user-attribute-required=Παρακαλώ ορίστε το πεδίο {0}.
|
||||
error-invalid-uri-fragment=Μη έγκυρο κομμάτι URL.
|
||||
error-invalid-uri-scheme=Μη έγκυρο σχήμα URL.
|
||||
error-invalid-uri=Μη έγκυρο URL.
|
||||
error-pattern-no-match=Μη έγκυρη τιμή.
|
||||
error-number-out-of-range-too-big=Το πεδίο {0} μπορεί να έχει μέγιστη τιμή {2}.
|
||||
error-number-out-of-range-too-small=Το πεδίο {0} μπορεί να έχει ελάχιστη τιμή {1}.
|
||||
error-number-out-of-range=Το πεδίο {0} πρέπει να είναι ένας αριθμός μεταξύ {1} και {2}.
|
||||
error-invalid-number=Μη έγκυρος αριθμός.
|
||||
error-invalid-email=Μη έγκυρη διεύθυνση email.
|
||||
error-invalid-length-too-short=Το πεδίο {0} πρέπει να περιέχει τουλάχιστον {1} χαρακτήρα.
|
||||
error-invalid-length=Το πεδίο {0} μπορεί να περιέχει από {1} μέχρι {2} χαρακτήρες.
|
||||
error-empty=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-blank=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-value=Μη έγκυρη τιμή.
|
||||
duplicatedJwksSettings=Ο διακόπτης "Χρήση JWKS" και ο διακόπτης "Χρήση URL JWKS" δε μπορεί να είναι ενεργοί ταυτόχρονα.
|
||||
pairwiseRedirectURIsMismatch=Τα URI αναδρομολόγησης του πελάτη δεν ταιριάζουν με αυτά από το URI Αναγνωριστικού Τομέα.
|
||||
pairwiseFailedToGetRedirectURIs=Αποτυχία λήψης των URI αναδρομολόγησης από το URI Αναγνωριστικού Τομέα.
|
||||
pairwiseMalformedSectorIdentifierURI=Κακοσχηματισμένο URI Αναγνωριστικό Τομέα.
|
||||
pairwiseClientRedirectURIsMultipleHosts=Όταν δεν ορίζεται ένα URI Αναγνώρισης Τομέα, τα URI αναδρομολόγησης του πελάτη δε πρέπει να περιέχουν πολλαπλά στοιχεία διακομιστών.
|
||||
pairwiseClientRedirectURIsMissingHost=Τα URI αναδρομολόγησης του πελάτη πρέπει να περιέχουν ένα έγκυρο στοιχείο διακομιστή.
|
||||
|
||||
|
||||
pairwiseMalformedClientRedirectURI=Ο πελάτης περιείχε ένα μη έγκυρο URI αναδρομολόγησης.
|
||||
backchannelLogoutUrlIsInvalid=Ένα URL ανατροφοδότησης εξόδου δεν είναι έγκυρο URL
|
||||
clientRedirectURIsInvalid=Ένα URI αναδρομολόγησης δεν είναι έγκυρο URI
|
||||
clientRootURLInvalid=Το ριζικό URL δεν είναι ένα έγκυρο URL
|
||||
clientBaseURLInvalid=Το βασικό URL δεν είναι ένα έγκυρο URL
|
||||
clientRedirectURIsIllegalSchemeError=Ένα URI αναδρομολόγησης έχει ένα μη επιτρεπόμενο σχήμα
|
||||
backchannelLogoutUrlIllegalSchemeError=Το URL ανατροφοδότησης εξόδου δεν έχει ένα επιτρεπόμενο σχήμα
|
||||
clientRootURLIllegalSchemeError=Το ριζικό URL δεν έχει ένα επιτρεπόμενο σχήμα
|
||||
clientBaseURLIllegalSchemeError=Το βασικό URL δεν έχει ένα επιτρεπόμενο σχήμα
|
||||
clientRootURLFragmentError=Το ριζικό URL δεν πρέπει να περιέχει ένα μέρος από URL
|
||||
clientRedirectURIsFragmentError=Τα URI αναδρομολόγησης δεν πρέπει να περιέχουν άλλα μέρη URI
|
||||
ldapErrorValidatePasswordPolicyAvailableForWritableOnly=Η Πολιτική Επικύρωσης Κωδικών πρόσβασης είναι εφαρμόσιμη μόνο με την ΕΓΓΡΑΨΙΜΗ λειτουργία
|
||||
ldapErrorMissingGroupsPathGroup=Δεν υπάρχει η ομάδα διαδρομών Ομάδων - παρακαλώ δημιουργήστε πρώτα την ομάδα στην ορισμένη διαδρομή
|
||||
ldapErrorCantEnableUnsyncedAndImportOff=Δεν είναι δυνατή η Εισαγωγή χρηστών όταν ο πάροχος LDAP είναι σε λειτουργία ΑΣΥΓΧΡΟΝΟΣ
|
||||
ldapErrorCantEnableStartTlsAndConnectionPooling=Δεν είναι δυνατή η ταυτόχρονη ενεργοποίηση StartTLS και ομαδοποίησης συνδέσεων.
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Αδυναμία ταυτόχρονου ορισμού εγγραφής-μόνο και ανάγνωσης-μόνο
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Αδυναμία ορισμού σε εγγραφή-μόνο, όταν ο πάροχος LDAP δεν είναι σε ΕΓΓΡΑΨΙΜΗ λειτουργία
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Δεν είναι δυνατή η ταυτόχρονη διατήρηση της κληρονομιάς ομάδας και χρήση του τύπου μελών UID.
|
||||
ldapErrorMissingClientId=Το Client ID πρέπει να παρέχεται στις ρυθμίσεις όταν δε χρησιμοποιείται η Αντιστοίχηση Ρόλων Τομέα.
|
||||
ldapErrorReadTimeoutNotNumber=Η Λήξη Χρόνου Ανάγνωσης πρέπει να είναι αριθμός
|
||||
ldapErrorConnectionTimeoutNotNumber=Η Λήξη Χρόνου Σύνδεσης πρέπει να είναι αριθμός
|
||||
ldapErrorInvalidCustomFilter=Το προσαρμοσμένο φίλτρο LDAP που ορίστηκε δεν ξεκινά με "(" ή δεν τελειώνει με ")".
|
||||
ldapErrorEditModeMandatory=Η Λειτουργία Επεξεργασίας είναι υποχρεωτική
|
||||
invalidPasswordGenericMessage=Μη έγκυρος κωδικός πρόσβασης: ο νέος κωδικός δε συμφωνεί με τις πολιτικές κωδικών.
|
||||
invalidPasswordBlacklistedMessage=Μη έγκυρος κωδικός πρόσβασης: ο κωδικός είναι απαγορευμένος.
|
||||
invalidPasswordHistoryMessage=Μη έγκυρος κωδικός πρόσβασης: δεν επιτρέπεται να είναι ο ίδιος με τους τελευταίους {0} κωδικούς.
|
||||
invalidPasswordRegexPatternMessage=Μη έγκυρος κωδικός πρόσβασης: δεν ταιριάζει με τα μοτίβα regex.
|
||||
invalidPasswordNotEmailMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίσο με το email.
|
||||
invalidPasswordNotUsernameMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίσο με το όνομα χρήστη.
|
||||
invalidPasswordMinSpecialCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} σύμβολα.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} κεφαλαίους χαρακτήρες.
|
||||
invalidPasswordMinDigitsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ψηφία.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} πεζούς χαρακτήρες.
|
||||
invalidPasswordMaxLengthMessage=Μη έγκυρος κωδικός πρόσβασης: το ανώτατο όριο επιτρεπόμενων χαρακτήρων είναι {0}..
|
||||
invalidPasswordMinLengthMessage=Μη έγκυρος κωδικός πρόσβασης: το κατώτατο όριο επιτρεπόμενων χαρακτήρων είναι {0}.
|
||||
@@ -1,8 +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.
|
||||
invalidPasswordMinLengthMessage=Contraseña incorrecta: longitud mínima {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Contraseña incorrecta: debe contener al menos {0} letras minúsculas.
|
||||
invalidPasswordMinDigitsMessage=Contraseña incorrecta: debe contener al menos {0} caracteres numéricos.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Contraseña incorrecta: debe contener al menos {0} letras mayúsculas.
|
||||
invalidPasswordMinSpecialCharsMessage=Contraseña incorrecta: debe contener al menos {0} caracteres especiales.
|
||||
invalidPasswordNotUsernameMessage=Contraseña incorrecta: no puede ser igual al nombre de usuario.
|
||||
invalidPasswordRegexPatternMessage=Contraseña incorrecta: no cumple la expresión regular.
|
||||
invalidPasswordHistoryMessage=Contraseña incorrecta: no puede ser igual a ninguna de las últimas {0} contraseñas.
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
invalidPasswordMinLengthMessage=رمز عبور نامعتبر: حداقل طول {0}.
|
||||
invalidPasswordMaxLengthMessage=رمز عبور نامعتبر: حداکثر طول {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} نویسه کوچک باشد.
|
||||
invalidPasswordMinDigitsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} رقم عددی باشد.
|
||||
invalidPasswordMinUpperCaseCharsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} نویسه بزرگ باشد.
|
||||
invalidPasswordMinSpecialCharsMessage=رمز عبور نامعتبر: باید حداقل دارای {0} کاراکتر خاص باشد.
|
||||
invalidPasswordNotUsernameMessage=رمز عبور نامعتبر: نباید برابر با نام کاربری باشد.
|
||||
invalidPasswordNotEmailMessage=رمز عبور نامعتبر: نباید برابر با ایمیل باشد.
|
||||
invalidPasswordRegexPatternMessage=رمز عبور نامعتبر: با الگو(های) regex مطابقت ندارد.
|
||||
invalidPasswordHistoryMessage=گذرواژه نامعتبر: نباید با هیچ یک از رمزهای عبور آخر {0} برابر باشد.
|
||||
invalidPasswordBlacklistedMessage=رمز عبور نامعتبر: رمز عبور در لیست سیاه قرار گرفته است.
|
||||
invalidPasswordGenericMessage=رمز عبور نامعتبر: رمز عبور جدید با سیاست های رمز عبور مطابقت ندارد.
|
||||
|
||||
ldapErrorEditModeMandatory=حالت ویرایش اجباری است
|
||||
ldapErrorInvalidCustomFilter=فیلتر LDAP پیکربندی شده سفارشی با "(" شروع نمی شود یا با ")" ختم نمی شود.
|
||||
ldapErrorConnectionTimeoutNotNumber=زمان تایم اوت اتصال باید یک عدد باشد.
|
||||
ldapErrorReadTimeoutNotNumber=زمان خواندن باید یک عدد باشد
|
||||
ldapErrorMissingClientId=وقتی از Realm Roles Mapping استفاده نمی شود، شناسه مشتری باید در پیکربندی ارائه شود.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=امکان حفظ وراثت گروهی و استفاده از نوع عضویت UID با هم وجود ندارد.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=زمانی که حالت ارائه دهنده LDAP قابل نوشتن نباشد، نوشتن را نمی توان تنظیم کرد
|
||||
ldapErrorCantWriteOnlyAndReadOnly=نمی توان فقط نوشتن و فقط خواندن را با هم تنظیم کرد
|
||||
ldapErrorCantEnableStartTlsAndConnectionPooling=نمی توان هم StartTLS و هم ادغام اتصال را فعال کرد.
|
||||
ldapErrorCantEnableUnsyncedAndImportOff=وقتی حالت ارائهدهنده LDAP غیر همگامسازی است، نمیتوان وارد کردن کاربران را غیرفعال کرد
|
||||
ldapErrorMissingGroupsPathGroup=گروه مسیر گروه وجود ندارد - لطفاً ابتدا گروه را در مسیر مشخص شده ایجاد کنید
|
||||
ldapErrorValidatePasswordPolicyAvailableForWritableOnly=سیاست اعتبار گذرواژه فقط با حالت ویرایش WRITABLE قابل اجرا است
|
||||
|
||||
clientRedirectURIsFragmentError=URI های تغییر مسیر نباید حاوی قطعه URI باشند
|
||||
clientRootURLFragmentError=URL ریشه نباید حاوی یک قطعه URL باشد
|
||||
clientRootURLIllegalSchemeError=URL ریشه از یک طرح غیرقانونی استفاده می کند
|
||||
clientBaseURLIllegalSchemeError=URL پایه از یک طرح غیرقانونی استفاده می کند
|
||||
backchannelLogoutUrlIllegalSchemeError=URL خروج از بک کانال از یک طرح غیرقانونی استفاده می کند
|
||||
clientRedirectURIsIllegalSchemeError=یک URI تغییر مسیر از یک طرح غیرقانونی استفاده می کند
|
||||
clientBaseURLInvalid=URL پایه یک URL معتبر نیست
|
||||
clientRootURLInvalid=URL ریشه یک URL معتبر نیست
|
||||
clientRedirectURIsInvalid=URI تغییر مسیر یک URI معتبر نیست
|
||||
backchannelLogoutUrlIsInvalid=URL خروج از بک کانال یک URL معتبر نیست
|
||||
|
||||
|
||||
pairwiseMalformedClientRedirectURI=مشتری دارای یک URI تغییر مسیر نامعتبر است.
|
||||
pairwiseClientRedirectURIsMissingHost=URIهای تغییر مسیر مشتری باید شامل یک مؤلفه میزبان معتبر باشد.
|
||||
pairwiseClientRedirectURIsMultipleHosts=بدون یک URI شناسه بخش پیکربندی شده، URI های تغییر مسیر مشتری نباید شامل چندین مؤلفه میزبان باشد.
|
||||
pairwiseMalformedSectorIdentifierURI=URI شناسه بخش نادرست.
|
||||
pairwiseFailedToGetRedirectURIs=URIهای تغییر مسیر از URI شناسه بخش دریافت نشد.
|
||||
pairwiseRedirectURIsMismatch=CURIهای تغییر مسیر مستقیم با URIهای تغییر مسیر که از URI شناسه بخش واکشی شده اند مطابقت ندارد.
|
||||
|
||||
duplicatedJwksSettings=سوئیچ "Use JWKS" و سوییچ "Use JWKS URL" نمی توانند همزمان روشن باشند.
|
||||
|
||||
error-invalid-value=مقدار نامعتبر است.
|
||||
error-invalid-blank=لطفا مقدار را مشخص کنید
|
||||
error-empty=لطفا مقدار را مشخص کنید
|
||||
error-invalid-length=مشخصه {0} باید طولی بین {1} و {2} داشته باشد.
|
||||
error-invalid-length-too-short=مشخصه {0} باید حداقل طول {1} داشته باشد.
|
||||
error-invalid-length-too-long=مشخصه {0} باید حداکثر طول {2} داشته باشد.
|
||||
error-invalid-email=آدرس ایمیل نامعتبر است.
|
||||
error-invalid-number=عدد نامعتبر.
|
||||
error-number-out-of-range=مشخصه {0} باید عددی بین {1} و {2} باشد.
|
||||
error-number-out-of-range-too-small=مشخصه {0} باید حداقل مقدار {1} را داشته باشد.
|
||||
error-number-out-of-range-too-big=ویژگی {0} باید حداکثر مقدار {2} را داشته باشد.
|
||||
error-pattern-no-match=مقدار نامعتبر است.
|
||||
error-invalid-uri=URL نامعتبر است.
|
||||
error-invalid-uri-scheme=شمای URL نامعتبر است.
|
||||
error-invalid-uri-fragment=تکه URL نامعتبر است.
|
||||
error-user-attribute-required=لطفاً ویژگی {0} را مشخص کنید.
|
||||
error-invalid-date=مشخصه {0} تاریخ نامعتبر است.
|
||||
error-user-attribute-read-only=مشخصه {0} فقط قابل خواندن است.
|
||||
error-username-invalid-character={0} حاوی نویسه نامعتبر است.
|
||||
error-person-name-invalid-character={0} حاوی نویسه نامعتبر است.
|
||||
@@ -1 +0,0 @@
|
||||
# encoding: UTF-8
|
||||
@@ -2,7 +2,7 @@ invalidPasswordMinLengthMessage=Mot de passe invalide : longueur minimale requis
|
||||
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.
|
||||
invalidPasswordMinSpecialCharsMessage=Mot de passe invalide : doit contenir au moins {0} caractère(s) spéciaux.
|
||||
invalidPasswordNotUsernameMessage=Mot de passe invalide : ne doit pas être 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.
|
||||
invalidPasswordHistoryMessage=Mot de passe invalide : ne doit pas être égal aux {0} derniers mot de passe.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=無効なパスワード: 最小{0}の長さが必要です。
|
||||
invalidPasswordMinLowerCaseCharsMessage=無効なパスワード: 少なくとも{0}文字の小文字を含む必要があります。
|
||||
invalidPasswordMinDigitsMessage=無効なパスワード: 少なくとも{0}文字の数字を含む必要があります。
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# 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į.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
@@ -1,14 +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.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: må inneholde minst {0} små bokstaver.
|
||||
invalidPasswordMinDigitsMessage=Ugyldig passord: må inneholde minst {0} sifre.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Ugyldig passord: må inneholde minst {0} store bokstaver.
|
||||
invalidPasswordMinSpecialCharsMessage=Ugyldig passord: må inneholde minst {0} spesialtegn.
|
||||
invalidPasswordNotUsernameMessage=Ugyldig passord: kan ikke være likt brukernavn.
|
||||
invalidPasswordRegexPatternMessage=Ugyldig passord: tilfredsstiller ikke kravene for passord-mønster.
|
||||
invalidPasswordHistoryMessage=Ugyldig passord: kan ikke være likt noen av de {0} foregående 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
|
||||
ldapErrorMissingClientId=KlientID må være tilgjengelig i config når sikkerhetsdomenerollemapping ikke brukes.
|
||||
ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType=Ikke mulig å bevare gruppearv og samtidig bruke UID medlemskapstype.
|
||||
ldapErrorCantWriteOnlyForReadOnlyLdap=Kan ikke sette write-only når LDAP leverandør-modus ikke er WRITABLE
|
||||
ldapErrorCantWriteOnlyAndReadOnly=Kan ikke sette både write-only og read-only
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#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.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=Некорректный пароль: длина пароля должна быть не менее {0} символов(а).
|
||||
invalidPasswordMinDigitsMessage=Некорректный пароль: должен содержать не менее {0} цифр(ы).
|
||||
invalidPasswordMinLowerCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в нижнем регистре.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# encoding: utf-8
|
||||
invalidPasswordMinLengthMessage=无效的密码:最短长度 {0}.
|
||||
invalidPasswordMinLowerCaseCharsMessage=无效的密码:至少包含 {0} 小写字母
|
||||
invalidPasswordMinDigitsMessage=无效的密码:至少包含 {0} 个数字
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,569 +0,0 @@
|
||||
/*
|
||||
* 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();
|
||||
});
|
||||
};
|
||||
})
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,218 +0,0 @@
|
||||
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: {}
|
||||
}
|
||||
};
|
||||
}]);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,625 +0,0 @@
|
||||
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;
|
||||
}
|
||||
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,48 +0,0 @@
|
||||
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();
|
||||
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,587 +0,0 @@
|
||||
'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
|
||||
}
|
||||
});
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,83 +0,0 @@
|
||||
<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>
|
||||
@@ -1,72 +0,0 @@
|
||||
<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>
|
||||
@@ -1,52 +0,0 @@
|
||||
<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>
|
||||
@@ -1,40 +0,0 @@
|
||||
<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>
|
||||
@@ -1,39 +0,0 @@
|
||||
<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>
|
||||
@@ -1,40 +0,0 @@
|
||||
<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>
|
||||
@@ -1,39 +0,0 @@
|
||||
<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>
|
||||
@@ -1,39 +0,0 @@
|
||||
<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>
|
||||
@@ -1,35 +0,0 @@
|
||||
<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>
|
||||
-131
@@ -1,131 +0,0 @@
|
||||
<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>
|
||||
-134
@@ -1,134 +0,0 @@
|
||||
<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>
|
||||
-118
@@ -1,118 +0,0 @@
|
||||
<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>
|
||||
-123
@@ -1,123 +0,0 @@
|
||||
<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>
|
||||
-93
@@ -1,93 +0,0 @@
|
||||
<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>
|
||||
-126
@@ -1,126 +0,0 @@
|
||||
<!--
|
||||
~ 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>
|
||||
-126
@@ -1,126 +0,0 @@
|
||||
<!--
|
||||
~ * 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>
|
||||
-68
@@ -1,68 +0,0 @@
|
||||
<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>
|
||||
-100
@@ -1,100 +0,0 @@
|
||||
<!--
|
||||
~ 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>
|
||||
-169
@@ -1,169 +0,0 @@
|
||||
<!--
|
||||
~ 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>
|
||||
-119
@@ -1,119 +0,0 @@
|
||||
<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>
|
||||
-93
@@ -1,93 +0,0 @@
|
||||
<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