From fe62b0fc4f79708e04997447259c8d23aef2fae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Ga=C5=A1par=C3=ADk?= Date: Wed, 17 May 2017 13:30:39 +0200 Subject: [PATCH 1/7] New language - Chinese (China)! Thanks to Charles Chen for forst batch of strings. Also, thanks to translators for this update (Transifex users): AivoK (et), ardanu (tr), charles.dc.chen (zh_CN), Christian.Huber (de), domoi (ru), laszlo.pentek (hu), mdavallou (es), OlgaMirsanova (ru), PauloFernandes (pt_BR), petr.gasparik (cs), wstaszewski (pl) --- .../initial-objects/200-lookup-languages.xml | 4 + .../initial-objects/210-lookup-locales.xml | 4 + .../localization/Midpoint_cs.properties | 7 +- .../localization/Midpoint_de.properties | 5 +- .../localization/Midpoint_en.properties | 3 + .../localization/Midpoint_es.properties | 105 +- .../localization/Midpoint_et.properties | 5 +- .../localization/Midpoint_hu.properties | 5 +- .../localization/Midpoint_pl.properties | 7 +- .../localization/Midpoint_pt_BR.properties | 5 +- .../localization/Midpoint_ru.properties | 5 +- .../localization/Midpoint_sk.properties | 5 +- .../localization/Midpoint_tr.properties | 5 +- .../localization/Midpoint_zh_CN.properties | 3596 +++++++++++++++++ .../resources/localization/locale.properties | 3 + .../localization/schema_hu.properties | 46 +- .../localization/schema_zh_CN.properties | 390 ++ 17 files changed, 4115 insertions(+), 85 deletions(-) create mode 100644 gui/admin-gui/src/main/resources/localization/Midpoint_zh_CN.properties create mode 100644 infra/schema/src/main/resources/localization/schema_zh_CN.properties diff --git a/gui/admin-gui/src/main/resources/initial-objects/200-lookup-languages.xml b/gui/admin-gui/src/main/resources/initial-objects/200-lookup-languages.xml index f846275dab9..080e88434a5 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/200-lookup-languages.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/200-lookup-languages.xml @@ -64,5 +64,9 @@ tr + + zh_CN + + diff --git a/gui/admin-gui/src/main/resources/initial-objects/210-lookup-locales.xml b/gui/admin-gui/src/main/resources/initial-objects/210-lookup-locales.xml index f3d0689c334..2897fd618c6 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/210-lookup-locales.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/210-lookup-locales.xml @@ -64,5 +64,9 @@ tr + + zh_CN + + diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_cs.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_cs.properties index 616737df381..d504ba2eba8 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_cs.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_cs.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Smazat pageAdminFocus.button.addToOrg=Přidat do organizace pageAdminFocus.focusDetails=Detaily pageAdminFocus.projections=Projekce +pageAdminFocus.personas=Osoby pageAdminFocus.organizations=Organizace pageAdminFocus.assignments=Přiřazení pageAdminFocus.message.couldntCreateAccountNoSchema=Nepodařilo se vytvořit projekci pro '{0}', není dostupné upravené schéma. Možný problém s konfigurací konektoru nebo spojením. Více informací najdete v logu. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situace runReportPopupContent.param.name.activation=Aktivace runReportPopupContent.param.name.organization=Organizace runReportPopupContent.param.name.role=Role +runReportPopupContent.param.name.roleOids=Role +runReportPopupContent.param.name.users=Uživatelé runReportPopupContent.param.name.stageNumber=Číslo fáze (výchozí nastavení je všechny fáze) RunReportPopupPanel.title=Konfigurace reportu před spuštěním runUntilNodeDown.error1=Správná data pro akci 'Zastavení vlákna' jsou\: Close, Suspend @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple=vybráno {0} uživatelů AssignmentCatalogPanel.assignmentsOwner=Přiřazení identity {0} MultiButtonPanel.plusIconTitle=Přidat položku do nákupního košíku MultiButtonPanel.assignmentDetailsPopupTitle=Podrobnosti přiřazení -MultiButtonPanel.detailsLink=Podrobnosti +MultiButtonPanel.detailsLink=Vlastnosti MultiButtonPanel.addToCartLink=Přidat do košíku MultiButtonPanel.alreadyAssignedIconTitle=Již přiřazeno PageAssignmentDetails.title=Podrobnosti přiřazení @@ -3482,7 +3485,7 @@ PageAuditLogViewer.eventStageLabel=Fáze události PageAuditLogViewer.eventStageShortLabel=Fáze PageAuditLogViewer.outcomeLabel=Výsledek PageAuditLogViewer.changedItem=Změněná položka -PageAuditLogViewer.valueRefTargetNamesLabel=Reference Target +PageAuditLogViewer.valueRefTargetNamesLabel=Cíl odkazu AuditLogViewerPanel.dateValidatorMessage=Položka Datum od musí být před položkou Datum do. AuditEventRecordType.timestamp=Čas AuditEventRecordType.initiatorRef=Iniciátor diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_de.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_de.properties index 8bbaef7d436..114a1782d09 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_de.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_de.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Löschen pageAdminFocus.button.addToOrg=zu Organisation hinzufügen pageAdminFocus.focusDetails=Details pageAdminFocus.projections=Prognosen +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organisationen pageAdminFocus.assignments=Aufgaben pageAdminFocus.message.couldntCreateAccountNoSchema=Erstellung der Vorschauansicht '{0}' nicht möglich, es ist kein detailliertes Schema verfügbar. Möglicherweise besteht ein Problem mit der Konnektor Konfiguration und/oder der Verbindung. Bitte Logfiles für mehre Informationen überprüfen. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situation runReportPopupContent.param.name.activation=Aktivierung runReportPopupContent.param.name.organization=Organisation runReportPopupContent.param.name.role=Rolle +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Stage number (default is to take all stages) RunReportPopupPanel.title=Report configuration before run runUntilNodeDown.error1=Compatible data for 'Thread stop action' are\: Close, Suspend @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner={0}'s assignments MultiButtonPanel.plusIconTitle=Add item to shopping cart MultiButtonPanel.assignmentDetailsPopupTitle=Assignment details -MultiButtonPanel.detailsLink=Details +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Add to cart MultiButtonPanel.alreadyAssignedIconTitle=Already assigned PageAssignmentDetails.title=Assignment details diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties index c48b6b1646f..eee4350347b 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Delete pageAdminFocus.button.addToOrg=Add to organization pageAdminFocus.focusDetails=Details pageAdminFocus.projections=Projections +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organizations pageAdminFocus.assignments=Assignments pageAdminFocus.message.couldntCreateAccountNoSchema=Couldn't create projection form for '{0}', no refined schema available. Possible problem with connector configuration and/or connection. Please check logs for more information. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situation runReportPopupContent.param.name.activation=Activation runReportPopupContent.param.name.organization=Organization runReportPopupContent.param.name.role=Role +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Stage number (default is to take all stages) RunReportPopupPanel.title=Report configuration before run runUntilNodeDown.error1=Compatible data for 'Thread stop action' are\: Close, Suspend diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_es.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_es.properties index cd41198e777..240ba63d7d9 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_es.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_es.properties @@ -1008,12 +1008,12 @@ PageAccounts.resource=Recurso PageAccounts.shadows=Shadows PageAccounts.state=Estado PageAccounts.summary=Resumen -PageAccounts.title=Shadow synchronization details +PageAccounts.title=Detalles sincronizados de sombra PageAccounts.total=Total PageAccounts.unlinked=Desvinculado PageAccounts.unmatched=No coincidente -PageAccount.title=Account '{0}' on '{1}' -pageAdmin.certification=Certification +PageAccount.title=Cuenta '{0}' on '{1}' +pageAdmin.certification=Certificación pageAdmin.certification.description=Certifications, recertifications pageAdmin.configuration=Configuración pageAdmin.configuration.description=Securidad, logging, importación @@ -1090,37 +1090,38 @@ PageAdminObjectDetails.title.newOrgType=Crear nueva organización PageAdminObjectDetails.noChangesSave=There were no changes to be saved. PageAdminObjectDetails.noChangesPreview=There are no changes to be previewed. pageAdminFocus.basic=Básico -pageAdminFocus.message.cantEditFocus=Unknown error occurred, can't edit focus object. -pageAdminFocus.message.cantNewFocus=Unknown error occurred, can't create new focus object. -pageAdminFocus.message.illegalAccountState=Illegal shadow state '{0}'. -pageAdminFocus.message.noAssignmentsAvailable=There are currently no assignments to preview. -pageAdminFocus.message.noOrgSelected=No organization was selected. -pageAdminFocus.menu.assignShadow=Assign resource +pageAdminFocus.message.cantEditFocus=Error desconocido ha ocurrido, No se puede editar objeto de enfoque. +pageAdminFocus.message.cantNewFocus=Error desconocido ha ocurrido, No se puede crear nuevo objeto de enfoque. +pageAdminFocus.message.illegalAccountState=Estado de oscuridad ilegal '{0}'. +pageAdminFocus.message.noAssignmentsAvailable=Actualmente no hay previas asignaciones. +pageAdminFocus.message.noOrgSelected=Ninguna organización fue seleccionada. +pageAdminFocus.menu.assignShadow=Asignar recursos pageAdminFocus.menu.assignRole=Asignar rol pageAdminFocus.menu.assignOrg=Asingar Unidad Org. pageAdminFocus.menu.unassign=Desasignar -pageAdminFocus.button.addShadow=Add projection +pageAdminFocus.button.addShadow=Añadir proyección pageAdminFocus.button.enable=Habilitar pageAdminFocus.button.disable=Deshabilitar pageAdminFocus.button.unlink=Desvincular pageAdminFocus.button.unlock=Desbloquear pageAdminFocus.button.delete=Eliminar -pageAdminFocus.button.addToOrg=Add to organization +pageAdminFocus.button.addToOrg=Añadir en la organización pageAdminFocus.focusDetails=Detalles -pageAdminFocus.projections=Projections -pageAdminFocus.organizations=Organizations +pageAdminFocus.projections=Proyecciones +pageAdminFocus.personas=Personas +pageAdminFocus.organizations=Organizaciones pageAdminFocus.assignments=Asignaciones -pageAdminFocus.message.couldntCreateAccountNoSchema=Couldn't create projection form for '{0}', no refined schema available. Possible problem with connector configuration and/or connection. Please check logs for more information. -pageAdminFocus.message.couldntCreateAccountNoAccountSchema=Couldn't create projection form for '{0}', no schema for default 'account' object type available. Possible problem with resource configuration. Please check logs for more information. -pageAdminFocus.message.couldntCreateAccount=Couldn't create projection form for '{0}', reason\: {1}. +pageAdminFocus.message.couldntCreateAccountNoSchema=No se pudo crear el formato proyección para '{0}', Tampoco refinar el esquema disponible. Posiblemente problema de configuración con el conectador y/o conexión. Favor chequear los registros de su servidor para más información. +pageAdminFocus.message.couldntCreateAccountNoAccountSchema=No se pudo crear el formato de proyección para '{0}', Tampoco esquematizar la cuenta por defecto por el tipo de objeto disponible. Posiblemente problema con configuración de recurso. Favor chequear los registros de su servidor para más información. +pageAdminFocus.message.couldntCreateAccount=No se pudo crear el formato de proyección por '{0}', razón\: {1}. pageAdminFocus.message.noAssignableSelected=No hay asignación seleccionada. pageAdminFocus.message.couldntAssignObject=No se pudo asignar objeto '{0}', razón\: {1}. -pageAdminFocus.message.noActivationFound=No activation found for projection '{0}'. +pageAdminFocus.message.noActivationFound=No hay activación encontrada para la proyección '{0}'. pageAdminFocus.message.noEnabledPropertyFound=No hay propiedad habilitada encontrada para la cuenta '{0}'. pageAdminFocus.message.noLockoutStatusPropertyFound=No lockout status property found for account '{0}'. pageAdminFocus.message.notLocked=Account '{0}' is not locked. pageAdminFocus.message.unlocked=Account '{0}' was marked to be unlocked. Apply by choosing 'Save'. -pageAdminFocus.message.noAccountSelected=No projection selected. +pageAdminFocus.message.noAccountSelected=No hay proyección seleccionada. pageAdminFocus.message.noAssignmentSelected=No hay asignación seleccionada. pageAdminFocus.title.selectResource=Seleccionar recurso(s) pageAdminFocus.title.selectAssignable=Seleccionar objecto(s) @@ -1509,8 +1510,8 @@ pageDebugList.dialog.title.deleteAll=Eliminar todos los objetos pageDebugList.menu.deleteAllIdentities=Eliminar todas las entidades pageDebugList.menu.deleteAllType=Eliminar todo del tipo seleccionado pageDebugList.menu.deleteSelected=Eliminar seleccionados -pageDebugList.menu.deleteShadowsOnResource=Delete all shadows on resource -pageDebugList.menu.exportShadowsOnResource=Export all shadows on resource +pageDebugList.menu.deleteShadowsOnResource=Eliminar todo lo oscuro es los recursos +pageDebugList.menu.exportShadowsOnResource=Exportar todos lo oscuro en los recursos pageDebugList.menu.exportAll=Exportar todos los objetos pageDebugList.menu.exportAllSelectedType=Exportar todo del tipo seleccionado pageDebugList.menu.exportSelected=Exportar seleccionados @@ -1522,11 +1523,11 @@ pageDebugList.message.deleteSelectedConfirm=¿Realmente quiere eliminar {0} obje pageDebugList.message.laxativeProblem=El descarte de todas las identidades operación no se ha realizado con éxito pageDebugList.message.nothingSelected=Ningún objeto ha sido seleccionado. pageDebugList.message.queryException=No se pudo crear una consulta para el nombre de subcadena, razón\: {0} -pageDebugList.message.resourceNotSelected=Resource not selected. +pageDebugList.message.resourceNotSelected=Recurso no selecionado. pageDebugList.message.singleOrgDeleteProblem=No se pudo eliminar la unidad organizativa pageDebugList.message.singleShadowDeleteProblem=No se pudo eliminar shadow pageDebugList.message.singleUserDeleteProblem=No se pudo eliminar el usuario -pageDebugList.messsage.deleteAllOfType=Deleting objects of type {0}. +pageDebugList.messsage.deleteAllOfType=Eliminar tipo de objetos {0}. pageDebugList.messsage.deleteAllResourceShadows=Do you really want to delete all shadows on resource {0}? pageDebugList.messsage.deleteAllShadowsStarted=Task which deletes all shadows on resource {0} was started. pageDebugList.name=Nombre @@ -1546,14 +1547,14 @@ pageDebugView.encrypt=Protegido por cifrado pageDebugView.message.cantSaveEmpty=No se puede guardar un xml vacío. pageDebugView.message.oidNotDefined=El oid del objeto no está definido. pageDebugView.options=Opciones -pageDebugView.reevaluateSearchFilters=Reevaluate search filters +pageDebugView.reevaluateSearchFilters=Re-evaluar filtros de búsqueda pageDebugView.saveAsRaw=Guardar en modo crudo -pageDebugView.switchToPlainText=Switch to plain text -PageDebugView.title='{0}' details +pageDebugView.switchToPlainText=Cambiar a texto sencillo +PageDebugView.title='{0}' detalles pageDebugView.validateSchema=Validar esquema -PageError403.title=Forbidden (403) -PageError404.title=Not found (404) -PageError401.title=Unauthorized (401) +PageError403.title=Prohibido (403) +PageError404.title=No encontrado (404) +PageError401.title=No autorizado (401) PageError410.title=Gone (410) PageError.button.back=Volver al panel de control PageError.message=Ocurrió error inexperado, si es necesario, por favor póngase en contacto con el administrador. @@ -1573,7 +1574,7 @@ PageImportObject.embeddedEditor=Editor embebido PageImportObject.file=Fichero PageImportObject.getObjectsFrom=Obtener objetos desde pageImportObject.message.emptyXml=No se puede guardar un xml vacío. -PageImportObject.message.help=Choose XML file for import. +PageImportObject.message.help=Escoger XML archivo para importar. pageImportObject.message.nullFile=Fichero subido es nulo. PageImportObject.title=Importar objetos PageInternals.button.changeTime=Cambiar tiempo @@ -1694,10 +1695,10 @@ PageOrgUnit.title.approvers=Aprobadores PageOrgUnit.title.assignments=Asignaciones PageOrgUnit.title.authorizations=Autorizaciones PageOrgUnit.title.basic=Básico -PageOrgUnit.title.exclusions=Exclusions +PageOrgUnit.title.exclusions=Exclusiones PageOrgUnit.title.inducements=Inducements PageOrgUnit.title=Nueva Unid. Org. -PageOrgUnit.title.parentOrgUnit=Parent(s) +PageOrgUnit.title.parentOrgUnit=Padre(s) pageProcessInstance.button.back=Atrás pageProcessInstances.active=Actualmente activo pageProcessInstances.before=después @@ -1719,8 +1720,8 @@ pageProcessInstances.message.noStoppableItemSelected=No process instance that co pageProcessInstances.message.noItemSelected=No se ha seleccionado instancia de proceso. pageProcessInstances.notYet=no aún PageProcessInstancesAll.title=All approval requests -PageProcessInstancesRequestedBy.title=My approval requests -PageProcessInstancesRequestedFor.title=Approval requests about me +PageProcessInstancesRequestedBy.title=Mis solicitudes de aprobación +PageProcessInstancesRequestedFor.title=Solicitudes de aprobación acerca de mi PageReport.basic=Configuración PageReport.fullXml=XML Completo PageReport.jasperTemplate=Plantilla Jasper @@ -1743,7 +1744,7 @@ PageReports.search.showSubreports=Mostrar subinformes PageReports.table.description=Descripción PageReports.table.name=Nombre PageReports.title.auditPopup=Parámetros de informe de Auditoría -PageReports.title=Available reports +PageReports.title=Reportes disponibles PageReports.title.reconciliationPopup=Parámetros de informe de Reconciliación PageReports.title.userPopup=Parámetros de informe de Usuarios PageReport.title=Configración de Informe @@ -1752,7 +1753,7 @@ PageResource.resource.source=Fuente PageResource.resource.target=Objetivo PageResource.resource.sourceAndTarget=Source and Target PageResource.resource.noMappings=No mappings -PageResource.resource.sync=Synchronization defined +PageResource.resource.sync=Sincronización definida PageResource.resource.up=Resource is UP PageResource.resource.down=Resource is DOWN PageResource.resource.broken=Resource is BROKEN @@ -1804,7 +1805,7 @@ pageResource.synchronizationTasks=Synchronization tasks pageResources.bundle=Bundle pageResources.connectorType=Connector type pageResources.button.discoveryRemote=Descubrimiento -pageResources.button.editAsXml=Edit XML +pageResources.button.editAsXml=Editar XML pageResources.button.search=Buscar pageResources.connector.hostname=Hostname pageResources.connectorHosts=Connector hosts @@ -1837,7 +1838,7 @@ PageResource.title=Resource details pageResource.type=Type pageResource.version=Version PageResourceWizard.title=Nuevo recurso -PageResourceWizard.title.edit=Edit resource '{0}' +PageResourceWizard.title.edit=Editar recurso '{0}' pageRole.members=Members pageRole.governance=Governance PageRoleEditor.extension=Extensión @@ -1847,16 +1848,16 @@ PageRoleEditor.label.assignmentConstraint.placeholder=Set assignment policy PageRoleEditor.label.description=Descripción PageRoleEditor.label.displayName=Nombre a mostrar PageRoleEditor.label.identifier=Identificador -PageRoleEditor.label.maxAssignments=Max. assignments -PageRoleEditor.label.minAssignments=Min. assignments +PageRoleEditor.label.maxAssignments=Máximas asignaciones +PageRoleEditor.label.minAssignments=Mínimas asignaciones PageRoleEditor.label.name=Nombre -PageRoleEditor.label.ownerRef=Dueño -PageRoleEditor.label.ownerRef.placeholder=Set owner +PageRoleEditor.label.ownerRef=Propietario +PageRoleEditor.label.ownerRef.placeholder=Poner Propietario PageRoleEditor.label.requestable=Solicitable -PageRoleEditor.label.riskLevel=Risk Level +PageRoleEditor.label.riskLevel=Nivel de riesgo PageRoleEditor.label.type=Tipo -PageRoleEditor.message.addApproverOk=Approver with name\: '{0}' was added successfully. -PageRoleEditor.message.addOwnerOk=Owner with name\: '{0}' was added successfully. +PageRoleEditor.message.addApproverOk=Aprobador con nombre\: '{0}' fue agregado satisfactoriamente. +PageRoleEditor.message.addOwnerOk=Propietario con nombre\: '{0}' fue agregado satisfactoriamente. PageRoleEditor.message.cantAddOwner=Can't setup the selected owner. PageRoleEditor.message.cantCreateExtensionDelta=No se puede crear delta para extensión del rol PageRoleEditor.subtitle.activation=Activación @@ -1876,13 +1877,13 @@ pageRoles.message.nothingSelected=No se ha seleccionado rol. pageRoles.message.queryError=Error ocurrido durante la búsqueda de la traducción consulta de búsqueda para filtrar. pageRoles.requestable=Solicitable PageRoles.title=Listar roles -pageSecurityQuestions.message.WrongAnswer=Questions Not Answered Correctly +pageSecurityQuestions.message.WrongAnswer=Preguntas No Respondidas Correctamente pageSecurityQuestions.message.noPolicySet=No password policy is set -PageSecurityQuestions.title=Security Questions -PageShowPassword.message=Your new password is\: -PageShowPassword.success=New password has been successfully created -PageShowPassword.title=New Password -PageSizePopover.title=Page size +PageSecurityQuestions.title=Preguntas de Seguridad +PageShowPassword.message=Tú nueva contraseña es\: +PageShowPassword.success=Nueva contraseña ha sido creada satisfactoriamente +PageShowPassword.title=Nueva Contraseña +PageSizePopover.title=Tamaño de pagina pageSystemConfiguration.assignmentPolicyEnforcement.value.full=Lleno pageSystemConfiguration.assignmentPolicyEnforcement.value.legalize=Relativo pageSystemConfiguration.assignmentPolicyEnforcement.value.mark=Mark @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situación runReportPopupContent.param.name.activation=Activación runReportPopupContent.param.name.organization=Organización runReportPopupContent.param.name.role=Rol +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Stage number (default is to take all stages) RunReportPopupPanel.title=Report configuration before run runUntilNodeDown.error1=Datos compatibles para 'Acción de detención del hilo' son\: Cerrado, Suspendido @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner={0}'s assignments MultiButtonPanel.plusIconTitle=Add item to shopping cart MultiButtonPanel.assignmentDetailsPopupTitle=Assignment details -MultiButtonPanel.detailsLink=Detalles +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Add to cart MultiButtonPanel.alreadyAssignedIconTitle=Already assigned PageAssignmentDetails.title=Assignment details diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_et.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_et.properties index 6dc110fd4f8..070ff9d1dcd 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_et.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_et.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Kustuta pageAdminFocus.button.addToOrg=Lisa organisatsiooni pageAdminFocus.focusDetails=Üksikasjad pageAdminFocus.projections=Projektsioonid +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organisatsioonid pageAdminFocus.assignments=Omistused pageAdminFocus.message.couldntCreateAccountNoSchema=Couldn't create projection form for '{0}', no refined schema available. Possible problem with connector configuration and/or connection. Please check logs for more information. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Olukord runReportPopupContent.param.name.activation=Aktiveerimine runReportPopupContent.param.name.organization=Organisatsioon runReportPopupContent.param.name.role=Roll +runReportPopupContent.param.name.roleOids=Rollid +runReportPopupContent.param.name.users=Kasutajad runReportPopupContent.param.name.stageNumber=Etapi number (vaikimisi võetakse kõik etapid) RunReportPopupPanel.title=Aruande konfigureerimine enne käivitamist runUntilNodeDown.error1=Ühilduvad andmed 'Tegevus lõime peatumisel' jaoks on\: Sulge, Peata @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple=Valitud on {0} kasutajat AssignmentCatalogPanel.assignmentsOwner={0} omistused MultiButtonPanel.plusIconTitle=Lisa objekt ostukorvi MultiButtonPanel.assignmentDetailsPopupTitle=Omistuse üksikasjad -MultiButtonPanel.detailsLink=Üksikasjad +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Lisa korvi MultiButtonPanel.alreadyAssignedIconTitle=Juba omistatud PageAssignmentDetails.title=Omistuse üksikasjad diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_hu.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_hu.properties index 4aa6a405ff1..42806c261dc 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_hu.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_hu.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Törlés pageAdminFocus.button.addToOrg=Add to organization pageAdminFocus.focusDetails=Details pageAdminFocus.projections=Projections +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organizations pageAdminFocus.assignments=Assignments pageAdminFocus.message.couldntCreateAccountNoSchema=Couldn't create projection form for '{0}', no refined schema available. Possible problem with connector configuration and/or connection. Please check logs for more information. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situation runReportPopupContent.param.name.activation=Activation runReportPopupContent.param.name.organization=Organization runReportPopupContent.param.name.role=Role +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Stage number (default is to take all stages) RunReportPopupPanel.title=Report configuration before run runUntilNodeDown.error1=Compatible data for 'Thread stop action' are\: Close, Suspend @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner={0}'s assignments MultiButtonPanel.plusIconTitle=Add item to shopping cart MultiButtonPanel.assignmentDetailsPopupTitle=Assignment details -MultiButtonPanel.detailsLink=Details +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Add to cart MultiButtonPanel.alreadyAssignedIconTitle=Already assigned PageAssignmentDetails.title=Assignment details diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_pl.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_pl.properties index c83bade60aa..12e698930f1 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_pl.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_pl.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Usuń pageAdminFocus.button.addToOrg=Dodaj do organizacji pageAdminFocus.focusDetails=Szczegóły pageAdminFocus.projections=Projekcje +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organizacje pageAdminFocus.assignments=Przypisania pageAdminFocus.message.couldntCreateAccountNoSchema=Nie można utworzyć formularza projekcji dla '{0}', schemat niedostępny. Możliwy problem z konfiguracją konektora i/lub z połączeniem. Proszę zajrzeć w logi po więcej informacji. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Sytuacja runReportPopupContent.param.name.activation=Aktywacja runReportPopupContent.param.name.organization=Organizacja runReportPopupContent.param.name.role=Rola +runReportPopupContent.param.name.roleOids=Role +runReportPopupContent.param.name.users=Użytkownicy runReportPopupContent.param.name.stageNumber=Numer etapu (domyślnie wszystkie etapy) RunReportPopupPanel.title=Konfiguracja raportu przed uruchomieniem runUntilNodeDown.error1=Poprawne wartości dla "Reakcji na zatrzymanie wątku" to\: Zamknij, Wstrzymaj @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple=Wybrano {0} użytkowników AssignmentCatalogPanel.assignmentsOwner=przypisania {0} MultiButtonPanel.plusIconTitle=Dodaj pozycję do koszyka MultiButtonPanel.assignmentDetailsPopupTitle=Szczegóły przypisania -MultiButtonPanel.detailsLink=Szczegóły +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Dodaj do koszyka MultiButtonPanel.alreadyAssignedIconTitle=Już przypisano PageAssignmentDetails.title=Szczegóły przypisania @@ -3482,7 +3485,7 @@ PageAuditLogViewer.eventStageLabel=Etap zdarzenia PageAuditLogViewer.eventStageShortLabel=Etap PageAuditLogViewer.outcomeLabel=Wynik PageAuditLogViewer.changedItem=Zmieniona pozycja -PageAuditLogViewer.valueRefTargetNamesLabel=Reference Target +PageAuditLogViewer.valueRefTargetNamesLabel=Cel referencji AuditLogViewerPanel.dateValidatorMessage=Data "od" musi być wcześniejsza od daty "do". AuditEventRecordType.timestamp=Czas AuditEventRecordType.initiatorRef=Inicjator diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_pt_BR.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_pt_BR.properties index 7dd00034360..6c38e265fea 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_pt_BR.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_pt_BR.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Deletar pageAdminFocus.button.addToOrg=Incluir na organização pageAdminFocus.focusDetails=Detalhes pageAdminFocus.projections=Projeções +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organizações pageAdminFocus.assignments=Atribuições pageAdminFocus.message.couldntCreateAccountNoSchema=Não foi possível criar projeção para '{0}'\: nenhum esquema refinado disponível. Possível problema com a configuração do conector e/ou conexão. Favor verificar os 'logs' para maiores informações. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situação runReportPopupContent.param.name.activation=Ativação runReportPopupContent.param.name.organization=Organização runReportPopupContent.param.name.role=Perfil +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Número da etapa (default é considerar todas elas) RunReportPopupPanel.title=Configuração de relatório antes da execução runUntilNodeDown.error1=Dados compatíveis para 'Thread stop action' são\: "Close", "Suspend" @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner={0}'s atribuições MultiButtonPanel.plusIconTitle=Incluir item para carrinho de compras MultiButtonPanel.assignmentDetailsPopupTitle=Detalhes de atribuição -MultiButtonPanel.detailsLink=Detalhes +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Adicionar ao carrinho MultiButtonPanel.alreadyAssignedIconTitle=Already assigned PageAssignmentDetails.title=Detalhes de atribuição diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_ru.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_ru.properties index 1c492e5588f..7a302c298f5 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_ru.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_ru.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Удалить pageAdminFocus.button.addToOrg=Добавить в организацию pageAdminFocus.focusDetails=Детали pageAdminFocus.projections=Проекции +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Организации pageAdminFocus.assignments=Назначения pageAdminFocus.message.couldntCreateAccountNoSchema=Невозможно создать проекцию для '{0}', так как нет определенной и доступной схемы. Возможно, проблема конфигурацией коннектора и/или с коннектором. Пожалуйста, проверьте логи для получения более подробных сведений. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Ситуация runReportPopupContent.param.name.activation=Активация runReportPopupContent.param.name.organization=Организация runReportPopupContent.param.name.role=Роль +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Номер этапа (по умолчанию применить ко всем этапам) RunReportPopupPanel.title=Отчёт о конфигурации до запуска runUntilNodeDown.error1=Совместимые данные для 'Прекращения действия потока команд'\: Закрыть, Приостановить @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner=Назначения {0} MultiButtonPanel.plusIconTitle=Добавить элемент в Корзину MultiButtonPanel.assignmentDetailsPopupTitle=Сведения о назначении -MultiButtonPanel.detailsLink=Детали +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Добавить в Корзину MultiButtonPanel.alreadyAssignedIconTitle=Already assigned PageAssignmentDetails.title=Сведения о назначении diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_sk.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_sk.properties index 555634859bb..e33dfa39624 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_sk.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_sk.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Zmazať pageAdminFocus.button.addToOrg=Pridať do organizácie pageAdminFocus.focusDetails=Detaily pageAdminFocus.projections=Projekcie +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organizácie pageAdminFocus.assignments=Priradenia pageAdminFocus.message.couldntCreateAccountNoSchema=Nebolo možné vytvoriť projekčný formulár pre '{0}', žiadna vyčistená schéma nebola k dispozícii. Možný problém s konfiguráciou konektora a / alebo pripojením. Prosím, skontrolujte logy pre viac informácií. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Situácia runReportPopupContent.param.name.activation=Aktivácia runReportPopupContent.param.name.organization=Organizácia runReportPopupContent.param.name.role=Rola +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Stage number (default is to take all stages) RunReportPopupPanel.title=Konfigurovať report pred spustením runUntilNodeDown.error1=Správne dáta pre 'Thread stop akciu' sú\: Close, Suspend @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner={0}'s assignments MultiButtonPanel.plusIconTitle=Add item to shopping cart MultiButtonPanel.assignmentDetailsPopupTitle=Assignment details -MultiButtonPanel.detailsLink=Detaily +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Add to cart MultiButtonPanel.alreadyAssignedIconTitle=Already assigned PageAssignmentDetails.title=Assignment details diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_tr.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_tr.properties index d723d2345ed..e421e329c3c 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_tr.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_tr.properties @@ -1108,6 +1108,7 @@ pageAdminFocus.button.delete=Sil pageAdminFocus.button.addToOrg=Organizasyona ekle pageAdminFocus.focusDetails=Detaylar pageAdminFocus.projections=Projeksiyonlar +pageAdminFocus.personas=Personas pageAdminFocus.organizations=Organizasyonlar pageAdminFocus.assignments=Atamalar pageAdminFocus.message.couldntCreateAccountNoSchema='{0}' projeksiyon formu oluşturulamadı, işlenmiş bir şema bulunamıyor. Muhtemelen bağlayıcı yapılandırması ve/veya bağlantı problemi var. Lütfen logları kontrol edin. @@ -2513,6 +2514,8 @@ runReportPopupContent.param.name.situation=Durum runReportPopupContent.param.name.activation=Aktivasyon runReportPopupContent.param.name.organization=Organizasyon runReportPopupContent.param.name.role=Rol +runReportPopupContent.param.name.roleOids=Roles +runReportPopupContent.param.name.users=Users runReportPopupContent.param.name.stageNumber=Etap numarası (varsayılan durum tüm etapları alır) RunReportPopupPanel.title=Koşturmadan önceki rapor konfigürasyonu runUntilNodeDown.error1='Yürütme durdurma aksiyonu' için geçerli veriler\: Close, Suspend @@ -3445,7 +3448,7 @@ AssignmentCatalogPanel.requestForMultiple={0} users selected AssignmentCatalogPanel.assignmentsOwner={0}'s assignments MultiButtonPanel.plusIconTitle=Add item to shopping cart MultiButtonPanel.assignmentDetailsPopupTitle=Assignment details -MultiButtonPanel.detailsLink=Detaylar +MultiButtonPanel.detailsLink=Properties MultiButtonPanel.addToCartLink=Add to cart MultiButtonPanel.alreadyAssignedIconTitle=Zaten atanmış PageAssignmentDetails.title=Assignment details diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_zh_CN.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_zh_CN.properties new file mode 100644 index 00000000000..009df849814 --- /dev/null +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_zh_CN.properties @@ -0,0 +1,3596 @@ +# Copyright (c) 2010-2016 Evolveum +# +# 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. +# +AbstractRoleType.delegable=Delegable +AbstractRoleType.requestable=Requestable +ACAttributePanel.button.showExprEditor=显示表达式 +ACAttributePanel.hasOutbound=存在出站映射 +ACAttributePanel.required=必须的 +addCapabilityDialog.button.Add=添加 +addCapabilityDialog.button.cancel=取消 +addCapabilityDialog.column.name=名称 +addCapabilityDialog.title=选择添加的功能 +admStatusFetchStrategy.nullValid=请选择 +AEPlevel.FULL=Full +AEPlevel.LEGALIZE=Relative +AEPlevel.MARK=Mark +AEPlevel.NONE=None +AEPlevel.POSITIVE=Positive +AssignableOrgSelectionPanel.button.assignRoot=分配为根组织 +assignablePopupContent.button.assign=分配 +assignablePopupContent.button.add=添加 +assignablePopupContent.description=描述 +assignablePopupContent.displayName=显示名称 +assignablePopupContent.message.errorLoadingRoleTypes=无法为搜索加载可用的角色类型。 +assignablePopupContent.message.noOrgStructureDefined=组织机构未定义。 +assignablePopupContent.name=名称 +assignablePopupContent.role.type=角色类型 +AssignmentEditorPanel.attributes=属性 +AssignmentEditorPanel.browser.title=浏览 +AssignmentEditorPanel.description=描述 +AssignmentEditorPanel.enabledFrom={0},从 {1,date,medium} +AssignmentEditorPanel.enabledFromTo={0},从 {1,date,medium} 到 {2,date,medium} +AssignmentEditorPanel.enabledTo={0},到 {1,date,medium} +AssignmentEditorPanel.focusType=主对象类型 +AssignmentEditorPanel.hideEmpty=隐藏空值 +AssignmentEditorPanel.loadError=Error loading object +AssignmentEditorPanel.manager=经理 +AssignmentEditorPanel.member=成员 +AssignmentEditorPanel.name.focus=(主对象映射) +AssignmentEditorPanel.name.noTarget=(无目标) +AssignmentEditorPanel.orgRef=组织/项目结构 +AssignmentEditorPanel.relation.notSpecified=“未指定” +AssignmentEditorPanel.relation=关系 +AssignmentEditorPanel.resource=资源 +AssignmentEditorPanel.showEmpty=显示空值 +AssignmentEditorPanel.showMore=显示更多 +AssignmentEditorPanel.targetError=分配的目标不存在,可能是目标OID格式错误或者目标不存在。 +AssignmentEditorPanel.target=目标 +AssignmentEditorPanel.tenantRef=Tenant +AssignmentEditorPanel.undefined=Undefined +AssignmentEditorPanel.metadataBlock=Metadata +MetadataPanel.requestTimestamp=Request timestamp +MetadataPanel.requestorRef=Requester +MetadataPanel.createTimestamp=Create timestamp +MetadataPanel.creatorRef=Creator +MetadataPanel.createApproverRef=Create approver +MetadataPanel.createApprovalTimestamp=Create Approval Timestamp +MetadataPanel.modifyTimestamp=Modify timestamp +MetadataPanel.modifierRef=Modifier +MetadataPanel.modifyApproverRef=Modify approver +MetadataPanel.modifyApprovalTimestamp=Modify approval timestamp +RelationTypes.MANAGER=Manager +RelationTypes.OWNER=Owner +RelationTypes.APPROVER=Approver +RelationTypes.MEMBER=Member +DelegationEditorPanel.from=From +DelegationEditorPanel.to=To +DelegationEditorPanel.meLabel=Current user +DelegationEditorPanel.limitPrivilegesButton=Limit privileges +DelegationEditorPanel.privileges=Assignment privileges +DelegationEditorPanel.workflowApprovals=Workflow approvals +DelegationEditorPanel.delegateApprovalWorkItems=Delegate completion of approval work items +DelegationEditorPanel.delegateCertificationWorkItems=Delegate review of certification work items +DelegationEditorPanel.allPrivilegesLabel=Delegate all/selected assignment privileges +DelegationEditorPanel.noPrivilegesLabel=No privileges +DelegationEditorPanel.delegateManagementWorkItems=Delegate completion of case management work items +AssignmentPreviewDialog.button.cancel=取消 +AssignmentPreviewDialog.column.description=描述 +AssignmentPreviewDialog.column.intent=方式 +AssignmentPreviewDialog.column.kind=种类 +AssignmentPreviewDialog.column.name=名称 +AssignmentPreviewDialog.column.orgRef=组织 +AssignmentPreviewDialog.column.tenant=Tenant +AssignmentPreviewDialog.label=查看直接/间接分配 +AssignmentPreviewDialog.delegationPreviewLabel=Limit privileges +AssignmentPreviewDialog.type.direct=直接 +AssignmentPreviewDialog.type.indirect=间接 +AssignmentTablePanel.menu.assign=分配 +AssignmentTablePanel.menu.assignOrg=分配组织 +AssignmentTablePanel.menu.assignOrg.noorgs=No organization structure defined. +AssignmentTablePanel.menu.assignRole=分配角色 +AssignmentTablePanel.menu.addDelegation=Add delegation +AssignmentTablePanel.menu.deleteDelegation=Delete delegation +AssignmentTablePanel.menu.unassign=取消分配 +AssignmentTablePanel.menu.showAllAssignments=显示所有分配 +AssignmentTablePanel.message.couldntAssignObject=无法分配对象“{0}”,原因:{1}。 +AssignmentTablePanel.message.illegalAssignmentState=非法的分配状态“{0}”。 +AssignmentTablePanel.message.noAssignmentSelected=没有选择分配。 +AssignmentTablePanel.message.noDelegationsSelected=No delegation selected. +AssignmentTablePanel.modal.message.delete=确定要删除{0}分配? +AssignmentTablePanel.modal.message.deleteDelegation=Do you really want to delete {0} delegation(s)? +AssignmentTablePanel.modal.message.noDelegationWarning=User doesn't have any delegable item +AssignmentTablePanel.modal.title.confirmDeletion=确认删除 +AssignmentTablePanel.modal.title.selectAssignment=选择项 +associationAttribute.nullValid=选择 +AsyncDashboardPanel.loading=正在加载数据 +AuditPopulPanel.exportType.label=导出文件类型 +AuditPopupPanel.auditEventType=事件类型 +AuditPopupPanel.dateFrom=从 +AuditPopupPanel.dateTo=至 +AuditPopupPanel.title=审计报表基本配置 +BasicSearchPanel.clear=清除 +BasicSearchPanel.search=搜索 +BasicSearchPanel.textPlaceholder=搜索 +capabilityActivationPanel.label=激活配置 +capabilityActivationPanel.label.attributeName=属性名称 +capabilityActivationPanel.label.disableList=禁用列表 +capabilityActivationPanel.label.enabledDisabled=启用/禁用 +capabilityActivationPanel.label.enabled=已启用 +capabilityActivationPanel.label.enableList=启用列表 +capabilityActivationPanel.label.normalList=Normal list +capabilityActivationPanel.label.lockedList=Locked list +capabilityActivationPanel.label.ignoreAttribute=忽略属性 +capabilityActivationPanel.label.returnedByDefault=默认时返回 +capabilityActivationPanel.label.status.message=与启用/禁用一致 +capabilityActivationPanel.label.status=状态 +capabilityActivationPanel.label.lockout=Lockout +capabilityActivationPanel.label.validFrom=有效自 +capabilityActivationPanel.label.validTo=有效至 +capabilityActivationPanel.list.placeholder=插入值 +capabilityCredentialsPanel.label=凭证配置 +capabilityCredentialsPanel.label.enabled=已启用 +capabilityCredentialsPanel.label.password=密码 +capabilityCredentialsPanel.label.returned=默认时返回 +capabilityListRepeater.label.text.placeholder=语言URL +capabilityScriptPanel.label.enabled=已启用 +capabilityScriptPanel.label.onConnector=连接器 +capabilityScriptPanel.label.onResource=资源 +capabilityScriptPanel.label=脚本配置 +CapabilityStep.capabilities=Capabilities +CapabilityStep.addCapabilities=Add capabilities +CapabilityStep.disabled=(disabled) +CapabilityStep.activation.tooltip.attributeName=包含模拟 administrativeStatus 值的特性的名称,这通常是包含某种启用/禁用信息的属性,典型的例子是诸如 "enabled"、"ds-pwp-account-disabled"、"accountStatus" 等属性。 +CapabilityStep.activation.tooltip.disableList=表达“禁用”状态的属性列表。如果对象的这些属性存在值的话,会被认为是处于“禁用”的状态。典型的值包括“false”,“disabled”,“0”或者空值。 +CapabilityStep.activation.tooltip.enabled=如果此功能处于活动状态, 则为 true。如果禁用, 则为 false。禁用功能的行为与不配置的结果相同。可以通过禁用功能来解决连接器 bug、使资源只读等。 +CapabilityStep.activation.tooltip.enableList=表示 "已启用" 状态的属性值的列表。如果属性中存在这些值中的任何一个,则该对象将被视为启用。典型值为 "true"、"enabled"、"1" 等。 +CapabilityStep.activation.tooltip.ignoreAttribute=如果设置为 true, 则用于模拟激活的属性将在架构中标记为 "忽略"。也就是说, 系统将假装该属性不存在, 并且只使用标准的 administrativeStatus。这是默认值。如果设置为 false, 则该属性也将在架构中可见, 并且 administrativeStatus 和原始属性都将起作用。如果属性具有比 administrativeStatus 属性更丰富的状态集, 则可能需要这样做。但在这种情况下, 谨防 administrativeStatus 与原始属性之间的价值冲突。 +CapabilityStep.activation.tooltip.lockoutAttributeName=Name of the attribute that contains a value for simulated lockoutStatus. This is usually an attribute that contains some kind of normal/locked information. +CapabilityStep.activation.tooltip.lockoutNormalList=List of attribute values that represent the "normal" state. If any of these values are present in the attribute then the object will be considered to be in a normal state. +CapabilityStep.activation.tooltip.lockoutLockedList=List of attribute values that represent the "locked" state. If any of these values are present in the attribute then the object will be considered to be in a locked state. +CapabilityStep.activation.tooltip.lockoutIgnoreAttribute=If set to true then the attribute which is used for simulated activation will be marked as ignored in the schema. I.e. system will pretend that this attribute does not exist and only use the standard lockoutStatus. This is the default. If set to false then the attribute will also be visible in the schema and both the lockoutStatus and the original attribute will work. This may be needed if the attribute has a richer set of states than the lockoutStatus attribute. But in this case beware of value conflicts between lockoutStatus and the original attribute. +CapabilityStep.activation.tooltip.returnedByDefault=如果为 true, 则默认情况下, 激活属性包含在返回资源对象, 并且不需要请求它。如果为 false, 则必须显式请求激活属性。 +CapabilityStep.activation.tooltip.validFromEnabled=如果资源支持 validFrom 激活属性,则为 true。 +CapabilityStep.activation.tooltip.validFromReturned=如果默认情况下返回 validFrom 属性,则为 true。如果需要显式请求,则为 false。 +CapabilityStep.activation.tooltip.validToEnabled=如果资源支持 validTo 激活属性,则为 true +CapabilityStep.activation.tooltip.validToReturned=如果默认情况下返回 validTo 属性,则为 true。如果需要显式请求,则为 false。 +CapabilityStep.capability.activation.tooltip=激活功能。能够进行启用/禁用帐户,设置有效期等。 +CapabilityStep.capability.create.tooltip=在资源上创建 (添加) 新对象的功能。 +CapabilityStep.capability.credentials.tooltip=可以对资源账号进行凭证管理的功能。 +CapabilityStep.capability.delete.tooltip=能够删除资源上的现有对象。 +CapabilityStep.capability.liveSync.tooltip=实时同步功能。能够在几乎实时的要求下进行高效地提取数据变化。 +CapabilityStep.capability.read.tooltip=能够从资源中读取数据。 +CapabilityStep.capability.script.tooltip=能够在连接器和资源上执行脚本的功能。 +CapabilityStep.capability.testConnection.tooltip=测试与资源的连接的能力。 +CapabilityStep.capability.update.tooltip=能够更新 (修改) 资源上的现有对象。 +CapabilityStep.configured=已配置 +CapabilityStep.credentials.tooltip.enabled=如果此功能处于活动状态,则为 true。如果禁用,则为 false。禁用功能的行为与不配置的结果相同。可以使用禁用功能来解决连接器 bug、使资源只读等问题。 +CapabilityStep.credentials.tooltip.passEnabled=如果资源支持口令凭证,则设置为True。 +CapabilityStep.credentials.tooltip.passReturned=如果默认情况下返回密码,则为 true。如果需要显式请求,则为 false。 +CapabilityStep.message.cantLoadCaps=不能加载功能 +CapabilityStep.native=本地 +CapabilityStep.script.tooltip.enabled=如果此功能处于活动状态,则为 true。如果禁用,则为 false。禁用功能的行为与不配置的结果相同。可以通过禁用功能来解决连接器 bug、使资源只读等问题。 +CapabilityStep.script.tooltip.onConnector=有能力执行 "连接器" 脚本。这意味着脚本将在安装连接器的计算机上执行。这通常是系统节点或连接器服务器。 +CapabilityStep.script.tooltip.onResource=执行 "资源" 脚本的功能。这意味着脚本将在连接器连接的计算机上执行。这通常是承载资源的服务器 (例如AD 服务器、远程 UNIX计算机、数据库服务器等)。 +CapabilityStep.title=功能/能力 +capabilityValuePanel.label.capability.create=创建 +capabilityValuePanel.label.capability.delete=删除 +capabilityValuePanel.label.capability.liveSync=实时同步 +capabilityValuePanel.label.capability.read=读取 +capabilityValuePanel.label.capability.testConnection=测试连接 +capabilityValuePanel.label.capability.update=更新 +capabilityValuePanel.label.enabled=已启用 +capabilityValuePanel.label.capability.addRemoveAttributeValues=Add/remove values capability +capabilityValuePanel.label.capability.auxiliaryObjectClasses=Auxiliary object classes capability +CertDefinitionPage.message.cantSaveEmpty=不能保存空白的XML +CertDefinitionPage.message.cantSaveEmptyName=不能保存没有名称的定义 +Channel.discovery=发现 +Channel.import=导入 +Channel.liveSync=实时同步 +Channel.null=请选择 +channel.nullValid=请选择 +Channel.reconciliation=Reconciliation +Channel.recompute=Recompute +Channel.user=用户 +Channel.webService=Web服务 +CheckTableHeader.label.error=错误的 +CheckTableHeader.protected=保护的 +CheckTableHeader.showMore=显示更多 +CheckTableHeader.triggerPlanned=计划在{0}时触发。 +CheckTableHeader.triggerUnknownTime=未计划触发。 +chooseTypeDialog.button.cancel=取消 +chooseTypeDialog.column.name=名称 +chooseTypeDialog.message.queryError=将搜索查询转换为筛选时出错。 +chooseTypeDialog.title=选择对象 +chooseTypePanel.ObjectNameValue.badOid=(tenant not found) +chooseTypePanel.ObjectNameValue.null=无 +com.evolveum.midpoint.notifications.api.transports.MailTransport.send=发送邮件(通知) +com.evolveum.midpoint.notifications.api.transports.SimpleSmsTransport.send=发送短信(通知) +ConditionalSearchFilterEditor.condition.label=条件 +ConditionalSearchFilterEditor.condition.description.label=Condition description +ConditionalSearchFilterEditor.condition.update.label=Update condition +ConditionalSearchFilterEditor.condition.type.label=条件类型 +ConditionalSearchFilterEditor.description=描述 +ConditionalSearchFilterEditor.label=编辑同步相关 +configurationProperties=配置 +ConfigurationStep.button.testConnection=保存和测试连接 +ConfigurationStep.title=配置 +confirmationDialog.no=不 +confirmationDialog.yes=是 +connectorPoolConfiguration=连接池配置 +ContainerValuePanel.label.attribute=属性 +ContainerValuePanel.label.value=值 +contentPanel.accounts=账号 +contentPanel.entitlements=授权 +CountToolbar.label={0,number,integer}至{1,number,integer} ,总共{2,number,integer} +CountToolbar.noFound=没有找到匹配的记录。 +DateValidator.message.fromAfterTo=有效起始日期必须在有效截止日期之前。 +DebugButtonPanel.button.delete=删除 +DebugButtonPanel.button.export=导出 +PageDebugView.xmlViewButton=XML +PageDebugView.xmlJsonButton=JSON +PageDebugView.xmlYamlButton=YAML +DecisionsPanel.comment=备注 +DecisionsPanel.result=结果 +DecisionsPanel.user=用户 +DecisionsPanel.originalActor=Original actor +DecisionsPanel.stage=Stage +DecisionsPanel.when=时间 +DecisionsPanel.escalation=Esc. level +DefinitionScopeObjectType.FocusType=用户、角色、组织和服务 +DefinitionScopeObjectType.AbstractRoleType=角色、组织和服务 +DefinitionScopeObjectType.RoleType=角色类型 +DefinitionScopeObjectType.UserType=用户类型 +DefinitionScopeObjectType.OrgType=组织结构类型 +DefinitionScopeObjectType.ServiceType=Services +deleteAllDialog.label.accountShadowsDelete=Account shadows to delete\: {0} +deleteAllDialog.label.nonAccountShadowsDelete=Non-Account shadows to delete\: {0} +deleteAllDialog.label.org=Org. Units +deleteAllDialog.label.orgUnitsDelete=Org. units to delete\: {0} +deleteAllDialog.label.shadow.account=Account shadows +deleteAllDialog.label.shadow.nonAccount=Non-Account shadows +deleteAllDialog.label.shadow.org=Org. unit shadows +deleteAllDialog.label.shadow.role=Role shadows +deleteAllDialog.label.totalToDelete=Total objects to delete\: {0} +deleteAllDialog.label.usersDelete=Users to delete\: {0} (User 'Administrator' will not be deleted) +deleteAllDialog.label.users=Users +deleteAllDialog.message.choose=Choose object types to delete\: +deleteAllDialog.no=No +deleteAllDialog.yes=Yes +DeltaPanel.label.changeType=Change type\: +DeltaPanel.label.modifications=Modifications\: +DeltaPanel.label.objectToAdd=Object to add\: +DeltaPanel.label.oid=object with oid\: +direction.nullvalid=Choose One +DoubleButtonPanel.button.default=Execute +DoubleButtonPanel.download=Download +DropDownChoicePanel.empty=Choose one +DropDownChoicePanel.notDefined=Undefined +EmptyProcessDetailsPanel.message=Process details are not available. +ExecuteChangeOptionsPanel.label.executeAfterAllApprovals=Execute after all approvals +ExecuteChangeOptionsPanel.label.force=Force +ExecuteChangeOptionsPanel.label.keepDisplayingResults=Keep displaying results +ExecuteChangeOptionsPanel.label.reconcileAffected=Reconcile affected objects +ExecuteChangeOptionsPanel.label.reconcile=Reconcile +ExecuteChangeOptionsPanel.options=Options +existenceFetchStrategy.nullValid=Choose One +ExportType.CSV=CSV +ExportType.DOCX=DOCX +ExportType.HTML=HTML +ExportType.JXL=JXL +ExportType.ODS=ODS +ExportType.ODT=ODT +ExportType.PDF=PDF +ExportType.PPTX=PPTX +ExportType.RTF=RTF +ExportType.XHTML=XHTML +ExportType.XLS=XLS +ExportType.XLSX=XLSX +ExportType.XML_EMBED=XML_EMBED +ExportType.XML=XML +ExpressionEditorPanel.button.expressionSave=Update Expression +ExpressionEditorPanel.label.expression=Expression +ExpressionEditorPanel.label.language=Language +ExpressionEditorPanel.label.type=Expression Type +ExpressionEditorPanel.label.description=Description +ExpressionEditorPanel.label.valuePolicyRef=Policy Ref. +ExpressionEditorPanel.message.cantSerialize=Could not create JAXBElement from provided XML expression. Please enter correct expression. Reason\: {0} +ExpressionEditorPanel.message.expressionSuccess=Expression has been update successfully. +ExpressionEvaluatorType.AS_IS=As is +ExpressionEvaluatorType.GENERATE=Generate +ExpressionEvaluatorType.LITERAL=Literal +ExpressionEvaluatorType.null=Choose one +ExpressionEvaluatorType.PATH=Path +ExpressionEvaluatorType.SCRIPT=Script +ExpressionReturnMultiplicityType.MULTI=Multi +ExpressionReturnMultiplicityType.SINGLE=Single +ExpressionVariableEditor.button.cancel=Cancel +ExpressionVariableEditor.button.save=Save +ExpressionVariableEditor.button.apply=Apply +ExpressionVariableEditor.label.description=Description +ExpressionVariableEditor.label=Edit expression variable +ExpressionVariableEditor.label.name=Name +ExpressionVariableEditor.label.objectRef=Object reference +ExpressionVariableEditor.label.path=Path +ExpressionVariableEditor.label.value=Value +FeedbackAlertMessage.error=Error +FeedbackAlertMessage.info=Information +FeedbackAlertMessage.success=Success +FeedbackAlertMessage.warn=Warning +feedbackMessagePanel.cause=Cause\: +feedbackMessagePanel.collapseAll=Collapse all +feedbackMessagePanel.context=Context\: +feedbackMessagePanel.count=Count\: +feedbackMessagePanel.expandAll=Expand all +feedbackMessagePanel.export=Export to XML +feedbackMessagePanel.hideStack=[ HIDE ERROR STACK ] +feedbackMessagePanel.message.debug=Debug +feedbackMessagePanel.message.error=Error +feedbackMessagePanel.message.expectedError=Expected error +feedbackMessagePanel.message.fatalError=Fatal error +feedbackMessagePanel.message.info=Information +feedbackMessagePanel.message.inProgress=In progress +feedbackMessagePanel.message.notApplicable=Not applicable +feedbackMessagePanel.message.partialError=Partial error +feedbackMessagePanel.message.success=Success +feedbackMessagePanel.message.undefined=Undefined +feedbackMessagePanel.message.unknown=Unknown +feedbackMessagePanel.message.warn=Warning +feedbackMessagePanel.param=Param\: +feedbackMessagePanel.showStack=[ SHOW ERROR STACK ] +feedbackMessagePanel.times=times +feedtempMessagePanelbackMessagePanel.message.info=Information +fetchStrategy.nullValid=Choose One +filter.duplicate=Filter with name '{0}' is already defined +filter.emptyFilter=Filter must not be empty +H3Header.label.error=Error +H3Header.showMore=Show more +HandlerUriActions.ACTION_ADD_FOCUS=添加主对象 +HandlerUriActions.ACTION_ADD_USER=Add user (deprecated) +HandlerUriActions.ACTION_DELETE_ACCOUNT=Delete account (deprecated) +HandlerUriActions.ACTION_DELETE_FOCUS=删除主对象 +HandlerUriActions.ACTION_DELETE_SHADOW=Delete shadow +HandlerUriActions.ACTION_DELETE_USER=Delete user (deprecated) +HandlerUriActions.ACTION_DISABLE_ACCOUNT=Disable account (deprecated) +HandlerUriActions.ACTION_DISABLE_USER=Disable user (deprecated) +HandlerUriActions.ACTION_INACTIVATE_FOCUS=冻结主对象 +HandlerUriActions.ACTION_INACTIVATE_SHADOW=Inactivate shadow +HandlerUriActions.ACTION_LINK_ACCOUNT=Link account (deprecated) +HandlerUriActions.ACTION_LINK=Link +HandlerUriActions.ACTION_MODIFY_USER=Modify user (deprecated) +HandlerUriActions.ACTION_SYNCHRONIZE=Synchronize (deprecated) +HandlerUriActions.ACTION_UNLINK_ACCOUNT=Unlink account (deprecated) +HandlerUriActions.ACTION_UNLINK=Unlink +HoursValidator.range=Field '${label}' have to be between ${minimum} and ${maximum}. +ImportOptionsPanel.errorCount=Error count +importOptionsPanel.fetchResourceSchema=Fetch resource schema +importOptionsPanel.keepOid=Keep OID +ImportOptionsPanel.options=Options +importOptionsPanel.overwriteExistingObject=Overwrite existing object +importOptionsPanel.protectedByEncryption=Protected by encryption +importOptionsPanel.referentialIntegrity=Referential integrity +importOptionsPanel.stopAfter=Stop after errors exceed +importOptionsPanel.summarizeErrors=Summarize errors +importOptionsPanel.summarizeSuccesses=Summarize successes +importOptionsPanel.validateDynamicSchema=Validate dynamic schema +importOptionsPanel.validateStaticSchema=Validate static schema +ItemApprovalPanel.approvalSchema=Approval schema +ItemApprovalPanel.currentWorkItems=Current work items +ItemApprovalPanel.decisionsDoneWhenFinishedIs_false=Decisions done so far +ItemApprovalPanel.decisionsDoneWhenFinishedIs_true=Decisions done +ItemApprovalPanel.itemThatWasApproved=Item that was considered (and was APPROVED) +ItemApprovalPanel.itemThatWasCompleted=Item that was completed +ItemApprovalPanel.itemThatWasRejected=Item that was considered (and was REJECTED) +ItemApprovalPanel.itemToBeApproved=Item to be approved +JasperReportConfigurationPanel.addField=Add field +JasperReportConfigurationPanel.addParameter=Add parameter +JasperReportConfigurationPanel.deleteField=Delete field +JasperReportConfigurationPanel.deleteParameter=Delete parameter +JasperReportConfigurationPanel.fieldClass=Field class +JasperReportConfigurationPanel.fieldName=Field name +JasperReportConfigurationPanel.forPrompting=For prompting +JasperReportConfigurationPanel.parameterClass=Parameter class +JasperReportConfigurationPanel.nestedClass=Nested class +JasperReportConfigurationPanel.parameterName=Parameter name +JasperReportConfigurationPanel.parameterProperty=Property\: {0} +JasperReportConfigurationPanel.reportFields=Report fields +JasperReportConfigurationPanel.reportParameters=Report parameters +JasperReportConfigurationPanel.reportQuery=Report query +JasperReportConfigurationPanel.errormsg=Empty values not allowed +JasperReportConfigurationPanel.properties=Properties +JasperReportConfigurationPanel.configure=Configure +JasperReportParameterProperties.property.name=Property name +JasperReportParameterProperties.property.value=Property value +JasperReportParameterProperties.key=Key +JasperReportParameterProperties.label=Label +JasperReportParameterProperties.targetType=Target type +JasperReportParameterProperties.multivalue=Multivalue +JasperReportParameterProperties.config=Properties configuration +JasperReportParameterProperties.title=Configure +kind.nullValid=Choose One +Language.GROOVY=Groovy (default) +Language.JAVASCRIPT=Javascript +Language.XPATH=XPath +LimitationsEditorDialog.allow=Allow +LimitationsEditorDialog.button.add=Add Limitation Object +LimitationsEditorDialog.button.cancel=Cancel +LimitationsEditorDialog.button.save=Save +LimitationsEditorDialog.button.apply=Apply +LimitationsEditorDialog.deny=Deny +LimitationsEditorDialog.inherit=Inherit +LimitationsEditorDialog.label.add=Add +LimitationsEditorDialog.label.close=Close +LimitationsEditorDialog.label=Edit Resource Limitations +LimitationsEditorDialog.label.ignore=Ignore +LimitationsEditorDialog.label.layers=Layers +LimitationsEditorDialog.label.maxOccurs=Max. occurs +LimitationsEditorDialog.label.minOccurs=Min. occurs +LimitationsEditorDialog.label.model=Model +LimitationsEditorDialog.label.modify=Modify +LimitationsEditorDialog.label.other=Other +LimitationsEditorDialog.label.presentation=Presentation +LimitationsEditorDialog.label.propertyAccess=Property access +LimitationsEditorDialog.label.read=Read +LimitationsEditorDialog.label.schema=Schema +logger.duplicate=Logger with name '{0}' is already defined +logger.emptyLogger=Logger must not be empty +LoggingConfigPanel.appender=Appender +LoggingConfigPanel.appenders=Appenders +LoggingConfigPanel.appenders.appending=Appending +LoggingConfigPanel.appenders.filePath=File path +LoggingConfigPanel.appenders.filePattern=File pattern +LoggingConfigPanel.appenders.Inherit=Inherited +LoggingConfigPanel.appenders.maxFileSize=Max. file size [kB] +LoggingConfigPanel.appenders.maxHistory=Max. history +LoggingConfigPanel.appenders.name=Name +LoggingConfigPanel.appenders.pattern=Pattern +LoggingConfigPanel.audit=Audit +LoggingConfigPanel.auditLog=Audit log +LoggingConfigPanel.button.addClassLogger=Add logger +LoggingConfigPanel.button.addComponentLogger=Add component logger +LoggingConfigPanel.button.addConsoleAppender=Add console appender +LoggingConfigPanel.button.addFileAppender=Add file appender +LoggingConfigPanel.button.addStandardLogger=Add standard logger +LoggingConfigPanel.button.deleteAppender=Delete appender +LoggingConfigPanel.button.deleteLogger=Delete logger +LoggingConfigPanel.button.reset=Reset +LoggingConfigPanel.button.save=Save +LoggingConfigPanel.details=Details +LoggingConfigPanel.logger=Logger +LoggingConfigPanel.loggersAppender=Appender +LoggingConfigPanel.loggersLevel=Level +LoggingConfigPanel.loggers=Loggers +LoggingConfigPanel.profiling.dumpInterval=Dump interval +LoggingConfigPanel.profiling.dumpInterval.placeholder=Dump interval +LoggingConfigPanel.profiling.dumpInterval.tooltip=Specify value in minutes (Default is 30 min.) +LoggingConfigPanel.profiling.entryExit=Profiling entry/exit +LoggingConfigPanel.profiling.general=Profiling +LoggingConfigPanel.profiling.performanceStatistics=Performance Statistics +LoggingConfigPanel.profiling.requestFilter=Request Filter +LoggingConfigPanel.profiling.subsystem.model=Model +LoggingConfigPanel.profiling.subsystem.provisioning=Provisioning +LoggingConfigPanel.profiling.subsystem.repository=Repository +LoggingConfigPanel.profiling.subsystem.resourceObjectChangeListener=Resource Object Change Listener +LoggingConfigPanel.profiling.subsystem.synchronizationService=Synchronization Service +LoggingConfigPanel.profiling.subsystems=Profiling subsystems +LoggingConfigPanel.profiling.subsystem.taskManager=Task Manager +LoggingConfigPanel.profiling.subsystem.ucf=Ucf +LoggingConfigPanel.profiling.subsystem.workflow=Workflow +LoggingConfigPanel.rootAppender=Root appender +LoggingConfigPanel.rootLogger=Root logger +LoggingConfigPanel.subsystem.appender=Appender +LoggingConfigPanel.subsystem.level=Level +lower.ActivationStatusType.ARCHIVED=archived +lower.ActivationStatusType.DISABLED=disabled +lower.ActivationStatusType.ENABLED=enabled +lower.ActivationStatusType.null=undefined +mainForm.category.null=All +mainForm.mailServer.nullValid=Choose One +mainForm.state.null=All +mainForm.tabPanel.panel.aepChooser.null=Relative (Default) +MappingEditorDialog.button.cancel=Cancel +MappingEditorDialog.button.save=Save +MappingEditorDialog.button.apply=Apply +MappingEditorDialog.label.authoritative=Authoritative +MappingEditorDialog.label.channel=Channel +MappingEditorDialog.label.condition=Condition +MappingEditorDialog.label.conditionType=Condition type +MappingEditorDialog.label.description=Description +MappingEditorDialog.label=Edit Mapping +MappingEditorDialog.label.exceptChannel=Except channel +MappingEditorDialog.label.exclusive=Exclusive +MappingEditorDialog.label.expression=Expression +MappingEditorDialog.label.expressionType=Expression type +MappingEditorDialog.label.language=Language +MappingEditorDialog.label.name=Name +MappingEditorDialog.label.passPolicyRef=Policy ref. +MappingEditorDialog.label.source=Source +MappingEditorDialog.label.strength=Strength +MappingEditorDialog.label.target=Target +MappingEditorDialog.label.timeFrom=Time from +MappingEditorDialog.label.timeTo=Time to +MappingEditorDialog.message.cantSave=Couldn't save mapping. Reason\: +MappingEditorDialog.message.warn.emptyTarget=Inbound mapping requires 'target' field to be specified. +MappingsStatistics.AverageTime=Avg time +MappingsStatistics.Count=Invocations count +MappingsStatistics.MaxTime=Max +MappingsStatistics.MinTime=Min +MappingsStatistics.Object=Containing object +MappingsStatistics.TotalTime=Total time +MappingType.label.placeholder=Create new mapping +matchingRule.nullValid=Choose One +message.emptyLevel=Level must not be empty +message.emptyString=Input panel must not be empty +message.error=Please try again +Message.SourceMemory=task in memory (fetched {0}) +Message.SourceRepository=repository (statistics updated on {0}) +message.success=Your Answers Were Updated Successfully +message.WrongAnswer=Questions Not Answered Correctly +ModelOperationStatusPanel.label.focusName=Object\: +ModelOperationStatusPanel.label.focusType=of type\: +ModelOperationStatusPanel.label.primaryDelta=Primary delta\: +ModelOperationStatusPanel.label.state=State\: +ModelOperationStatusPanel.state.FINAL=Final\: operation has been executed (successfully or not) +ModelOperationStatusPanel.state.PRIMARY=Primary\: operation is being approved +ModelOperationStatusPanel.state.SECONDARY=Secondary\: resource operation(s) are being approved +ModificationsPanel.label.attribute=Attribute +ModificationsPanel.label.change=Change +ModificationsPanel.label.value=Value(s) +multiplicityContainer.label.description=Description +multiplicityContainer.label.enforcement=Enforcement +multiplicityContainer.label.multiplicity=Multiplicity +MultiplicityPolicyDialog.label=Configure multiplicity constraints +MultiplicityPolicyDialog.message.badUpdate=Can't show empty multiplicity constraints config. +MultiplicityPolicyDialog.message.invalidMultiplicity=Invalid multiplicity value. Set numeric value (0, 1, ...) or value 'unbounded' (use checkbox) +MultiValueField.nameNotSpecified=(Name not specified) +MyAccountsPanel.account.name=Name +MyAccountsPanel.account.resource=Resource +MyAssignmentsPanel.assignment.displayName=Name +MyAssignmentsPanel.type.accountConstruction=Account construction +MyAssignmentsPanel.type.error=Error +MyAssignmentsPanel.type.orgUnit=Org. unit +MyAssignmentsPanel.type.role=Role +NameStep.arrowToTurotialText=Each step of the wizard has a help button. Press this button to gain information about the purpose of a specific configuration step. +NameStep.connectorBundle=Bundle +NameStep.connectorHost=Connector host +NameStep.connectorInformation=Information +NameStep.connectorName=Connector name +NameStep.connectorNotSelected=Connector was not selected. +NameStep.connectorType=Connector +NameStep.connectorVersion=Connector version +NameStep.description=Description +NameStep.hostNotUsed=Not used +NameStep.name=Resource name +NameStep.title=Resource basics +NameStep.undefinedName=Undefined name +NameStep.undefinedVersion=Undefined version +NameStep.unknownVersion=Unknown +NavigatorPanel.firstLink=<< +NavigatorPanel.lastLink=>> +NavigatorPanel.nextLink=> +NavigatorPanel.previousLink=< +NodeExecutionStatus.COMMUNICATION_ERROR=Unreachable +NodeExecutionStatus.DOWN=Turned off +NodeExecutionStatus.ERROR=Error +NodeExecutionStatus.PAUSED=Stopped +NodeExecutionStatus.RUNNING=Running +NotificationsStatistics.AverageTime=Avg time +NotificationsStatistics.CountFailure=Failed +NotificationsStatistics.CountSuccess=Successful +NotificationsStatistics.MaxTime=Max +NotificationsStatistics.MinTime=Min +NotificationsStatistics.TotalTime=Total time +NotificationsStatistics.Transport=Transport +nullValid=Choose one +objectPolicyConfigurationEditor.button.edit=Edit +objectPolicyConfigurationEditor.label=Object policies +objectPolicyConfigurationEditor.name.placeholder=Insert object policy +ObjectPolicyDialog.button.cancel=Cancel +ObjectPolicyDialog.button.save=Save +ObjectPolicyDialog.label=Edit Object Policy +ObjectPolicyDialog.label.oidBound.help=Oid bound - The property value will be bound to OID. This property will be set to the value of OID and it cannot be changed. +ObjectPolicyDialog.propertyConstraint=Property constraint +ObjectPolicyDialog.property.placeholder=Insert property path +ObjectPolicyDialog.subtype=Object subtype +ObjectPolicyDialog.template=Object template +ObjectPolicyDialog.type=Object type +objectSyncConfig.editorFocus.nullValid=Choose One +objectSyncConfig.editorKind.nullValid=Choose One +objectSyncConfig.editorObjectTemplate.nullValid=Choose One +objectTemplateRef.nullValid=Choose One +ObjectTypeGuiDescriptor.abstractRole=Abstract role +ObjectTypeGuiDescriptor.accessCertificationCampaign=Access certification campaign +ObjectTypeGuiDescriptor.accessCertificationDefinition=Access certification definition +ObjectTypeGuiDescriptor.account=Account +ObjectTypeGuiDescriptor.connector=Connector +ObjectTypeGuiDescriptor.connectorHost=Connector host +ObjectTypeGuiDescriptor.focus=主对象 +ObjectTypeGuiDescriptor.form=Form +ObjectTypeGuiDescriptor.genericObject=Generic object +ObjectTypeGuiDescriptor.lookupTable=Lookup table +ObjectTypeGuiDescriptor.node=Node +ObjectTypeGuiDescriptor.object=Object +ObjectTypeGuiDescriptor.objectTemplate=Object template +ObjectTypeGuiDescriptor.orgManager=Org. manager +ObjectTypeGuiDescriptor.org=Organization +ObjectTypeGuiDescriptor.reportOutput=Report output +ObjectTypeGuiDescriptor.report=Report +ObjectTypeGuiDescriptor.resource=Resource +ObjectTypeGuiDescriptor.role=Role +ObjectTypeGuiDescriptor.securityPolicy=Security policy +ObjectTypeGuiDescriptor.sequence=Sequence +ObjectTypeGuiDescriptor.shadow=Shadow +ObjectTypeGuiDescriptor.systemConfiguration=System configuration +ObjectTypeGuiDescriptor.task=Task +ObjectTypeGuiDescriptor.user=User +ObjectTypeGuiDescriptor.service=Service +ObjectTypeGuiDescriptor.case=Case +ObjectTypeGuiDescriptor.valuePolicy=Value policy +operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Security self test +operation.com.evolveum.midpoint.common.operation.import.object=Import object +operation.com.evolveum.midpoint.common.policy.PasswordPolicyUtils.passwordValidation=Password validation against password policy +operation.com.evolveum.midpoint.common.validator.Validator.objectBasicsCheck=Basic checks +operation.com.evolveum.midpoint.common.validator.Validator.resourceNamespaceCheck=Resource namespace check +operation.com.evolveum.midpoint.common.validator.Validator.validateSchema=Schema validation +operation.com.evolveum.midpoint.model.api.ModelDiagnosticService.provisioningSelfTest=Provisioning self test (Model) +operation.com.evolveum.midpoint.model.api.ModelDiagnosticService.repositorySelfTest=Repository self test (Model) +operation.com.evolveum.midpoint.model.api.ModelInteractionService.previewChanges=Preview changes (Model) +operation.com.evolveum.midpoint.model.api.ModelService.addObject=Add object (Model) +operation.com.evolveum.midpoint.model.api.ModelService.addUser=Add user (Model) +operation.com.evolveum.midpoint.model.api.ModelService.deleteObject=Delete object (Model) +operation.com.evolveum.midpoint.model.api.ModelService.discoverConnectors=Discover connectors +operation.com.evolveum.midpoint.model.api.ModelService.executeChanges=Execute changes (Model) +operation.com.evolveum.midpoint.model.api.ModelService.getObject=Get object (Model) +operation.com.evolveum.midpoint.model.api.ModelService.getPropertyAvailableValues=Get Property Available Values (Model) +operation.com.evolveum.midpoint.model.api.ModelService.importAccountsFromResource=Import accounts from resource +operation.com.evolveum.midpoint.model.api.ModelService.importObjectsFromFile=Import objects (Model) +operation.com.evolveum.midpoint.model.api.ModelService.importObjectsFromStream=Import objects (Model) +operation.com.evolveum.midpoint.model.api.ModelService.listAccountShadowOwner=List Account Shadow Owner +operation.com.evolveum.midpoint.model.api.ModelService.listObjects=List objects (Model) +operation.com.evolveum.midpoint.model.api.ModelService.listResourceObjectShadows=List resource object shadows (Model) +operation.com.evolveum.midpoint.model.api.ModelService.listResourceObjects=List resource objects (Model) +operation.com.evolveum.midpoint.model.api.ModelService.modifyObject=Modify object (Model) +operation.com.evolveum.midpoint.model.api.ModelService.modifyObjectWithExclusion=Modify object with exclusion +operation.com.evolveum.midpoint.model.api.ModelService.postInit=Post initialization (Model) +operation.com.evolveum.midpoint.model.api.ModelService.testResource=Test Resource (Model) +operation.com.evolveum.midpoint.model.ChangeExecutor.executeChanges=Execute changes - change executor (Model) +operation.com.evolveum.midpoint.model.common.mapping.Mapping.evaluate=Mapping evaluate (Model) +operation.com.evolveum.midpoint.model.controller.ModelControllerImpl.createAccount=Create account +operation.com.evolveum.midpoint.model.controller.ModelControllerImpl.getSystemConfiguration=Get system configuration +operation.com.evolveum.midpoint.model.controller.ModelControllerImpl.processUserTemplate=Process user template +operation.com.evolveum.midpoint.model.controller.ModelControllerImpl.resolveAccountAttributes=Resolve account attributes +operation.com.evolveum.midpoint.model.controller.ModelControllerImpl.resolveUserAttributes=Resolve user attributes +operation.com.evolveum.midpoint.model.controller.ModelControllerImpl.updateAccount=Update account +operation.com.evolveum.midpoint.model.controller.ModelController.modifyObjectWithExclusion=Modify object with exclusion +operation.com.evolveum.midpoint.model.controller.ModelController.processAddDeleteAccountFromChanges=Process account from changes +operation.com.evolveum.midpoint.model.controller.ModelController.searchObjectsInProvisioning=Search objects in provisioning +operation.com.evolveum.midpoint.model.controller.ModelController.searchObjectsInRepository=Search objects in repository +operation.com.evolveum.midpoint.model.controller.ModelController.searchObjects=Search objects (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.user.getObject=Get object (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.user.searchObjects.employeeType=Search objects - employeeType (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.user.searchObjects.fullName=Search objects - fullName (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.user.searchObjects.organization=Search objects - organization (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.lookupTable.getObject=Get object (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.lookupTable.getObject.key=Get object by row key (Model) +operation.com.evolveum.midpoint.model.controller.SchemaHandler.insertUserDefinedVariables=Insert user defined variables +operation.com.evolveum.midpoint.model.controller.SchemaHandler.processAttributeInbound=Process attribute inbound +operation.com.evolveum.midpoint.model.controller.SchemaHandler.processInboundHandling=Process inbound handling +operation.com.evolveum.midpoint.model.controller.SchemaHandler.processOutboundHandling=Process outbound handling +operation.com.evolveum.midpoint.model.controller.SchemaHandler.processPropertyConstruction=Process property construction +operation.com.evolveum.midpoint.model.controller.SchemaHandler.processPropertyConstructions=Process property constructions +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.user=Repository self test, user (Model) +operation.com.evolveum.midpoint.model.impl.controller.ModelDiagController.repositorySelfTest.lookupTable=Repository self test, lookup table (Model) +operation.com.evolveum.midpoint.model.importer.ImportAccountsFromResourceTaskHandler.launch=Import accounts from resource +operation.com.evolveum.midpoint.model.importer.ObjectImporter.checkResourceSchema=Check resource schema +operation.com.evolveum.midpoint.model.importer.ObjectImporter.encryptValues=Encryption +operation.com.evolveum.midpoint.model.importer.ObjectImporter.importObjectToRepository=Store object in repository +operation.com.evolveum.midpoint.model.importer.ObjectImporter.resolveReference=Reference resolution +operation.com.evolveum.midpoint.model.importer.ObjectImporter.validateDynamicSchema=Validate dynamic schema +operation.com.evolveum.midpoint.model.importer.ObjectImporter.validateResourceConfigurationSchema=Validate resource configuration schema +operation.com.evolveum.midpoint.model.lens.ChangeExecutor.executeChanges=Execute changes - change executor (Model) +operation.com.evolveum.midpoint.model.lens.ChangeExecutor.executeDelta=Execute delta (Model) +operation.com.evolveum.midpoint.model.lens.ChangeExecutor.execute=Execute (Model) +operation.com.evolveum.midpoint.model.lens.ChangeExecutor.execute.focus.UserType=Execute user delta (Model) +operation.com.evolveum.midpoint.model.lens.ChangeExecutor.execute.projection.ShadowType=Execute shadow delta (Model) +operation.com.evolveum.midpoint.model.lens.projector.ContextLoader.checkProjectionContexts=检查投射上下文(模型数据) +operation.com.evolveum.midpoint.model.lens.projector.InboundProcessor.processInbound=Process inbound (Model) +operation.com.evolveum.midpoint.model.lens.projector.Projector.project=Project (Model) +operation.com.evolveum.midpoint.model.lens.projector.ReconciliationProcessor.processReconciliation=Process reconciliation (Model) +operation.com.evolveum.midpoint.model.synchronizer.InboundProcessor.processInbound=Process inbound (Model) +operation.com.evolveum.midpoint.model.synchronizer.ReconciliationProcessor.processReconciliation=Process reconciliation (Model) +operation.com.evolveum.midpoint.model.synchronizer.UserSynchronizer.checkAccountContextReconciliation=Check account context reconciliation (Model) +operation.com.evolveum.midpoint.model.sync.SynchronizeAccountResultHandler.handle=Synchronize account result handler, handle (Model) +operation.com.evolveum.midpoint.notifications.AccountOperationListener.notifyFailure=Notify failure (Notifications) +operation.com.evolveum.midpoint.notifications.AccountOperationListener.notifyInProgress=Notify in progress (Notifications) +operation.com.evolveum.midpoint.notifications.AccountOperationListener.notifySuccess=Notify success (Notifications) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.addObject=Add object (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.deleteObject=Delete object (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.discoverConnectors=Discover connectors (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.getObject=Get object (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.modifyObject=Modify object (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.searchObjects=Search objects (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ProvisioningService.testResource=Test resource (Provisioning) +operation.com.evolveum.midpoint.provisioning.api.ResourceObjectChangeListener.checkSituation=Check synchronization situation +operation.com.evolveum.midpoint.provisioning.api.ResourceObjectChangeListener.notifyChange=Notify change +operation.com.evolveum.midpoint.provisioning.impl.ResourceManager.completeResource=Complete resource (Provisioning) +operation.com.evolveum.midpoint.provisioning.impl.ResourceTypeManager.completeResource=Complete resource (Provisioning) +operation.com.evolveum.midpoint.provisioning.impl.ShadowConverter.addShadow=Add shadow (Provisioning) +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.addObject=Add object (Ucf) +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.configure=UCF connector configuration +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.deleteObject=Delete object (Ucf) +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.fetchObject=Fetch object (Ucf) +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.getCapabilities=Capabilities (Ucf) +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.initialize=Connector initialization (Ucf) +operation.com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.modifyObject=Modify object (Ucf) +operation.com.evolveum.midpoint.repo.api.RepositoryService.addObject=Add object (Repository) +operation.com.evolveum.midpoint.repo.api.RepositoryService.deleteObject=Delete object (Repository) +operation.com.evolveum.midpoint.repo.api.RepositoryService.getObject=Get object (Repository) +operation.com.evolveum.midpoint.repo.api.RepositoryService.modifyObject=Modify object (Repository) +operation.com.evolveum.midpoint.repo.api.RepositoryService.searchObjects=Search objects (Repository) +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.connector.connection=Connector connection +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.connector.initialization=Connector initialization +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.connector.configuration=Connector configuration +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.connector.capabilities=Connector capabilities +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.resourceSchema=Resource schema +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.resourceSanity=Resource sanity +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.extraTest=Extra test +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.testConnection=Test connection +operation.com.evolveum.midpoint.task.api.TaskManager.addTask=Add task (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.createTaskInstance=Create task instance (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.deactivateServiceThreads=Deactivate local service threads (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.deleteTask=Delete task (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.getNextRunStartTime=Get next task run start time (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.getNextStartTimes=Get next task start times (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.getTask=Get task (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.onTaskCreate=Task creation listener (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.onTaskDelete=Task deletion listener (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.reactivateServiceThreads=Reactivate local service threads (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.resumeTask=Resume task (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.searchNodes=Search nodes (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.searchTasks=Search tasks (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.suspendTasks=Suspend tasks (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.switchToBackground=Switch task to background (Task) +operation.com.evolveum.midpoint.task.quartzimpl.cluster.ClusterManager.stopClusterManagerThread=Stop ClusterManager thread (Task) +operation.com.evolveum.midpoint.task.quartzimpl.cluster.NodeRegistrar.deleteNode=Delete node (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.addNodeAndTaskInformation=Add node and tasks information (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.getClusterStatusInformation=Get cluster status information (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.scheduleTaskNow=Schedule task now (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.startScheduler=Start scheduler (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.stopAllTasksOnThisNodeAndWait=Stop all tasks on this node and wait for their completion (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.stopSchedulersAndTasks=Stop schedulers and tasks (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.stopScheduler=Stop scheduler (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.stopTasksRunAndWait=Stop tasks and wait for their completion (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.unscheduleTask=Unschedule task (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.waitForTaskRunCompletion=Wait for task run completion (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.LocalNodeManager.getLocallyRunningTasks=Get locally running tasks (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.LocalNodeManager.stopLocalTaskRun=Stop local task run (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.LocalNodeManager.stopSchedulerAndTasks=Stop scheduler and tasks on local node (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.RemoteNodesManager.addNodeStatusFromRemoteNode=Get status of remote node (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.RemoteNodesManager.stopRemoteScheduler=Stop remote scheduler (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.RemoteNodesManager.stopRemoteTaskRun=Stop remote task run (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.TaskSynchronizer.synchronizeJobStores=Synchronize system repository and Quartz Job Store (Task) +operation.com.evolveum.midpoint.task.quartzimpl.execution.TaskSynchronizer.synchronizeTask=Synchronize task in system repository and Quartz Job Store (Task) +operation.com.evolveum.midpoint.task.quartzimpl.GlobalExecutionManager.addNodeAndTaskInformation=Add node and task information (Task) +operation.com.evolveum.midpoint.task.quartzimpl.GlobalExecutionManager.stopSchedulersAndTasks=Stop schedulers and tasks (Task) +operation.com.evolveum.midpoint.task.quartzimpl.LocalExecutionManager.getLocallyRunningTasks=Get locally running tasks (Task) +operation.com.evolveum.midpoint.task.quartzimpl.TaskManagerQuartzImpl.addTaskToRepositoryAndQuartz=Add task to repository and Quartz Job Store (Task) +operation.com.evolveum.midpoint.web.component.assignment.AssignmentEditorPanel.loadAttributes=Load attributes (Gui) +operation.com.evolveum.midpoint.web.component.assignment.AssignmentEditorPanel.loadObject=Load object (Gui) +operation.com.evolveum.midpoint.web.component.assignment.AssignmentEditorPanel.loadResource=Load resource (Gui) +operation.com.evolveum.midpoint.web.component.orgStruct.BookmarkableFolderContent.loadOrgUnit=Loading organization unit +operation.com.evolveum.midpoint.web.component.prism.ContainerWrapper.createProperties=Create properties (Gui) +operation.com.evolveum.midpoint.web.component.prism.ObjectWrapper.createContainers=Create containers (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.deleteObject=Delete object (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.deleteObjects=Delete objects (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageDebugView.loadObject=Load object (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageDebugView.saveObject=Save object (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageImportObject.importFile=Import file (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageImportObject.importXml=Import xml (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageInternals.changeTime=Change time (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageInternals.changeTimeReset=Change time - reset (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageLogging.loadLoggingConfiguration=Load logging configuration (Gui) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageLogging.updateLoggingConfiguration=Update logging configuration (Gui) +operation.com.evolveum.midpoint.web.page.admin.help.PageSystem.getRepoDiag=Get repository diagnostics (Gui) +operation.com.evolveum.midpoint.web.page.admin.help.PageSystem.testRepository=Test repository (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageDashboard.loadAccounts=Load accounts (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageDashboard.loadAssignments=Load assignments (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageDashboard.loadUser=Load user (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageDashboard.loadWorkItems=Load work items (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageMyPasswords.loadAccount=Load account (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageMyPasswords.loadUser=Load user (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageMyPasswords.loadUserWithAccounts=Load user with accounts (Gui) +operation.com.evolveum.midpoint.web.page.admin.home.PageMyPasswords.savePassword=Save password (Gui) +operation.com.evolveum.midpoint.web.page.admin.reports.PageReport.saveReport=Save report (Gui) +operation.com.evolveum.midpoint.web.page.admin.reports.PageReports.loadReport=Load report (Gui) +operation.com.evolveum.midpoint.web.page.admin.reports.PageReports.runReport=Run report (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.content.dto.AccountContentDataProvider.loadAccounts=Load accounts (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.content.PageAccount.saveAccount=Save account (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.content.PageContentAccounts.changeOwner=Change owner (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.content.PageContentAccounts.createUserFromAccount=Create user from account (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.dto.ResourceDtoProvider.countResources=Count resources (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.dto.ResourceDtoProvider.listResources=List resources (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageAdminResources.loadResource=Load resource (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageResourceEdit.saveResource=Save resource (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageResource.importFromResource=Import from resource +operation.com.evolveum.midpoint.web.page.admin.resources.PageResources.connectorDiscovery=Connector discovery (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageResources.deleteHosts=Delete hosts (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageResources.deleteResources=Delete resources (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageResources.syncStatus=Synchronization status (Gui) +operation.com.evolveum.midpoint.web.page.admin.resources.PageResources.testResource=Test resource (Gui) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRole.loadRole=Load role (Gui) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRole.saveRole=Save role (Gui) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.deleteRoles=Delete roles (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.dto.NodeDtoProvider.countNodes=Count nodes (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.dto.NodeDtoProvider.listNodes=List nodes (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.dto.TaskDtoProvider.countTasks=Count tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.dto.TaskDtoProvider.listTasks=List tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTaskAdd.saveTask=Save task (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.deactivateServiceThreads=Deactivate service threads (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.deleteNodes=Delete nodes (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.deleteTasks=Delete tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.reactivateServiceThreads=Reactivate service threads (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.resumeTask=Resume task (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.resumeTasks=Resume tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.scheduleTasks=Schedule tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.startSchedulers=Start schedulers (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.stopSchedulersAndTasks=Stop schedulers and tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.stopSchedulers=Stop schedulers (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.suspendTasks=Suspend tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.server.PageTasks.synchronizeTasks=Synchronize tasks (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.deleteObject=Delete object (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.deleteObjects=Delete objects (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.moveObject=Move object (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.moveObjects=Move objects (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.updateObjects=Update objects (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.updateObject=Update object (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageOrgUnit.saveOrgUnit=Save org. unit (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.loadAccount=Load account (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.loadAccounts=Load accounts (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.loadAssignment=Load assignment (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.loadAssignments=Load assignments (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.loadUser=Load user (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUserPreview.modifyAccount=Modify account (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUserPreview.saveUser=Save user (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.save=Save user (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.deleteUser=Delete user (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.deleteUsers=Delete users (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.disableUser=Disable user (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.disableUsers=Disable users (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.enableUser=Enable user (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.enableUsers=Enable users (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUser.sendToSubmit=Send for submit (Gui) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.reconcileUser=Reconcile user (Gui)\: {0} +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.reconcileUsers=Reconcile users (Gui) +operation.com.evolveum.midpoint.web.page.admin.workflow.PageWorkItem.saveWorkItem=Save work item (Gui) +operation.com.evolveum.midpoint.web.util.WebModelUtils.deleteObject=Delete object (Gui) +operation.com.evolveum.midpoint.web.util.WebModelUtils.loadObject=Load object (Gui) +operation.com.evolveum.midpoint.wf.WfHook.invoke=Workflow hook invocation (Workflow) +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.addObject=Model web service add object +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.deleteObject=Model web service delete object +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.getObject=Model web service get object +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.getPropertyAvailableValues=Model web service get property available values +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.importFromResource=Model web service import from resource +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.listAccountShadowOwner=Model web service list account shadow owner +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.listObjects=Model web service list objects +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.listResourceObjectShadows=Model web service list resource object shadows +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.listResourceObjects=Model web service list resource objects +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.modifyObject=Model web service modify object +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.searchObjects=Model web service search objects +operation.com.evolveum.midpoint.xml.ns._public.model.model_1_wsdl.ModelPortType.testResource=Model web service test resource +operation.linkShadow=Link account (Model) +operation.org.identityconnectors.framework.api.ConnectorFacade.addAttributeValues=Add attribute values (Icf) +operation.org.identityconnectors.framework.api.ConnectorFacade.create=Create (Icf) +operation.org.identityconnectors.framework.api.ConnectorFacade.delete=Delete object (ICF) +operation.org.identityconnectors.framework.api.ConnectorFacade.getObject=ICF get object +operation.org.identityconnectors.framework.api.ConnectorFacade.schema=ICF schema +operation.org.identityconnectors.framework.api.ConnectorFacade.update=Update (Icf) +operation.com.evolveum.midpoint.web.component.wizard.resource.NameStep.saveResource=Save resource basic information +operation.com.evolveum.midpoint.web.component.wizard.resource.ConfigurationStep.saveResource=Save resource configuration +operation.com.evolveum.midpoint.web.component.wizard.resource.SchemaHandlingStep.saveSchemaHandling=Save resource schema handling +operation.com.evolveum.midpoint.web.component.wizard.resource.SynchronizationStep.saveResourceSynchronization=Save resource synchronization +operation.com.evolveum.midpoint.web.component.wizard.resource.CapabilityStep.saveCapabilities=Save resource capabilities +operation.com.evolveum.midpoint.web.page.admin.PageAdminFocus.loadShadow=Load shadow +operationResultPanel.cause=Cause\: +operationResultPanel.context=Context\: +operationResultPanel.count=Count\: +operationResultPanel.hideStack=[ HIDE ERROR STACK ] +operationResultPanel.param=Param\: +operationResultPanel.showStack=[ SHOW ERROR STACK ] +operationResultPanel.times=times +operationResultPanel.title.expectedError=Expected error +operationResultPanel.title.fatalError=Fatal error +operationResultPanel.title.info=Information +operationResultPanel.title.inProgress=In progress +operationResultPanel.title.partialError=Partial error +operationResultPanel.title.success=Success +operationResultPanel.title.unknown=Unknown +operationResultPanel.title.warn=Warning +OperationResultStatus.FATAL_ERROR=Fatal error +OperationResultStatus.IN_PROGRESS=In progress +OperationResultStatus.NOT_APPLICABLE=Not applicable +OperationResultStatus.PARTIAL_ERROR=Partial error +OperationResultStatus.SUCCESS=Success +OperationResultStatus.UNKNOWN=Unknown +OperationResultStatus.WARNING=Warning +operation.unlinkShadow=Unlink account (Model) +operation.updateSituationInShadow=Update situation in account (Model) +org.apache.wicket.extensions.wizard.cancel=Cancel +org.apache.wicket.extensions.wizard.finish=Finish +org.apache.wicket.extensions.wizard.last=Last +org.apache.wicket.extensions.wizard.next=Next +org.apache.wicket.extensions.wizard.previous=Previous +org.apache.wicket.extensions.wizard.validate=Validate +org.apache.wicket.extensions.wizard.save=Save +orgUnitAddDeletePopup.button.add=Add Org. Unit(s) +orgUnitAddDeletePopup.button.cancel=Cancel +orgUnitAddDeletePopup.button.remove=Remove Org. Unit(s) +orgUnitAddDeletePopup.column.name=Name +orgUnitAddDeletePopup.title=Choose Org. Unit +OrgUnitBrowser.cancel=Cancel +OrgUnitBrowser.createRoot=Make it root +OrgUnitBrowser.message.queryError=Error occurred during translation search query to filter. +OrgUnitBrowser.search=Search +OrgUnitBrowser.title=Choose new parent for org. unit +PageAbout.allRightsReserved=©2014 Evolveum. +PageAbout.button.testProvisioning=Provisioning self test +PageAbout.button.cleanupActivitiProcesses=Clean-up Activiti processes +PageAbout.button.testRepositoryCheckOrgClosure=Check and repair org closure consistency +PageAbout.button.reindexRepositoryObjects=Reindex repository objects +PageAbout.button.testRepository=Repository self test +PageAbout.message.couldntObtainJvmParams=Couldn't obtain JVM parameters from JMX. +PageAbout.midPointRevision=${git.describe} +PageAbout.builtAt=Build at +PageAbout.build=${timestamp} +PageAbout.midPointRevisionTitle=Git describe +PageAbout.midPointVersion=${pom.version} +PageAbout.midPointVersionTitle=Version +PageAbout.repoDiag.additionalDetails.name=Name +PageAbout.repoDiag.additionalDetails.value=Value +PageAbout.repoDiag.driverShortName=Driver short name +PageAbout.repoDiag.driverVersion=Driver version +PageAbout.repoDiag.implementationDescription=Implementation description +PageAbout.repoDiag.implementationShortName=Implementation name +PageAbout.repoDiag.isEmbedded=Is embedded +PageAbout.repoDiag.repositoryUrl=Repository URL +PageAbout.title=About this system +PageAbout.title.basic=Basic +PageAbout.title.jvmProperties=JVM properties +PageAbout.title.provisioning=Provisioning +PageAbout.title.repository.additional=Additional details +PageAbout.title.repository=Repository +PageAbout.title.systemProperties=System properties +PageAbout.unknownBuildNumber=unknown +pageAccount.button.back=Back +pageAccount.button.save=Save +pageAccount.description=Account on resource +pageAccount.message.cantEditAccount=Couldn't load account for editing. +pageAccount.message.cantEditProtectedAccount=This is protected account, it can't be modified. +PageAccounts.accounts.description=Description +PageAccounts.accounts.intent=Intent +PageAccounts.accounts.kind=Kind +PageAccounts.accounts.name=Name +PageAccounts.accounts.objectClass=Object class +PageAccounts.accounts.failedOperationType=Failed operation +PageAccounts.accounts.oid=Oid +PageAccounts.accounts.owner=Owner +PageAccounts.accounts.result=Result +PageAccounts.accounts.synchronizationSituation=Situation +PageAccounts.accounts.synchronizationTimestamp=Timestamp +PageAccounts.button.clearExportFolder=Clear export folder +PageAccounts.button.export=Export +PageAccounts.button.load=Load +PageAccounts.count=Count +PageAccounts.deleted=Deleted +PageAccounts.disputed=Disputed +PageAccounts.exportException=Error occurred during export, reason {0} +PageAccounts.exportFileDoesntExist=Couldn't create file {0} +PageAccounts.linked=Linked +PageAccounts.message.cantShowOwner=Can't show details of owner. +PageAccounts.message.ownerNotFound=Could not found owner for shadow with oid {0}. +PageAccounts.message.unsupportedOwnerType=Unsupported owner type. +pageAccounts.message.resourceNotSelected=Resource not selected. Please select a resource to display it's shadows. +PageAccounts.message.success.clearExport=Export folder was cleared successfully +PageAccounts.message.success.export=Export was successful. Exported file\: {0}. +PageAccounts.message.validationError=Searched objectClass value\: '{0}' is not valid. Please provide valid objectClass value. +PageAccounts.nothing=Nothing +PageAccounts.resource=Resource +PageAccounts.shadows=Shadows +PageAccounts.state=State +PageAccounts.summary=Summary +PageAccounts.title=Shadow synchronization details +PageAccounts.total=Total +PageAccounts.unlinked=Unlinked +PageAccounts.unmatched=Unmatched +PageAccount.title=Account '{0}' on '{1}' +pageAdmin.certification=Certification +pageAdmin.certification.description=Certifications, recertifications +pageAdmin.configuration=Configuration +pageAdmin.configuration.description=Security, logging, import +pageAdmin.home.description=Start here +pageAdmin.home=主页 +PageAdmin.menu.top.certification.campaigns=Campaigns +PageAdmin.menu.top.certification.scheduling=Campaigns scheduling +PageAdmin.menu.top.certification=Certification +PageAdmin.menu.top.certification.decisions=My work items +PageAdmin.menu.top.certification.definitions=Campaign definitions +PageAdmin.menu.top.certification.newDefinition=New campaign definition +PageAdmin.menu.top.certification.viewDefinition=View campaign definition +PageAdmin.menu.top.configuration.about=About +PageAdmin.menu.top.configuration.basic=System +PageAdmin.menu.top.configuration.bulkActions=Bulk actions +PageAdmin.menu.top.configuration.repoQuery=Query playground +PageAdmin.menu.top.configuration.evaluateMapping=Mapping playground +PageAdmin.menu.top.configuration=Configuration +PageAdmin.menu.top.configuration.configuration=Configuration +PageAdmin.menu.top.configuration.development=Development +PageAdmin.menu.top.configuration.expressionEvaluator=Expression evaluator +PageAdmin.menu.top.configuration.importObject=Import object +PageAdmin.menu.top.configuration.internals=Internals configuration +PageAdmin.menu.top.configuration.logging=Logging +PageAdmin.menu.top.configuration.notifications=Notifications +PageAdmin.menu.top.configuration.profiling=Profiling +PageAdmin.menu.top.configuration.adminGui=Admin GUI +PageAdmin.menu.top.configuration.repositoryObjects=Repository objects +PageAdmin.menu.top.configuration.security=Security +PageAdmin.menu.top.configuration.shadowsDetails=Shadows details +PageAdmin.menu.top.home=主页 +PageAdmin.menu.top.reports.created=Created reports +PageAdmin.menu.top.reports.list=List reports +PageAdmin.menu.top.reports.new=Import Jasper report +PageAdmin.menu.top.reports=Reports +PageAdmin.menu.top.resources.import=Import resource definition +PageAdmin.menu.top.resources.list=List resources +PageAdmin.menu.top.resources.new=New resource +PageAdmin.menu.top.resources.view=View resource +PageAdmin.menu.top.resources.edit=Edit resource +PageAdmin.menu.top.resources=Resources +PageAdmin.menu.top.connectorHosts.list=List connector hosts +PageAdmin.menu.top.roles.list=List roles +PageAdmin.menu.top.roles.new=New role +PageAdmin.menu.top.roles=Roles +PageAdmin.menu.top.serverTasks.list=List tasks +PageAdmin.menu.top.serverTasks.new=New task +PageAdmin.menu.top.serverTasks=Server tasks +PageAdmin.menu.top.users.find=Find users +PageAdmin.menu.top.users.list=List users +PageAdmin.menu.top.users.new=New user +PageAdmin.menu.top.users.org.new=New organization +PageAdmin.menu.top.users.org=Org. structure +PageAdmin.menu.top.users.org.tree=Organization tree +PageAdmin.menu.top.users=Users +PageAdmin.menu.top.workItems.listClaimable=Items claimable by me +PageAdmin.menu.top.workItems.list=My items +PageAdmin.menu.top.workItems.listAll=All items +PageAdmin.menu.top.workItems.listProcessInstancesAll=All requests +PageAdmin.menu.top.workItems.listProcessInstancesRequestedBy=My requests +PageAdmin.menu.top.workItems.listProcessInstancesRequestedFor=Requests about me +PageAdmin.menu.top.workItems=Work items +pageAdmin.reports.description=Exporting reports +pageAdmin.reports=Reports +PageAdmin.menu.top.users.requestAssign=Request Assignment +PageAdminObjectDetails.title.editUserType=Edit user '{0}' +PageAdminObjectDetails.title.newUserType=Create new user +PageAdminObjectDetails.title.editRoleType=Edit role '{0}' +PageAdminObjectDetails.title.newServiceType=Create new service +PageAdminObjectDetails.title.editServiceType=Edit service '{0}' +PageAdminObjectDetails.title.newRoleType=Create new role +PageAdminObjectDetails.title.editOrgType=Edit organization '{0}' +PageAdminObjectDetails.title.newOrgType=Create new organization +PageAdminObjectDetails.noChangesSave=There were no changes to be saved. +PageAdminObjectDetails.noChangesPreview=There are no changes to be previewed. +pageAdminFocus.basic=Basic +pageAdminFocus.message.cantEditFocus=发生未知的错误,不能编辑主对象。 +pageAdminFocus.message.cantNewFocus=发生未知的错误,不能创建新的主对象。 +pageAdminFocus.message.illegalAccountState=Illegal shadow state '{0}'. +pageAdminFocus.message.noAssignmentsAvailable=There are currently no assignments to preview. +pageAdminFocus.message.noOrgSelected=No organization was selected. +pageAdminFocus.menu.assignShadow=Assign resource +pageAdminFocus.menu.assignRole=Assign role +pageAdminFocus.menu.assignOrg=Assign org. unit +pageAdminFocus.menu.unassign=Unassign +pageAdminFocus.button.addShadow=添加投射对象 +pageAdminFocus.button.enable=Enable +pageAdminFocus.button.disable=Disable +pageAdminFocus.button.unlink=Unlink +pageAdminFocus.button.unlock=Unlock +pageAdminFocus.button.delete=Delete +pageAdminFocus.button.addToOrg=Add to organization +pageAdminFocus.focusDetails=Details +pageAdminFocus.projections=投射关系 +pageAdminFocus.personas=Personas +pageAdminFocus.organizations=Organizations +pageAdminFocus.assignments=Assignments +pageAdminFocus.message.couldntCreateAccountNoSchema=由于没有定义结构,不能从“{0}”创建投射对象表单。可能是连接器的配置或者连接问题,请查看日志获取更多的信息。 +pageAdminFocus.message.couldntCreateAccountNoAccountSchema=由于没有定义默认账号结构,不能从“{0}”创建投射对象表单。可能是资源的配置问题,请查看日志获取更多的信息。 +pageAdminFocus.message.couldntCreateAccount=不能为 “{0}” 创建投射对象表单,原因: {1}。 +pageAdminFocus.message.noAssignableSelected=No assignment selected. +pageAdminFocus.message.couldntAssignObject=Couldn't assign object '{0}', reason\: {1}. +pageAdminFocus.message.noActivationFound=没有为“{0}”投射对象找到激活信息。 +pageAdminFocus.message.noEnabledPropertyFound=No enabled property found for account '{0}'. +pageAdminFocus.message.noLockoutStatusPropertyFound=No lockout status property found for account '{0}'. +pageAdminFocus.message.notLocked=Account '{0}' is not locked. +pageAdminFocus.message.unlocked=Account '{0}' was marked to be unlocked. Apply by choosing 'Save'. +pageAdminFocus.message.noAccountSelected=没有选择投射对象。 +pageAdminFocus.message.noAssignmentSelected=No assignment selected. +pageAdminFocus.title.selectResource=Select resource(s) +pageAdminFocus.title.selectAssignable=Select object(s) +pageAdminFocus.task.name=Task name +pageAdminFocus.task.category=Category +pageAdminFocus.task.descriptionHasTasks=Active tasks related to this object\: +pageAdminFocus.task.descriptionNoTasks=There are no active tasks related to this object. +pageAdminFocus.task.execution=Execution state +pageAdminFocus.task.status=Status +pageAdminFocus.tasks=Tasks +pageAdminFocus.button.save=Save +pageAdminFocus.button.previewChanges=Preview changes +pageAdminFocus.button.abort=Abort +pageAdminFocus.button.back=Back +pageAdminFocus.button.continueEditing=Continue editing +pageAdminFocus.title.confirmDelete=Confirm delete +pageAdminFocus.message.deleteAccountConfirm=确定要删除{0}投射对象? +pageAdminFocus.message.deleteAssignmentConfirm=Do you really want to delete {0} assignment(s)? +pageAdminResources.accountDetails=Account details +pageAdminResources.contentAccounts=Content +pageAdmin.resources.description=Connected systems +pageAdminResources.detailsResource=Resource details +pageAdminResources.editResource=Edit resource +pageAdminResources.importResource=Import resource +pageAdminResources.listResources=List resources +pageAdminResources.message.cantLoadResource=Couldn't load resource details. +pageAdminResources.newResource=New resource +pageAdmin.resources=Resources +pageAdmin.roles.description=Roles configuration +pageAdmin.roles=Roles +pageAdmin.serverTasks.description=Running tasks +pageAdmin.serverTasks=Server Tasks +pageAdmin.users.description=Users in repository +pageAdmin.users=Users +pageAdmin.workItems.description=Requests, approving +pageAdmin.workItems=Work Items +PageBase.button.abort=Abort +PageBase.button.back=Back +PageBase.button.cancel=Cancel +PageBase.button.delete=Delete +PageBase.button.edit=Edit +PageBase.button.run=Run +PageBase.button.saveAndRun=Save & Run +PageBase.button.save=Save +PageBase.button.search=Search +PageBase.button.send=Send +PageBase.button.update=Update +PageBase.clearCssCache=Clear less/js cache +pageBase.midPointVersion=${pom.version}, ${git.describe} +pageBase.unknownBuildNumber=unknown +PageBase.subscriptionMessage=Non-subscription. +PageBase.nonActiveSubscriptionMessage=No active subscription. Please support midPoint by purchasing a subscription. +PageBase.demoSubscriptionMessage=Demo subscription. +PageBulkAction.async=Asynchronous +PageBulkAction.button.start=Start +PageBulkAction.message.emptyString=Inserted bulk action is empty. Please provide non-empty script. +PageBulkAction.options=Options +PageBulkAction.title=User bulk actions +PageRepositoryQuery.title=Repository query +PageRepositoryQuery.button.translateAndExecute=Translate and execute +PageRepositoryQuery.button.translate=Translate to hibernate query +PageRepositoryQuery.button.useInObjectList=Use in object list +PageRepositoryQuery.button.execute=Execute +PageRepositoryQuery.message.emptyString=Entered query string is empty. Please provide non-empty query string. +PageRepositoryQuery.result=Result +PageRepositoryQuery.resultObjects=Result\: retrieved {0} object(s) +PageRepositoryQuery.resultException=Result\: {0} +PageRepositoryQuery.midPoint=MidPoint query +PageRepositoryQuery.objectType=Object type\: +PageRepositoryQuery.hibernateQuery=Hibernate query +PageRepositoryQuery.hibernateParameters=Query parameters +PageRepositoryQuery.hibernateParametersNote=Note\: The parameters are shown here only to indicate how midPoint query is translated into hibernate query. They are not used when manually executing a hibernate query, so the query you enter here should contain no references to parameters. +PageRepositoryQuery.incompleteResultsNote=Because you do not have administrator rights, results shown here were probably filtered by applying additional search conditions derived from your authorizations. These additional conditions are not visible in the hibernate query shown above. +PageRepositoryQuery.chooseSample=Or use a sample\: +PageRepositoryQuery.sample.ObjectType_AllObjectsInAnOrg=All objects in an organization (directly) +PageRepositoryQuery.sample.ObjectType_AllObjectsInASubtree=All objects in a subtree +PageRepositoryQuery.sample.OrgType_AllRootOrgs=All organizational roots +PageRepositoryQuery.sample.OrgType_OrgOfType1=Organizations of type "type1" +PageRepositoryQuery.sample.UserType_AllUsers=All users +PageRepositoryQuery.sample.UserType_UsersStartingWithA=Users starting with "a" (normalized) +PageRepositoryQuery.sample.UserType_UsersContainingJack=Users containing "jack" in a name (normalized) +PageRepositoryQuery.sample.UserType_UsersNamedJack=Users with a given name of "jack" (normalized) +PageRepositoryQuery.sample.UserType_First10UsersStartingWithA=First 10 users starting with "a" +PageRepositoryQuery.sample.UserType_UsersWithAGivenMailDomain=Users with a given mail domain +PageRepositoryQuery.sample.UserType_UsersThatHaveAssignedRole=Users that have a direct assignment of a role +PageRepositoryQuery.sample.UserType_UsersThatHaveARole=Users that have active assignment of a role +PageRepositoryQuery.sample.UserType_SpecifiedCostCenters=Users in cost centers 100000-999999 or X100-X999 +PageRepositoryQuery.sample.ShadowType_ShadowsOnGivenResource=Shadows on a given resource +PageRepositoryQuery.sample.UserType_UsersWithShadowOnGivenResource=Users with linked shadow on a given resource +PageRepositoryQuery.queryVsFilterNote=Note\: midPoint query contains a filter along with paging instruction, wrapped together within the <query> element. In contrast, when used in "Advanced filter" in GUI, only the <filter> sub-element is applicable. Paging is managed by the GUI itself. +PageCert.ago={0} ago +PageCertCampaign.basic=Basic +PageCertCampaign.button.back=Back +PageCertCampaign.button.closeCampaign=Close campaign +PageCertCampaign.button.closeStage=Close stage +PageCertCampaign.button.openNextStage=Open next stage +PageCertCampaign.button.startCampaign=Start campaign +PageCertCampaign.button.startRemediation=Start remediation +PageCertCampaign.currentState=Current state +PageCertCampaign.description=Description +PageCertCampaign.menu.accept=Accept +PageCertCampaign.menu.delegate=Delegate +PageCertCampaign.menu.noResponse=No Response +PageCertCampaign.menu.notDecided=Not Decided +PageCertCampaign.menu.reduce=Reduce +PageCertCampaign.menu.revoke=Revoke +PageCertCampaign.name=Name +PageCertCampaign.numberOfStages=Number of stages +PageCertCampaign.owner=Owner +PageCertCampaigns.agoForCampaign=(campaign\: {0} ago) +PageCertCampaigns.agoForStage={0} ago +PageCertCampaigns.button.closeCampaign=Close campaign +PageCertCampaigns.button.closeStage=Close stage +PageCertCampaigns.button.openNextStage=Open next stage +PageCertCampaigns.button.startCampaign=Start campaign +PageCertCampaigns.button.startRemediation=Start remediation +PageCertCampaigns.dialog.title.confirmCloseCampaign=Confirm Close Campaign +PageCertCampaigns.dialog.title.confirmCloseStage=Confirm Close Stage +PageCertCampaigns.dialog.title.confirmDeleteCampaign=Confirm Delete Campaign +PageCertCampaigns.inForCampaign=(campaign\: in {0}) +PageCertCampaigns.inForStage=in {0} +PageCertCampaigns.menu.close=Close campaign +PageCertCampaigns.menu.closeSelected=Close selected campaigns +PageCertCampaigns.menu.delete=Delete campaign +PageCertCampaigns.menu.deleteSelected=Delete selected campaigns +PageCertCampaigns.menu.startSelected=Start selected campaigns +PageCertCampaigns.message.closeCampaignConfirmMultiple=Do you really want to close selected {0} campaigns? +PageCertCampaigns.message.closeCampaignConfirmSingle=Do you really want to close campaign '{0}' ? +PageCertCampaigns.message.closeStageConfirmSingle=Do you really want to close current stage for '{0}'? +PageCertCampaigns.message.deleteCampaignConfirmMultiple=Do you really want to delete selected {0} campaigns? +PageCertCampaigns.message.deleteCampaignConfirmSingle=Do you really want to delete campaign '{0}' ? +PageCertCampaigns.message.noCampaignsSelected=No relevant campaigns selected +PageCertCampaigns.nowForCampaign=(campaign\: now) +PageCertCampaigns.nowForStage=now +PageCertCampaigns.table.deadline=Stage (campaign) deadline +PageCertCampaigns.table.escalationLevel=Esc. level +PageCertCampaigns.table.description=Description +PageCertCampaigns.table.name=Name +PageCertCampaigns.table.stages=Stages +PageCertCampaigns.table.stage=Stage +PageCertCampaigns.table.state=State +PageCertCampaign.stageTime=Stage time +PageCertCampaign.escalationLevel=Escalation level +PageCertCampaign.statistics.accept=Accept +PageCertCampaign.statistics.delegate=Delegate +PageCertCampaign.statistics.items=Items +PageCertCampaign.statistics.noDecision=No decision (abstain) +PageCertCampaign.statistics.noResponse=No response +PageCertCampaign.statistics.reduce=Reduce +PageCertCampaign.statistics.reduceRemedied=Reduce - remedied +PageCertCampaign.statistics.remedied=Remedied +PageCertCampaign.statistics.response=Response +PageCertCampaign.statistics.revokeRemedied=Revoke - remedied +PageCertCampaign.statistics.revoke=Revoke +PageCertCampaign.statistics=Statistics +PageCertCampaigns.title=Access Certification Campaigns {0} +PageCertCampaign.table.campaignName=Campaign name +PageCertCampaign.table.comments=Comments +PageCertCampaign.table.deadline=Deadline +PageCertCampaign.table.decision=Decision +PageCertCampaign.table.objectName=Object +PageCertCampaign.table.remediedAt=Remedied at +PageCertCampaign.table.requested=Requested +PageCertCampaign.table.reviewers=Reviewers +PageCertCampaign.table.reviewedAt=Reviewed at +PageCertCampaign.table.reviewedBy=Reviewed by +PageCertCampaign.table.reviewedInStage=In stage +PageCertCampaign.table.targetName=Target +PageCertCampaign.table.conflictingTargetName=Conflicting +PageCertCampaign.noReviewers=(none) +PageCertCampaign.time=Time +PageCertCampaign.title=Access Certification Campaign +PageCertDecisions.ago={0} ago +PageCertDecisions.checkbox.showNoResponseOnly=Show "no response" cases only +PageCertDecisions.in=in {0} +PageCertDecisions.menu.accept=Accept +PageCertDecisions.menu.acceptSelected=Accept selected +PageCertDecisions.menu.delegate=Delegate +PageCertDecisions.menu.delegateSelected=Delegate selected +PageCertDecisions.menu.noResponse=No Response +PageCertDecisions.menu.noResponseSelected=Mark selected as No response +PageCertDecisions.menu.notDecided=Not Decided +PageCertDecisions.menu.notDecidedSelected=Mark selected as Not decided +PageCertDecisions.menu.reduce=Reduce +PageCertDecisions.menu.reduceSelected=Reduce selected +PageCertDecisions.menu.revoke=Revoke +PageCertDecisions.menu.revokeSelected=Revoke selected +PageCertDecisions.message.noItemSelected=No item selected +PageCertDecisions.now=now +PageCertDecisions.table.campaignName=Campaign name +PageCertDecisions.table.campaignStage=Stage +PageCertDecisions.table.escalation=Esc +PageCertDecisions.table.comment=Comment +PageCertDecisions.table.deadline=Deadline +PageCertDecisions.table.decision=Decision +PageCertDecisions.table.objectName=Object +PageCertDecisions.table.requested=Requested +PageCertDecisions.table.targetName=Target +PageCertDecisions.table.conflictingTargetName=Conflicting +PageCertDecisions.table.targetType=Type +PageCertDecisions.title=My certification work items +PageCertDefinition.basicInformation=Basic information +PageCertDefinition.button.back=Back +PageCertDefinition.button.save=Save +PageCertDefinition.description=Description +PageCertDefinition.name=Name +PageCertDefinition.numberOfStages=Number of stages +PageCertDefinition.outcomeStrategy=Strategy for deriving overall outcome from stage outcomes +PageCertDefinition.campaignsInReviewStage=Campaigns in review stage +PageCertDefinition.campaignsTotal=Campaigns total +PageCertDefinition.campaignLastStarted=Campaign last started +PageCertDefinition.campaignLastClosed=Campaign last closed +PageCertDefinition.owner=Owner +PageCertDefinition.stopReviewOn=stop review on\: +PageCertDefinition.stopReviewOnDefault= +PageCertDefinition.stopReviewOnNone= +PageCertDefinitions.basicInformation=Basic information +PageCertDefinitions.button.createCampaign=Create campaign +PageCertDefinitions.button.deleteDefinition=Delete definition +PageCertDefinitions.button.editAsXml=Edit as XML +PageCertDefinitions.button.showCampaigns=Show campaigns +PageCertDefinitions.deleteDefinitionConfirmSingle=Do you really want to delete definition '{0}'? +PageCertDefinitions.table.description=Description +PageCertDefinitions.table.name=Name +PageCertDefinitions.title=Access Certification Definitions +PageCertDefinitions.title.confirmDelete=Confirm delete +PageCertDefinitionsxmlDefinition=XML definition +PageCertDefinition.title=Access Certification Campaign Definition +PageCertDefinition.campaigns=Campaigns +PageCertDefinition.xmlDefinition=XML definition +PageCertDefinition.scopeDefinition=Scope definition +PageCertDefinition.basic=Basic +PageCertDefinition.scopeName=Scope name +PageCertDefinition.scopeDescription=Scope description +PageCertDefinition.scopeObjectType=Object type +PageCertDefinition.scopeSearchFilter=Filter to select objects +PageCertDefinition.scopeAssignmentsInducements=Include assignments or inducements +PageCertDefinition.scopeIncludeAssignments=Assignments +PageCertDefinition.scopeIncludeInducements=Inducements +PageCertDefinition.scopeIncludeTargetTypes=Include target types +PageCertDefinition.scopeIncludeRoles=Roles +PageCertDefinition.scopeIncludeOrgs=Orgs +PageCertDefinition.scopeIncludeServices=Services +PageCertDefinition.scopeIncludeResources=Resources +PageCertDefinition.scopeIncludeByStatus=Include by activation status +PageCertDefinition.scopeEnabledItemsOnly=Enabled items only +PageCertDefinition.stagesDefinition=Stages definition +PageCert.in=in {0} +PageCert.message.assignment={0} of {1} {2} to {3} {4}. +PageCert.message.textAdministrativeState=Administrative state\: {0}. +PageCert.message.textAssignment=Assignment +PageCert.message.textDescription=Description\: {0}. +PageCert.message.textExtensions=Extensions defined\: {0}. +PageCert.message.textInducement=Inducement +PageCert.message.textIntent=Intent\: {0}. +PageCert.message.textKind=Kind\: {0}. +PageCert.message.textOrder=Order\: {0}. +PageCert.message.textOrg=Org\: {0}. +PageCert.message.textRelation=Relation\: {0}. +PageCert.message.textTenant=Tenant\: {0}. +PageCert.message.textValidFrom=Valid from\: {0}. +PageCert.message.textValidTo=Valid to\: {0}. +PageCert.now=now +StageEditorPanel.stageDefinitionLabelName = Stage Definition \# +StageDefinitionPanel.stageName = Name +StageDefinitionPanel.stageDescription = Description +StageDefinitionPanel.stageDuration = Duration +StageDefinitionPanel.notifyBeforeDeadline = Notify before deadline +StageDefinitionPanel.notifyWhenNoDecision = Notify only when no decision +StageDefinitionPanel.reviewerSpecification = Reviewer specification +StageDefinitionPanel.reviewerSpecificationName = Reviewer specification name (optional) +StageDefinitionPanel.reviewerSpecificationDescription = Reviewer specification description (optional) +StageDefinitionPanel.reviewerSpecificationTarget = Reviewers based on assignment target object +StageDefinitionPanel.reviewerSpecificationObject = Reviewers based on the object being assigned to +StageDefinitionPanel.reviewerUseTargetOwner = Use target owner +StageDefinitionPanel.reviewerUseTargetApprover = Use target approver +StageDefinitionPanel.reviewerUseObjectOwner = Use object owner +StageDefinitionPanel.reviewerUseObjectApprover = Use object approver +StageDefinitionPanel.reviewerUseObjectManager = Reviewers based on the manager of object being assigned to +StageDefinitionPanel.reviewerUseObjectManagerOrgType = Type of organization relation used to determine the manager (optional) +StageDefinitionPanel.reviewerUseObjectManagerAllowSelf = Allow managers to approve their own assignments +StageDefinitionPanel.reviewerUseObjectManagerBox = Use object manager +StageDefinitionPanel.defaultReviewerRef = Default reviewer reference +StageDefinitionPanel.additionalReviewerRef = Additional reviewer reference +StageDefinitionPanel.outcomeStrategy = Decision aggregation strategy in case of more than one reviewer +StageDefinitionPanel.outcomeIfNoReviewers = Outcome if there are no reviewers allocated +StageDefinitionPanel.stopReviewOn = Stop review on +StageDefinitionPanel.remediation = Remediation +StageDefinitionPanel.addNewStageButton = Add stage definition +StageDefinitionPanel.moveStageLeftButton = Move left +StageDefinitionPanel.moveStageRightButton = Move right +StageDefinitionPanel.deleteStageButton = Delete this stage +PageContacts.title=Contacts browser +pageContentAccounts.button.searchButton=Search +pageContentAccounts.dialog.title.confirmDelete=Delete Confirmation +pageContentAccounts.identifiers=Identifiers +pageContentAccounts.intent=Intent +pageContentAccounts.kind=Kind +pageContentAccounts.menu.changeOwner=Change owner +pageContentAccounts.menu.deleteAccount=Delete +pageContentAccounts.menu.disableAccount=Disable +pageContentAccounts.menu.enableAccount=Enable +pageContentAccounts.menu.importAccount=Import +pageContentAccounts.menu.removeOwner=Remove owner +pageContentAccounts.menu.deleteAccounts=Delete selected +pageContentAccounts.menu.disableAccounts=Disable selected +pageContentAccounts.menu.enableAccounts=Enable selected +pageContentAccounts.menu.importAccounts=Import selected +pageContentAccounts.menu.removeOwners=Remove for selected +pageContentAccounts.message.cantImportAccount=Can't import account, oid\={0} +pageContentAccounts.message.cantShowAccountDetails=Can't show details for account {0} ({1}). +pageContentAccounts.message.cantShowUserDetails=Can't show details of user {0} ({1}). +pageContentAccounts.message.deleteConfirmation=Do you really want to delete {0} account(s) from this resource? +pageContentAccounts.message.deleteConfirmationSingle=Do you really want to delete '{0}' account from this resource? +pageContentAccounts.message.noAccountSelected=No accounts has been selected. +pageContentAccounts.message.resourceOidNotDefined=Resource oid is not defined in url. +pageContentAccounts.name=Name +pageContentAccounts.objectClass=Object class +pageContentAccounts.owner=Owner +pageContentAccounts.search=Search +pageContentAccounts.situation=Situation +PageContentAccounts.title=Resource objects on '{0}' +pageContentEntitlements.entitlements=Entitlements +pageContentEntitlements.message.resourceOidNotDefined=Resource oid is not defined in url. +PageContentEntitlements.title={0} +pageCreatedReports.button.delete=Delete +pageCreatedReports.button.download=Download +pageCreatedReports.button.searchButton=Search +pageCreatedReports.dialog.title.confirmDelete=Confirm Delete +pageCreatedReports.filter.default=Choose File Type +pageCreatedReports.filter.filetype=File Type +pageCreatedReports.filter.reportType=Report Type +pageCreatedReports.inlineMenu.deleteAll=Delete All +pageCreatedReports.inlineMenu.deleteSelected=Delete Selected +pageCreatedReports.message.deleteAll=Do you really want to delete all created report outputs? +pageCreatedReports.message.deleteOutputConfirmed=Do you really want to delete selected {0} Created report(s)? +pageCreatedReports.message.deleteOutputSingle=Do you really want to delete Created report '{0}'? +pageCreatedReports.message.downloadError=Could not download Report. +pageCreatedReports.message.fileNotFound=File with report was not found. +pageCreatedReports.message.nothingSelected=No reports have been selected. +pageCreatedReports.message.queryError=Error occurred during translation search query to filter. +pageCreatedReports.table.author=Author +pageCreatedReports.table.description=Description +pageCreatedReports.table.filetype=File Type +pageCreatedReports.table.name=Name +pageCreatedReports.table.time=Time +pageCreatedReports.table.type=Report Type +PageCreatedReports.title=Created Reports +PageDashboard.accounts=My accounts +PageDashboard.activeTasks=Active Tasks +PageDashboard.activeUsers=Active Users +PageDashboard.assignments=My Assignments +PageDashboard.personalInfo=Personal info +PageDashboard.serverLoad=Server Load +PageDashboard.systemInfo=System status +PageDashboard.title=仪表盘 +PageDashboard.usedRam=Used RAM +PageDashboard.workItems=My work items +PageDashboard.infobox.users.label=Users +PageDashboard.infobox.users.number=enabled +PageDashboard.infobox.users.total=total +PageDashboard.infobox.users.archived=archived +PageDashboard.infobox.orgs.label=Organizational units +PageDashboard.infobox.orgs.number=enabled +PageDashboard.infobox.orgs.total=total +PageDashboard.infobox.orgs.archived=archived +PageDashboard.infobox.roles.label=Roles +PageDashboard.infobox.roles.number=enabled +PageDashboard.infobox.roles.total=total +PageDashboard.infobox.roles.archived=archived +PageDashboard.infobox.services.label=Services +PageDashboard.infobox.services.number=enabled +PageDashboard.infobox.services.total=total +PageDashboard.infobox.services.archived=archived +PageDashboard.infobox.resources.label=Resources +PageDashboard.infobox.resources.number=up +PageDashboard.infobox.resources.total=total +PageDashboard.infobox.tasks.label=Tasks +PageDashboard.infobox.tasks.number=active +PageDashboard.infobox.tasks.total=total +pageDebugList.button.clear=Clear +pageDebugList.button.search=Search +pageDebugList.description=Description +pageDebugList.dialog.title.confirmDelete=Confirm delete +pageDebugList.dialog.title.deleteAll=Delete All Objects +pageDebugList.menu.deleteAllIdentities=Delete all identities +pageDebugList.menu.deleteAllType=Delete all of selected type +pageDebugList.menu.deleteSelected=Delete selected +pageDebugList.menu.deleteShadowsOnResource=Delete all shadows on resource +pageDebugList.menu.exportShadowsOnResource=Export all shadows on resource +pageDebugList.menu.exportAll=Export all objects +pageDebugList.menu.exportAllSelectedType=Export all of selected type +pageDebugList.menu.exportSelected=Export selected +pageDebugList.message.countSearchProblem=Couldn't perform search operation on users/shadows/org. units +pageDebugList.message.createFileException=Couldn't create file for download. +pageDebugList.message.deleteAllType=Do you really want to delete all objects of type "{0}"? +pageDebugList.message.deleteObjectConfirm=Do you really want to delete "{0}"? +pageDebugList.message.deleteSelectedConfirm=Do you really want to delete {0} objects? +pageDebugList.message.laxativeProblem=Drop all identities operation has not performed successfully +pageDebugList.message.nothingSelected=No object has been selected. +pageDebugList.message.queryException=Couldn't create query for name substring, reason\: {0} +pageDebugList.message.resourceNotSelected=Resource not selected. +pageDebugList.message.singleOrgDeleteProblem=Couldn't delete org. unit +pageDebugList.message.singleShadowDeleteProblem=Couldn't delete shadow +pageDebugList.message.singleUserDeleteProblem=Couldn't delete user +pageDebugList.messsage.deleteAllOfType=Deleting objects of type {0}. +pageDebugList.messsage.deleteAllResourceShadows=Do you really want to delete all shadows on resource {0}? +pageDebugList.messsage.deleteAllShadowsStarted=Task which deletes all shadows on resource {0} was started. +pageDebugList.name=Name +pageDebugList.oid=Oid +pageDebugList.objectType=Object type +pageDebugList.options=Options +pageDebugList.resourceName=Resource name +pageDebugList.resource=Resource +pageDebugList.resourceType=Resource type +pageDebugList.searchTextPlaceholder=Name +PageDebugList.title=Raw objects +pageDebugList.zipCheck=Use zip +pageDebugView.button.back=Back +pageDebugView.button.save=Save +pageDebugView.edit=Edit +pageDebugView.encrypt=Protected by encryption +pageDebugView.message.cantSaveEmpty=Can't save empty xml. +pageDebugView.message.oidNotDefined=Object oid is not defined. +pageDebugView.options=Options +pageDebugView.reevaluateSearchFilters=Reevaluate search filters +pageDebugView.saveAsRaw=Save in raw mode +pageDebugView.switchToPlainText=Switch to plain text +PageDebugView.title='{0}' details +pageDebugView.validateSchema=Validate schema +PageError403.title=Forbidden (403) +PageError404.title=Not found (404) +PageError401.title=Unauthorized (401) +PageError410.title=Gone (410) +PageError.button.back=Back +PageError.message=Unexpected error occurred, if necessary please contact system administrator. +PageError403.message=您没有权限访问所有的页面,如果想了解更多信息,请联系系统管理员。 +PageError.title=Internal error (500) +PageFindUsers.title=Find users +PageForgetPassword.email=E-mail +pageForgetPassword.message.ContactAdminQuestionsNotSet=You have not set any security questions yet. Please Contact Your Administrator to reset Your Password. +pageForgetPassword.message.usernotfound=User Not Found +PageForgetPassword.password=Password +PageForgetPassword.resetPassword=Reset Password +PageForgotPassword.title=Forgot Password +PageForgetPassword.username=Username +PageForgotPassword.send.nonce.failed=User's password could'n be reset. Please contact system administrator. +PageImportObject.button.import=Import object +PageImportObject.embeddedEditor=Embedded editor +PageImportObject.file=File +PageImportObject.getObjectsFrom=Get objects from +pageImportObject.message.emptyXml=Can't save empty xml. +PageImportObject.message.help=Choose XML file for import. +pageImportObject.message.nullFile=Uploaded file is null. +PageImportObject.title=Import objects +PageInternals.button.changeTime=Change time +PageInternals.button.resetTimeChange=Reset to using system time +PageInternals.checkConsistency=Check consistency +PageInternals.checkEncryption=Check encryption +PageInternals.checkReadEncrypion=Check read encryption +PageInternals.detailedDebugDump=Detailed debug dump +PageInternals.message.debugUpdatePerformed=Debug util updated. New value\: {0} +PageInternals.message.internalsConfigUpdate=Internals config update. consistencyChecks\: {0},encryptionChecks\: {1}, readEncryptionChecks\: {2}, QNameUtil.tolerateUndeclaredPrefixes\: {3} +PageInternals.offset=Offset +PageInternals.title.debugUtil=Debug util +PageInternals.title.internalsConfig=Internals config +PageInternals.title=Internals configuration +PageInternals.title.timeChange=Time change +PageInternals.tolerateUndeclaredPrefixes=Tolerate undeclared prefixes in QNames and paths +pageLogging.appender=Appender\: +pageLogging.appenders=Appenders +pageLogging.appenders.appending=Appending +pageLogging.appenders.filePath=File path +pageLogging.appenders.filePattern=File pattern +pageLogging.appenders.maxFileSize=Max. file size [kB] +pageLogging.appenders.maxHistory=Max. history +pageLogging.appenders.name=Name +pageLogging.appenders.pattern=Pattern +pageLogging.audit=Audit +pageLogging.auditLog=Audit to log file\: +pageLogging.button.addClassLogger=Add logger +pageLogging.button.addComponentLogger=Add component logger +pageLogging.button.addConsoleAppender=Add console appender +pageLogging.button.addFileAppender=Add file appender +pageLogging.button.addFilter=Add filter +pageLogging.button.advanced=Advanced +pageLogging.button.deleteAppender=Delete appender +pageLogging.button.deleteFilter=Delete filter +pageLogging.button.deleteLogger=Delete logger +pageLogging.button.reset=Reset +pageLogging.button.save=Save +pageLogging.details=Details\: +pageLogging.dumpInterval=Dump interval\: +pageLogging.filter.ALL=All +pageLogging.filter=Filter +pageLogging.filter.GUI=Web filter +pageLogging.filter.MODEL=Model filter +pageLogging.filter.NOTIFICATIONS=Notification filter +pageLogging.filter.PROVISIONING=Provisioning filter +pageLogging.filter.REPOSITORY=Repository filter +pageLogging.filter.RESOURCEOBJECTCHANGELISTENER=Resource object change listener filter +pageLogging.filtersTable=Filters table +pageLogging.filter.TASKMANAGER=Task manager filter +pageLogging.filter.WORKFLOWS=Workflow filter +pageLogging.logger.ALL=All +pageLogging.logger.GUI=Web logger +pageLogging.logger=Logger +pageLogging.logger.MODEL=Model logger +pageLogging.logger.NOTIFICATIONS=Notifications logger +pageLogging.logger.PROVISIONING=Provisioning logger +pageLogging.logger.REPOSITORY=Repository logger +pageLogging.logger.RESOURCEOBJECTCHANGELISTENER=Resource object change listener logger +pageLogging.loggersAppender=Appender +pageLogging.loggersLevel=Level +pageLogging.loggers=Loggers +pageLogging.loggersTable=Loggers table +pageLogging.logger.TASKMANAGER=Task manager logger +pageLogging.logger.WORKFLOWS=Workflow module logger +pageLogging.logSubsystemEntryExit=Log subsystem entry/exit +pageLogging.performanceStatistics=Performance statistics\: +pageLogging.profiling=Profiling +pageLogging.requestFilter=Request filter\: +pageLogging.rootAppender=Root appender\: +pageLogging.rootLevel=Root logger\: +pageLogging.subsystem.appender=Appender +pageLogging.subsystem.level=Level +pageLogging.subsystem.model=Model +pageLogging.subsystem.provisioning=Provisioning +pageLogging.subsystem.repository=Repository +pageLogging.subsystem.resourceObjectChangeListener=Resource object change listener +pageLogging.subsystems=Subsystems\: +pageLogging.subsystem..taskManager=Task manager +pageLogging.subsystem.ucf=Ucf +pageLogging.subsystem.workflow=Workflow +PageLogging.title=Logging Management +PageLogin.forgetPassword=Forgot Password +pageLogin.message.ForgetPasswordSettingsWrong=Forget Passwords settings are wrong. Please Contact Your Administrator for changing your password. +PageLogin.password=Password +PageLogin.signIn=Sign in +PageLogin.title=Login +PageLogin.username=Username +PageMyPasswordQuestions.title=My Password Questions +PageMyPasswords.accountMidpoint=Identity Manager +PageMyPasswords.accounts=Accounts +PageMyPasswords.button.back=Back +PageMyPasswords.button.save=Save +PageMyPasswords.couldntResolve=Couldn't resolve resource. +PageMyPasswords.enabled=Enabled +PageMyPasswords.importantNote=如果启用该项,用户的密码和其所有的资源账号凭证都会根据资源定义中的策略进行更新。 +PageMyPasswords.name=Name +PageMyPasswords.noAccountSelected=Password not changed. No account was selected. +PageMyPasswords.password=Password +PageMyPasswords.resourceMidpoint=Identity Repository +PageMyPasswords.resourceName=Resource +PageMyPasswords.title=My passwords +PageNewReport.button.import=Import report +PageNewReport.embeddedEditor=Embedded editor +PageNewReport.file=File +PageNewReport.getObjectsFrom=Create report from +PageNewReport.message.emptyXml=Can't save empty xml. +PageNewReport.message.help=Choose XML file for import. +PageNewReport.message.nullFile=Uploaded file is null. +PageNewReport.title=Import Jasper report +PageOrgTree.message.noOrgStructDefined=No org. structure defined. +PageOrgTree.title=Organization tree +pageOrgUnit.accounts=投射对象 +PageOrgUnit.extension=Extension +PageOrgUnit.message.cantCreateExtensionDelta=Can't create delta for org. unit extension +PageOrgUnit.parentOrgRef=Parent +PageOrgUnit.title.approvers=Approvers +PageOrgUnit.title.assignments=Assignments +PageOrgUnit.title.authorizations=Authorizations +PageOrgUnit.title.basic=Basic +PageOrgUnit.title.exclusions=Exclusions +PageOrgUnit.title.inducements=Inducements +PageOrgUnit.title=New org. unit +PageOrgUnit.title.parentOrgUnit=Parent(s) +pageProcessInstance.button.back=Back +pageProcessInstances.active=Currently active +pageProcessInstances.before=before +pageProcessInstances.button.back=Back +pageProcessInstances.button.stop=Stop process instance(s) +pageProcessInstances.button.delete=Delete process instance(s) +pageProcessInstances.finished=Recently finished +pageProcessInstances.item.finished=Finished +pageProcessInstances.item.name=Name +pageProcessInstances.item.owner=Owner +pageProcessInstances.item.result=Outcome +pageProcessInstances.item.started=Started +pageProcessInstances.item.object=Object +pageProcessInstances.item.target=Target +pageProcessInstances.item.state=State +pageProcessInstances.item.stage=Stage +pageProcessInstances.item.status=Status +pageProcessInstances.message.noStoppableItemSelected=No process instance that could be stopped has been selected. +pageProcessInstances.message.noItemSelected=No process instance has been selected. +pageProcessInstances.notYet=not yet +PageProcessInstancesAll.title=All approval requests +PageProcessInstancesRequestedBy.title=My approval requests +PageProcessInstancesRequestedFor.title=Approval requests about me +PageReport.basic=Configuration +PageReport.fullXml=Full xml +PageReport.jasperTemplate=Jasper template +PageReport.jasperTemplateStyle=Jasper template style +PageReport.message.cantSaveEmpty=Can't save empty report. +PageReport.message.cantSerializeFromObjectToString=Can't serialize object to XML. +PageReports.button.configure=Configure +PageReports.button.run=Run +PageReports.message.jasperError=Error occurred during creating Jasper report. +PageReports.message.queryError=Error occurred during translation search query to filter. +PageReports.message.resourceNotDefined=Resource not defined. +PageReports.message.unknownReport=Unknown report. +PageReports.report.auditDescription=Report made from audit records. +PageReports.report.auditName=Audit logs +PageReports.report.reconciliationDescription=Reconciliation report for selected resource. +PageReports.report.reconciliationName=Reconciliation +PageReports.report.usersDescription=Users listed in Identity Manager. +PageReports.report.usersName=Users in Identity Manager +PageReports.search.showSubreports=Show subreports +PageReports.table.description=Description +PageReports.table.name=Name +PageReports.title.auditPopup=Audit report parameters +PageReports.title=Available reports +PageReports.title.reconciliationPopup=Reconciliation report parameters +PageReports.title.userPopup=User report parameters +PageReport.title=Report configuration +PageResource.resource.mappings=Mappings +PageResource.resource.source=Source +PageResource.resource.target=Target +PageResource.resource.sourceAndTarget=Source and Target +PageResource.resource.noMappings=No mappings +PageResource.resource.sync=Synchronization defined +PageResource.resource.up=Resource is UP +PageResource.resource.down=Resource is DOWN +PageResource.resource.broken=Resource is BROKEN +PageResource.resource.availabilityUnknown=Resource state is unknown +PageResource.resource.objectTypes=object types +PageResource.resource.schemaDefinitions=schema definitions +PageResource.resource.schema=Schema +PageResource.resource.noSchema=No schema +PageResource.resource.schemaError=Schema error +PageResource.tab.details=Details +pageResource.bundle=Bundle +pageResource.button.back=Back +pageResource.button.editXml=Edit XML +pageResource.button.refreshSchema=Refresh schema +pageResource.button.wizard=Wizard +pageResource.button.configurationEdit=Edit configuration +pageResource.button.wizardShow=Show using wizard +pageResource.button.wizardEdit=Edit using wizard +pageResource.button.importAccounts=Import accounts +pageResource.refreshSchema.failed=Failed to refresh resource schema +pageResource.button.save=Save +pageResource.button.test=Test connection +pageResource.capabilities=Capabilities +pageResource.conConnection=Connector connection +pageResource.confValidation=Configuration validation +pageResource.conInitialization=Connection initialization +pageResource.conSanity=Connector sanity +pageResource.conSchema=Connector schema +pageResource.deleteSyncToken=Delete Sync. Token +pageResourceEdit.edit=Edit +pageResourceEdit.message.emptyXml=Can't save empty xml as resource. +pageResourceEdit.options=Options +pageResource.editResource=Edit resource +PageResourceEdit.title=New resource +pageResource.import=Import +pageResource.message.invalidTaskSearch=Synchronization task search did not perform correctly. +pageResource.message.oidNotDefined=Resource oid not defined in request. +pageResource.name=Name +pageResource.objectTypes.displayName=Display name +pageResource.objectTypes.help=Help +pageResource.objectTypes.nativeObjectClass=Native object class +pageResource.objectTypes=Object types +pageResource.objectTypes.type=Type +pageResource.oid=Oid +pageResource.overallStatus=Overall status +pageResource.progress=Progress +pageResource.resource=Resource +pageResource.synchronizationTasks=Synchronization tasks +pageResources.bundle=Bundle +pageResources.connectorType=Connector type +pageResources.button.discoveryRemote=Discovery +pageResources.button.editAsXml=Edit XML +pageResources.button.search=Search +pageResources.connector.hostname=Hostname +pageResources.connectorHosts=Connector hosts +pageResources.connector.name=Name +pageResources.connector.port=Port +pageResources.connector.protectConnection=Protected +pageResources.connector.timeout=Timeout +pageResources.content=Content +pageResources.dialog.title.confirmDelete=Confirm delete +pageResources.import=Import +pageResources.inlineMenuItem.deleteSyncToken=Delete sync. token +pageResources.inlineMenuItem.editResource=Edit using wizard +pageResources.message.deleteHostConfirm=Do you really want to delete host '{0}'? +pageResources.message.deleteHostsConfirm=Do you really want to delete {0} hosts? +pageResources.message.deleteResourceConfirm=Do you really want to delete resource '{0}'? +pageResources.message.deleteResourcesConfirm=Do you really want to delete {0} resources? +pageResources.message.noHostSelected=No connector host has been selected. +pageResources.message.noResourceSelected=No resource has been selected. +pageResources.message.queryError=Error occurred during translation search query to filter. +pageResources.name=Name +pageResources.progress=Progress +pageResources.resources=Resources +pageResources.searchText.placeholder=Name +pageResources.status=Last status +pageResource.status=Status +PageResources.title=Resources List +pageResources.version=Version +pageResource.sync=Sync +PageResource.title=Resource details +pageResource.type=Type +pageResource.version=Version +PageResourceWizard.title=New resource +PageResourceWizard.title.edit=Edit resource '{0}' +pageRole.members=Members +pageRole.governance=Governance +PageRoleEditor.extension=Extension +PageRoleEditor.label.approverRef=Approver +PageRoleEditor.label.approverRef.placeholder=Set approver +PageRoleEditor.label.assignmentConstraint.placeholder=Set assignment policy +PageRoleEditor.label.description=Description +PageRoleEditor.label.displayName=Display name +PageRoleEditor.label.identifier=Identifier +PageRoleEditor.label.maxAssignments=Max. assignments +PageRoleEditor.label.minAssignments=Min. assignments +PageRoleEditor.label.name=Name +PageRoleEditor.label.ownerRef=Owner +PageRoleEditor.label.ownerRef.placeholder=Set owner +PageRoleEditor.label.requestable=Requestable +PageRoleEditor.label.riskLevel=Risk Level +PageRoleEditor.label.type=Type +PageRoleEditor.message.addApproverOk=Approver with name\: '{0}' was added successfully. +PageRoleEditor.message.addOwnerOk=Owner with name\: '{0}' was added successfully. +PageRoleEditor.message.cantAddOwner=Can't setup the selected owner. +PageRoleEditor.message.cantCreateExtensionDelta=Can't create delta for role extension +PageRoleEditor.subtitle.activation=Activation +PageRoleEditor.subtitle.basic=Basic +PageRoleEditor.subtitle.editingRole=role '{0}' +PageRoleEditor.subtitle.extension=Extension +PageRoleEditor.subtitle.newRole=new role +PageRoleEditor.title.assignments=Assignments +PageRoleEditor.title.editingRole=Edit +PageRoleEditor.title.inducements=Inducements +PageRoleEditor.title.newRole=Create +pageRoles.button.delete=Delete +pageRoles.dialog.title.confirmDelete=Confirm delete +pageRoles.message.confirmationMessageForMultipleObject=Do you really want to {0} selected {1} role(s)? +pageRoles.message.confirmationMessageForSingleObject=Do you really want to {0} role '{1}'? +pageRoles.message.nothingSelected=No role has been selected. +pageRoles.message.queryError=Error occurred during translation search query to filter. +pageRoles.requestable=Requestable +PageRoles.title=List roles +pageSecurityQuestions.message.WrongAnswer=Questions Not Answered Correctly +pageSecurityQuestions.message.noPolicySet=No password policy is set +PageSecurityQuestions.title=Security Questions +PageShowPassword.message=Your new password is\: +PageShowPassword.success=New password has been successfully created +PageShowPassword.title=New Password +PageSizePopover.title=Page size +pageSystemConfiguration.assignmentPolicyEnforcement.value.full=Full +pageSystemConfiguration.assignmentPolicyEnforcement.value.legalize=Relative +pageSystemConfiguration.assignmentPolicyEnforcement.value.mark=Mark +pageSystemConfiguration.assignmentPolicyEnforcement.value.none=None +pageSystemConfiguration.assignmentPolicyEnforcement.value.positive=Positive +pageSystemConfiguration.logging.title=Logging +pageSystemConfiguration.notifications.title=Notifications +pageSystemConfiguration.profiling.title=Profiling +pageSystemConfiguration.adminGui.title=Admin GUI +pageSystemConfiguration.system.title=System +PageSystemConfiguration.title=Configuration +AdminGuiConfigPanel.dashboardLinksConfig=仪表盘链接配置 +AdminGuiConfigPanel.additionalMenuItemConfig=Additional menu items +AdminGuiConfigPanel.title=Admin GUI configuration +AdminGuiConfigPanel.dashboardLinkDialogTitle.title=配置仪表盘链接 +AdminGuiConfigPanel.additionalMenuItemDialog.title=Configure additional menu item +RichHyperlinkConfigDialog.label=Label +RichHyperlinkConfigDialog.targetUrl=Target URL +RichHyperlinkConfigDialog.color=Color +RichHyperlinkConfigDialog.authorization=Authorization +RichHyperlinkConfigDialog.icon=Icon (css class) +RichHyperlinkConfigDialog.description=Description +RichHyperlinkConfigDialog.message.badUpdate=不能显示空的仪表盘链接配置。 +PageTaskAdd.title=New task +pageTask.advancedOption=Advanced option +pageTask.basic=Basic +pageTask.boundHelp=Tightly bound tasks are used to run short actions, which are repeating quite often (e.g. in intervals less than 1 minute). A typical example is the live synchronization. Cron-like specification is not supported for these tasks; you have to specify the time interval. +pageTask.bound=Tightly bound (use if recurring task runs often) +pageTask.browse=Browse +pageTask.category.BulkActions=Bulk actions +pageTask.category.Demo=Demo +pageTask.category.ImportFromFile=Import from file +pageTask.category.ImportingAccounts=Importing accounts +pageTask.category.LiveSynchronization=Live synchronization +pageTask.category.Recomputation=Recomputation +pageTask.category.Reconciliation=Reconciliation +pageTask.category.UserRecomputation=User recomputation +pageTask.category.Workflow=Workflow +pageTask.createSuspended=Create in SUSPENDED state +pageTask.cronHelp=Cron-like specification is in the form\: SECONDS MINUTES HOURS DAY-OF-MONTH MONTH DAY-OF-WEEK YEAR (optional), e.g. '0 0 12 ? * WED' which means 'every Wednesday at 12\:00\:00 pm'. +pageTask.cronHelpLink=For more information, please see +pageTask.cronHelpLinkTutorial=tutorial +pageTask.cronSpec=Schedule cron-like specification +pageTask.dryRun=Dry run +pageTask.focusType=Applicable to type +pageTaskEdit.basic=Basic +pageTaskEdit.work=Work to do +pageTaskEdit.boundHelp=Tightly bound tasks are used to run short actions, which are repeating quite often (e.g. in intervals less than 1 minute). A typical example is the live synchronization. Cron-like specification is not supported for these tasks; you have to specify the time interval. +pageTaskEdit.bound=Tightly bound (use if recurring task runs often) +pageTaskEdit.binding=Binding +pageTaskEdit.button.back=Back +pageTaskEdit.button.cancelEditing=Cancel editing +pageTaskEdit.button.edit=Edit +pageTaskEdit.button.resume=Resume +pageTaskEdit.button.runNow=Run now +pageTaskEdit.button.stopApprovalProcess=Stop approval process +pageTaskEdit.button.save=Save +pageTaskEdit.button.suspend=Suspend +pageTaskEdit.category=Category +pageTaskEdit.cronHelp=Cron-like specification is in the form\: SECONDS MINUTES HOURS DAY-OF-MONTH MONTH DAY-OF-WEEK YEAR (optional), e.g. '0 0 12 ? * WED' which means 'every Wednesday at 12\:00\:00 pm'. +pageTaskEdit.cronHelpLink=For more information, please see +pageTaskEdit.cronHelpLinkTutorial=tutorial +pageTaskEdit.cronSpec=Schedule cron-like specification +pageTaskEdit.description=Description +pageTaskEdit.dryRun=Dry run +pageTaskEdit.executeInRawMode=Execute in raw mode +pageTaskEdit.execution=Execution status +pageTaskEdit.handlerUri=Handler URI +pageTaskEdit.identifier=Identifier +pageTaskEdit.intent=Intent +pageTaskEdit.kind=Kind +pageTaskEdit.lastFinished=Task run last finished +pageTaskEdit.lastStarted=Task run last started +pageTaskEdit.message.cantTaskDetails=Couldn't load task details. +pageTaskEdit.message.node=- at node {0} +pageTaskEdit.misfire=Misfire action +pageTaskEdit.modelOperationStatusLabel=Model operation status +pageTaskEdit.name=Task name +pageTaskEdit.nextRun=Next scheduled task run +pageTaskEdit.nextRetry=Next retry +pageTaskEdit.notStartAfter=Do not start after +pageTaskEdit.notStartBefore=Do not start before +pageTaskEdit.objectClass=Object class +pageTaskEdit.objectDelta=Object delta +pageTaskEdit.bulkAction=Bulk action +pageTaskEdit.objectType=Object type +pageTaskEdit.objectQuery=Object query +pageTaskEdit.objectRef=Object reference +pageTaskEdit.token=Synchronization token +pageTaskEdit.retryUnhandledErr=Retry unhandled errors +pageTaskEdit.resourceRef=Resource reference +pageTaskEdit.oid=OID +pageTaskEdit.opResult.message=Message +pageTaskEdit.opResult.operation=Operation +pageTaskEdit.opResult.status=Status +pageTaskEdit.opResult.token=Token +pageTaskEdit.options=Options +pageTaskEdit.parent=Parent task +pageTaskEdit.owner=Task owner +pageTaskEdit.recurring=Recurring task +pageTaskEdit.recurrence=Recurrence +pageTaskEdit.runUntilNodeDown=Run only until node down +pageTaskEdit.scheduleHelp=For one-time tasks, enter neither schedule interval nor cron-like specification. For recurring tasks, enter exactly one of these. +pageTaskEdit.scheduleInterval=Schedule interval (seconds) +pageTaskEdit.scheduleTitle=Scheduling +pageTaskEdit.approvals=Approvals +pageTaskEdit.operation=Operation context +pageTaskEdit.performance=Environmental performance +pageTaskEdit.progress=Progress +pageTaskEdit.subtasksAndThreads=Subtasks and threads +pageTaskEdit.statesAndActions=States and actions +pageTaskEdit.result=Result +pageTaskEdit.errors=Errors +pageTaskEdit.subtasksLabel=Subtasks +pageTaskEdit.suspendReq=For editing is necessary to suspend the task +pageTaskEdit.taskState=Task state +pageTaskEdit.threadAction=Thread action +pageTaskEdit.threadStop=Thread stop action +pageTaskEdit.tightlyBound=Tightly bound +pageTaskEdit.title.edit=Details for '{0}' +PageTaskEdit.title=Task details +PageTaskEdit.title.wfOperation=Change operation details +PageTaskEdit.title.wfRequest=Approval request details +pageTaskEdit.workerThreads=Configured worker threads +pageTaskEdit.workflowInformationLabel=Workflow information +pageTaskEdit.displayResultInteractive=Display result in an interactive way. +pageTaskEdit.taskErros.objectName=Name +pageTaskEdit.taskErros.status=Status +pageTaskEdit.taskErros.message=Message +pageTask.intent=Intent +pageTask.kind=Kind +pageTask.misfire=Misfire action +pageTask.name=Task name +pageTask.notStartAfter=Do not start after +pageTask.notStartBefore=Do not start before +pageTask.notStartBefore.error1='Do not start before' is later than 'Do not start after' +pageTask.now=Now +pageTask.objectClass=Object class +pageTask.objectRef=Resource reference +pageTask.options=Options +pageTask.recurring=Recurring task +pageTask.runUntilNodeDown.error1=Compatible data for 'Thread stop action' are\: Close, Suspend +pageTask.runUntilNodeDown.error2=Compatible data for 'Thread stop action' are\: Restart, Reschedule +pageTask.runUntilNodeDown=Run only until node down +pageTasks.alreadyPassed=already passed +pageTasks.alreadyPassedForNotRunningTasks=(already passed) +pageTasks.button.deactivateServiceThreads=Stop all threads +pageTasks.button.deleteNode=Delete +pageTasks.button.deleteTask=Delete +pageTasks.button.deleteAllClosedTasks=Delete all closed tasks +pageTasks.button.reactivateServiceThreads=Start all threads +pageTasks.button.refreshTasks=Refresh tasks +pageTasks.button.resumeTask=Resume +pageTasks.button.scheduleTask=Run now +pageTasks.button.startScheduler=Start +pageTasks.button.stopSchedulerAndTasks=Stop scheduler + tasks +pageTasks.button.stopScheduler=Stop scheduler +pageTasks.button.suspendTask=Suspend +pageTasks.button.synchronizeTasks=Synchronize tasks +pageTasks.button.synchronizeWorkflowRequests=Synchronize approval requests +pageTasks.category.AccessCertification=Access certification +pageTasks.category.AllCategories=All categories +pageTasks.category.BulkActions=Bulk actions +pageTasks.category=Category +pageTasks.category.Cleanup=Cleanup +pageTasks.category.Demo=Demo +pageTasks.category.ImportFromFile=Import from file +pageTasks.category.ImportingAccounts=Importing accounts +pageTasks.category.LiveSynchronization=Live synchronization +pageTasks.category.null=(undefined) +pageTasks.category.Recomputation=Recomputation +pageTasks.category.Reconciliation=Reconciliation +pageTasks.category.Report=Report +pageTasks.category.System=System +pageTasks.category.UserRecomputation=User recomputation +pageTasks.category.Utility=Utility +pageTasks.category.Workflow=Workflow +pageTasks.category.ExecuteChanges=Execute changes +pageTasks.message.suspendAction=suspend +pageTasks.message.resumeAction=resume +pageTasks.message.runNowAction=run now +pageTasks.message.deleteAction=delete +pageTasks.message.deleteAllClosedTasksAction=delete all closed tasks +pageTasks.message.startAction=start +pageTasks.message.scheduleTaskAction=schedule task +pageTasks.message.stopSchedulerAction=stop scheduler for +pageTasks.message.startSchedulerAction=start scheduler for +pageTasks.message.stopSchedulerTasksAction=stop scheduler+tasks for +pageTasks.message.confirmationMessageForSingleTaskObject=Do you really want to {0} task '{1}'? +pageTasks.message.confirmationMessageForMultipleTaskObject=Do you really want to {0} selected {1} task(s)? +pageTasks.message.confirmationMessageForSingleNodeObject=Do you really want to {0} node '{1}'? +pageTasks.message.confirmationMessageForMultipleNodeObject=Do you really want to {0} selected {1} node(s)? +pageTask.scheduleHelp=For one-time tasks, enter neither schedule interval nor cron-like specification. For recurring tasks, enter exactly one of these. +pageTask.scheduleInterval=Schedule interval (seconds) +pageTask.scheduleTitle=Scheduling +pageTask.scheduleValidation.bothIntervalAndCron='Schedule interval' and 'Cron-like specification' may not be both present. +pageTask.scheduleValidation.intervalNotPositive='Schedule interval' must be a positive number. +pageTask.scheduleValidation.invalidCronSpecification='Cron-like specification' is not valid. +pageTask.scheduleValidation.neitherIntervalNorCron=Exactly one of 'Schedule interval' and 'Cron-like specification' must be specified. +pageTask.scheduleValidation.noInterval='Schedule interval' must be specified. +pageTasks.dialog.title.confirmDelete=Confirm delete +pageTasks.inForNotRunningTasks=(in {0}) +pageTasks.in=in {0} +pageTasks.retryIn=retry in {0} +pageTasks.message.alreadyResumed=Task '{0}' can't be resumed, it's already running or closed. +pageTasks.message.alreadySuspended=Task '{0}' is already suspended or closed. +pageTasks.message.couldntCreateQuery=Couldn't create query for task list. +pageTasks.message.deleteTaskConfirm=Do you really want to delete task '{0}'? +pageTasks.message.deleteAllClosedTasksConfirm=Do you really want to delete all closed tasks? +pageTasks.message.deleteTasksConfirm=Do you really want to delete {0} tasks? +pageTasks.message.noNodeSelected=No node has been selected. +pageTasks.message.noTaskSelected=No task has been selected. +pageTasks.node.clustered=Clustered +pageTasks.node.executionStatus=Status +pageTasks.node.lastCheckInTime=Last check-in time +pageTasks.node.managementPort=Management port +pageTasks.node.name=Name +pageTasks.nodes=Nodes +pageTasks.node.statusMessage=Status message +pageTasks.nowForNotRunningTasks=(now) +pageTasks.now=now +pageTasks.runsContinually=runs continually +pageTasks.stalledSince=STALLED since {0} at {1} +pageTasks.state=State +pageTasks.subtasks=Show subtasks +pageTasks.task.category=Category +pageTasks.task.currentRunTime=Current run time +pageTasks.task.detail=Detail +pageTasks.task.executingAt=Executing at +pageTasks.task.execution=Execution +pageTasks.task.name=Name +pageTasks.task.objectRef=Object reference +pageTasks.task.progress=Progress +pageTasks.task.scheduledToRunAgain=Scheduled to start again +pageTasks.tasks=Tasks +pageTasks.task.status=Status +PageTasks.title=Tasks +pageTasks.unknownRefName=Unknown object +pageTask.threadStop=Thread stop action +pageTask.title.edit=Details for '{0}' +pageTask.type=Type\: +page.title.edit={0} +page.title.editResource=Edit resource +pageUser.accounts=Accounts +pageUser.assignment.active=Active +pageUser.assignment.name=Name +pageUser.assignments=Assignments +pageAdminFocus.request=Request a role +pageAdminFocus.objectHistory=History +pageUser.assignment.type=Type +pageUser.button.abort=Abort +pageUser.button.addAccount=Add account +pageUser.button.back=Back +pageUser.button.delete=Delete +pageUser.button.disable=Disable +pageUser.button.enable=Enable +pageUser.button.recompute.assignments=Show all assignments +pageUser.button.save=Save +pageUser.button.submit=Preview changes +pageUser.button.unlink=Unlink +pageUser.button.unlock=Unlock +pageUser.description=User in repository +pageUser.menu.assignAccount=Assign account +pageUser.menu.assignOrg=Assign org. unit +pageUser.menu.assignRole=Assign role +pageUser.menu.unassign=Unassign +pageUser.message.cantCreateUser=Create user failed +pageUser.message.cantEditUser=Couldn't load form for editing user. +pageUser.message.cantNewUser=Couldn't load form for new user. +pageUser.message.cantSubmitUser=Couldn't send user for submit +pageUser.message.cantUpdateUser=Update user failed +pageUser.message.couldntAssignObject=Couldn't assign object '{0}', reason\: {1}. +pageUser.message.couldntCreateAccount=Couldn't create account form for '{0}', reason\: {1}. +pageUser.message.couldntCreateAccountNoSchema=Couldn't create account form for '{0}', no refined schema available. Possible problem with connector configuration and/or connection. Please check logs for more information. +pageUser.message.deleteAccountConfirm=Do you really want to delete {0} account(s)? +pageUser.message.deleteAssignmentConfirm=Do you really want to delete {0} assignment(s)? +pageUser.message.illegalAccountState=Illegal account state '{0}'. +pageUser.message.illegalAssignmentState=Illegal assignment state '{0}'. +pageUser.message.noAccountSelected=No account selected. +pageUser.message.noActivationFound=No activation found for account '{0}'. +pageUser.message.noAssignableSelected=No assignable object selected. +pageUser.message.noAssignmentsAvailable=There are currently no assignments to preview. +pageUser.message.noAssignmentSelected=No assignment selected. +pageUser.message.noEnabledPropertyFound=No enabled property found for account '{0}'. +pageUser.message.noPassword=Password is not entered. +pageUser.message.noResourceSelected=No resource selected. +pageUser.message.noUserName=It is not possible to compute assignments on unnamed user object. Please provide a name. +pageUser.message.unsupportedState=Unsupported user form state '{0}'. +pageUsers.accounts=Accounts +pageUsers.dialog.title.confirmDelete=Confirm delete +pageUsers.menu.delete=Delete +pageUsers.menu.merge=Merge +pageUsers.menu.disable=Disable +pageUsers.menu.enable=Enable +pageUsers.menu.reconcile=Reconcile +pageUsers.menu.unlock=Unlock +pageUsers.message.deleteUserConfirm=Do you really want to delete selected {0} user(s)? +pageUsers.message.deleteUserConfirmSingle=Do you really want to delete user '{0}'? +pageUsers.message.confirmationMessageForSingleObject=Do you really want to {0} user '{1}'? +pageUsers.message.confirmationMessageForMultipleObject=Do you really want to {0} selected {1} user(s)? +pageUsers.message.enableAction=enable +pageUsers.message.disableAction=disable +pageUsers.message.reconcileAction=reconcile +pageUsers.message.unlockAction=unlock +pageUsers.message.deleteAction=delete +pageUsers.message.confirmActionPopupTitle=Confirm action +pageUsers.message.nothingSelected=No user has been selected. +pageUsers.message.queryError=Error occurred during translation search query to filter. +PageUsers.title=User List +pageUser.task.category=Category +pageUser.task.execution=Execution state +pageUser.task.name=Task name +pageUser.tasks=Tasks +pageUser.task.status=Status +pageUser.title.confirmDelete=Confirm delete +pageUser.title.editing={0} +pageUser.title.editUser=Edit +pageUser.title.newUser=Create +pageUser.title.selectAssignable=Select object(s) +pageUser.title.selectResource=Select resource(s) +pageUser.userDetails=User details +MultipleAssignmentSelectorPanel.availableRoles=Available roles +MultipleAssignmentSelectorPanel.parameters=Parameters +MultipleAssignmentSelectorPanel.currentRoles=Current roles +MultipleAssignmentSelector.filterByUser=Filter by user +MultipleAssignmentSelector.tenant=Tenant +MultipleAssignmentSelector.orgUnit=Org. unit +pageWorkItem.accordionLabel.additionalData=Related data (technical information) +pageWorkItem.accordionLabel.objectNew=Object after proposed change (technical information) +pageWorkItem.accordionLabel.objectOld=Object before change (technical information) +pageWorkItem.accordionLabel.processInstance=Process instance information +pageWorkItem.accordionLabel.requester=Requester (technical information) +pageWorkItem.additionalData.description=Related data +pageWorkItem.additionalInfo=Supplementary information +pageWorkItem.button.approve=Approve +pageWorkItem.button.cancel=Back +pageWorkItem.button.claim=Claim +pageWorkItem.button.reject=Reject +pageWorkItem.button.delegate=Delegate +pageWorkItem.button.release=Release +pageWorkItem.delta=Delta to be approved +pageWorkItem.description=Work Item +pageWorkItem.label.showTechnicalInformation=Show technical information +pageWorkItem.mainInfo=Basic information +pageWorkItem.objectNew.description=Object after proposed change +pageWorkItem.objectOld.description=Object before change +pageWorkItem.options=Options +pageWorkItem.requestCommon.description=General information about the request +pageWorkItem.requestedBy=Requested by\: +pageWorkItem.requestedOn=Requested on\: +pageWorkItem.requester.description=Requester +pageWorkItem.requestSpecific.description=Your decision +workItemPanel.originallyAllocatedTo=Originally allocated to\: +workItemPanel.currentlyAllocatedTo=Currently allocated to\: +workItemPanel.candidateActors=Candidate actors\: +workItemPanel.stage=Approval stage\: +workItemPanel.escalationLevel=Escalation level\: +workItemPanel.requesterComment=Requester comment\: +workItemPanel.delta=Delta to be approved +workItemPanel.mainInfo=Basic information +workItemPanel.options=Options +workItemPanel.requestedBy=Requested by\: +workItemPanel.requestedOn=Requested on\: +workItemPanel.workItemCreatedOn=This work item created on\: +workItemPanel.workItemDeadline=Deadline\: +workItemPanel.requester.description=Requester +workItemPanel.subTitle=work item details +workItemPanel.title=Work to do\: +workItemPanel.changesToBeApproved=Changes to be approved +workItemPanel.approvalHistory=Approval history for this request +workItemPanel.approvalHistoryHelp=Decisions that have been done so far in the process of approving the changes displayed here. +TaskWfChildPanel.approvalHistoryHelp=Decisions that have been done so far in the process of approving the changes displayed here. +workItemPanel.otherWorkItemsHelp=Work items for the changes shown here that are currently active (in addition to the work item displayed on this page). +TaskWfChildPanel.currentWorkItemsHelp=Work items for the changes displayed here that are currently active. +workItemPanel.relatedRequestsHelp=List of approval requests that have been created along with this one. Each request has its own approval process, and therefore can be approved or rejected independently of other ones. They were all started by a single change operation attempt, which contained several simpler changes. +TaskWfChildPanel.relatedRequestsHelp=List of approval requests that have been created along with this one. Each request has its own approval process, and therefore can be approved or rejected independently of other ones. They were all started by a single change operation attempt, which contained several simpler changes. +workItemPanel.showRequestHelp=Displays the approval request and the corresponding approval process for changes shown here. +TaskWfChildPanel.showParentHelp=Displays the whole attempted operation that consists of one or more changes requiring approval. +TaskWfParentPanel.requestsHelp=All approval processes for changes displayed here. +workItemPanel.otherWorkItems=Other work items for this request +workItemPanel.requests=Requests +workItemPanel.relatedRequests=Related requests +workItemPanel.approverComment=Approver comment +workItemPanel.approverInstruction=Approver instruction +pageWorkItems.button.approve=Approve +pageWorkItems.button.claim=Claim +pageWorkItems.button.reject=Reject +pageWorkItems.button.release=Release +PageWorkItemsClaimable.title=Work items claimable by me +pageWorkItems.item.created=Created on +pageWorkItems.item.name=Name +pageWorkItems.item.owner=Owner +pageWorkItems.item.status=Status +pageWorkItems.message.noItemSelected=No work item has been selected. +PageWorkItemsAll.title=All work items +PageWorkItemsAllocatedToMe.title=Work items allocated to me +PageWorkItem.title=Work item details +PageWorkItem.subTitle=work item details +pageWorkItem.title=Work to do\: +pageWorkItem.trackingData.description=Tracking (diagnostic) data +pageWorkItem.trackingData=Tracking data +pageWorkItem.workItemCreatedOn=This work item created on\: +passwordPanel.error=Passwords don't match. +passwordPanel.passwordChange=Change +passwordPanel.passwordRemove=Remove +passwordPanel.passwordSet=password is set +passwordPanel.passwordRemoveLabel=password will be removed +past.ChangeType.ADD=Added +past.ChangeType.DELETE=Deleted +past.ChangeType.MODIFY=Modified +PersonalInfoPanel.lastFail.date=Date +PersonalInfoPanel.lastFail.from=From +PersonalInfoPanel.lastFail=Last unsuccessful login +PersonalInfoPanel.lastLogin.date=Date +PersonalInfoPanel.lastLogin.from=From +PersonalInfoPanel.lastLogin=Last login +PersonalInfoPanel.never=Never +PersonalInfoPanel.other=Other +PersonalInfoPanel.passwordExp=Account expiration date +PersonalInfoPanel.undefined=Not defined +policyRef.nullValid=Choose One +prismContainer.mainPanelDisplayName=Properties +prismContainer.shadow.associations=Associations +prismContainer.shadow.mainPanelDisplayName=Attributes +PrismObjectPanel.hideEmpty=Hide empty fields +PrismObjectPanel.maximize=Maximize +PrismObjectPanel.minimize=Minimize +PrismObjectPanel.protectedAccount=Protected account +PrismObjectPanel.showEmpty=Show empty fields +PrismObjectPanel.sortProperties=Sort properties +prismOptionButtonPanel.hideEmpty=Hide empty fields +prismOptionButtonPanel.maximize=Maximize +prismOptionButtonPanel.minimize=Minimize +prismOptionButtonPanel.showEmpty=Show empty fields +prismPropertyPanel.hasOutbound=Has outbound mapping +prismPropertyPanel.hasPendingModification=Has pending modification +prismPropertyPanel.name.credentials.password=Password +prismPropertyPanel.required=Required +prismValuePanel.add=Add +prismValuePanel.delete=Delete +prismValuePanel.message.association.attributes=Attributes\: +processInstancePanel.details=Other information\: +processInstancePanel.finished=Finished\: +processInstancePanel.message.cantGetDetails=Couldn't get process instance details. +processInstancePanel.message.noTasks=none +processInstancePanel.name=Process instance name\: +processInstancePanel.pid=Instance ID\: +processInstancePanel.started=Started\: +processInstancePanel.taskAlreadyRemoved=(was already removed) +processInstancePanel.task=System task\: +processInstancePanel.tasks=Currently active work items\: +processInstancePanel.title.edit=Details for '{0}' +ProfilingLevel.ARGUMENTS=Arguments +ProfilingLevel.ENTRY_EXIT=Entry/Exit +ProfilingLevel.OFF=Off +ProgressPanel.ExecutionTimeWhenFinished=Operation executed in {0} milliseconds. +ProgressPanel.ExecutionTimeWhenRunning=Operation executing for {0} second(s). +ProgressTableHeader.Activity=Activity +ProgressTableHeader.ResourceObject=Resource object (if applicable) +ProgressTableHeader.Status=Status +ProvisioningStatistics.AverageTime=Avg time +ProvisioningStatistics.CreateFailure=Fail +ProvisioningStatistics.CreateSuccess=Create OK +ProvisioningStatistics.DeleteFailure=Fail +ProvisioningStatistics.DeleteSuccess=Delete OK +ProvisioningStatistics.GetFailure=Fail +ProvisioningStatistics.GetSuccess=Get OK +ProvisioningStatistics.MaxTime=Max +ProvisioningStatistics.MinTime=Min +ProvisioningStatistics.ObjectClass=Object class +ProvisioningStatistics.OtherFailure=Fail +ProvisioningStatistics.OtherSuccess=Script OK +ProvisioningStatistics.Resource=Resource +ProvisioningStatistics.ScriptFailure=Fail +ProvisioningStatistics.ScriptSuccess=Script OK +ProvisioningStatistics.SearchFailure=Fail +ProvisioningStatistics.SearchSuccess=Search OK +ProvisioningStatistics.SyncFailure=Fail +ProvisioningStatistics.SyncSuccess=Sync OK +ProvisioningStatistics.TotalOperationsCount=All operations +ProvisioningStatistics.TotalTime=Total time +ProvisioningStatistics.UpdateFailure=Fail +ProvisioningStatistics.UpdateSuccess=Update OK +QNameEditor.label.localPart=Local part name +QNameEditor.label.namespace=Namespace +QNameEditor.tooltip.attribute=TODO\: QNameEditor.tooltip.attribute +QNameEditor.tooltip.localPart=Local part of QName +QNameEditor.tooltip.namespace=Namespace of QName +RangeValidator.range=Field '${label}' have to be between ${minimum} and ${maximum}. +ReconciliationPopupPanel.exportFileType=Export Type +DownloadButtonPanel.download=Download +ReconciliationPopupPanel.resource=Resource +ReconciliationPopupPanel.title.basic=Basic Reconciliation Report Configuration +repeater.input.nullValid=Choose One +ReportConfigurationPanel.title.basic=Basic +ReportConfigurationPanel.title.advanced=Advanced +Requestable.ALL=All +Requestable.NON_REQUESTABLE=Non-Requestable +Requestable.REQUESTABLE=Requestable +ResourceActivationEditor.label.administrativeStatus=Administrative status +ResourceActivationEditor.label=Edit resource activation +ResourceActivationEditor.label.existence=Existence +ResourceActivationEditor.label.fetchStrategy=Fetch strategy +ResourceActivationEditor.label.inbound=Inbound +ResourceActivationEditor.label.outbound=Outbound +ResourceActivationEditor.label.validFrom=Valid from +ResourceActivationEditor.label.validTo=Valid to +ResourceAssociationEditor.label.allow=Non-schema ref. +ResourceAssociationEditor.label.association=Association specific attributes +ResourceAssociationEditor.label.associationAttribute=Association attribute +ResourceAssociationEditor.label.description=Description +ResourceAssociationEditor.label.direction=Direction +ResourceAssociationEditor.label.displayName=Display name +ResourceAssociationEditor.label.edit=Edit association +ResourceAssociationEditor.label.exclusiveStrong=Exclusive strong +ResourceAssociationEditor.label.explicitRefIntegrity=Explicit ref. integrity +ResourceAssociationEditor.label.fetchStrategy=Fetch strategy +ResourceAssociationEditor.label.inbound=Inbound mapping +ResourceAssociationEditor.label.intent=Target intent +ResourceAssociationEditor.label.intolerantVP=Intolerant pattern +ResourceAssociationEditor.label.kind=Target kind +ResourceAssociationEditor.label.limitations=Limitations +ResourceAssociationEditor.label.matchingRule=Matching rule +ResourceAssociationEditor.label.new=Create new association +ResourceAssociationEditor.label.outbound=Outbound mapping +ResourceAssociationEditor.label.reference=Ref. +ResourceAssociationEditor.label.resourceItem=ResourceItem specific attributes +ResourceAssociationEditor.label.tolerant=Tolerant +ResourceAssociationEditor.label.tolerantVP=Tolerant pattern +ResourceAssociationEditor.label.valueAttribute=Value attribute +ResourceAssociationEditor.message.cantParseSchema=Couldn't parse resource schema +ResourceAttributeEditor.label.allow=Non-schema attribute +ResourceAttributeEditor.label.description=Description +ResourceAttributeEditor.label.displayName=Display name +ResourceAttributeEditor.label.edit=Edit attribute +ResourceAttributeEditor.label.exclusiveStrong=Exclusive strong +ResourceAttributeEditor.label.fetchStrategy=Fetch Strategy +ResourceAttributeEditor.label.inbound=Inbound mappings +ResourceAttributeEditor.label.intolerantVP=Intolerant pattern +ResourceAttributeEditor.label.limitations=Limitations +ResourceAttributeEditor.label.matchingRule=Matching rule +ResourceAttributeEditor.label.unknownMatchingRule=Unknown matching rule\: {0} +ResourceAttributeEditor.label.new=Create new attribute +ResourceAttributeEditor.label.outbound=Outbound mappings +ResourceAttributeEditor.label.reference=Attribute +ResourceAttributeEditor.label.tolerant=Tolerant +ResourceAttributeEditor.label.tolerantVP=Tolerant pattern +ResourceAttributeEditor.message.cantParseSchema=Couldn't parse resource schema +ResourceAttributeEditor.title.delete=Delete +ResourceAttributeEditor.title.edit=Edit +ResourceCredentialsEditor.label=设置资源凭证 +ResourceCredentialsEditor.label.fetchStrategy=Fetch strategy +ResourceCredentialsEditor.label.inbound=Inbound +ResourceCredentialsEditor.label.outbound=Outbound +ResourceCredentialsEditor.label.passwordPolicyRef=Password policy +ResourceDependencyEditor.label.button.add=Add resource dependency +ResourceDependencyEditor.label=Edit Dependencies +ResourceDependencyEditor.label.intent=Dependency intent +ResourceDependencyEditor.label.kind=Dependency kind +ResourceDependencyEditor.label.order=Order +ResourceDependencyEditor.label.resourceRef=Dependency resource +ResourceDependencyEditor.label.strictness=Strictness +ResourceIterationEditor.label.description=Description +ResourceIterationEditor.label=Edit resource iteration configuration +ResourceIterationEditor.label.expressionEvaluator=Expression evaluator +ResourceIterationEditor.label.expression=Expression +ResourceIterationEditor.label.expressionType=Expression type +ResourceIterationEditor.label.extension=Extension +ResourceIterationEditor.label.language=Language +ResourceIterationEditor.label.maxIteration=Max iteration +ResourceIterationEditor.label.policyRef=Policy ref. +ResourceIterationEditor.label.postIterationCondition=Post-iteration condition +ResourceIterationEditor.label.preIterationCondition=Pre-iteration condition +ResourceIterationEditor.label.returnMultiplicity=Return multiplicity +ResourceIterationEditor.label.stringFilter=String filter +ResourceIterationEditor.label.tokenExpression=Token expression +ResourceIterationEditor.label.variable=Variable +resource.nullValid=Choose resource... +resourcePopup.bundle=Bundle +resourcePopup.button.add=Add resource(s) +resourcePopup.name=Name +resourcePopup.version=Version +ResourceProtectedEditor.button.add=Add protected account +ResourceProtectedEditor.label.description=Description +ResourceProtectedEditor.label=Edit protected accounts +ResourceProtectedEditor.label.filterClause=Filter clause +ResourceProtectedEditor.label.filter=Filter +ResourceProtectedEditor.label.name=Name +ResourceProtectedEditor.label.uid=Uid +ResourceStatus.DOWN=Down +ResourceStatus.ERROR=Error +ResourceStatus.NOT_TESTED=Not tested +ResourceStatus.SUCCESS=Success +ResourceStatus.UP=Up +ResourceStatus.WARNING=Warning +ResourceType.isSync=Synchronization +ResourceType.tasks=Tasks +ResourceWizard.expression.tooltip.expression=The XML representation of the expression. This is the actual expression code that will be interpreted. +ResourceWizard.expression.tooltip.language=Programming language in which is the expression script written. +ResourceWizard.expression.tooltip.policyRef=Reference to a value policy object. The specified value policy will be used as a template to generate a value. +ResourceWizard.expression.tooltip.type=The type of expression. This specifies whether the expression is a script, value generator or something else. +ResourceWizard.help.capabilityStep=

Resource capabilities are the things that the resource can do. Not all the resource are equal in their capabilities. E.g. one resource supports account activation (enabling and disabling accounts) but other does not. One resource provides read-write access while other can support read-only access. One resource supports real-time synchronization while other does not. The capabilities define what features the resource supports so system can behave accordingly.

All the capabilities can be disabled (i.e. turned off). Disabling the capability will cause that system will not use that part of the connector and resource. The capabilities are usually disabled if they are faulty. E.g. if there is a bug in a connector or on the resource then the bug might be circumvented if appropriate capability is disabled. But the capabilities may be disabled also for administrative reasons. E.g. disabling Create, Update and Delete capabilities makes the resource efficiently read-only.

Some capabilities can be simulated. It means that system can pretend that the resource has specific capability even though it does not have it. E.g. an activation capability can be simulated by setting a specific account attribute to a specific value to disable an account. Such simulated capabilities usually require some configuration. This can also be configured on this page.

See Resource Capabilities wiki page for more details. +ResourceWizard.help.configurationStep=

This stage of the wizard configures connector configuration properties. They usually define network parameters used to access the resource such as hostname and port numbers. Additional connection parameters such as operation network timeouts and connection pooling configuration can be specified here.

There connector configuration properties are unique for each connector. The specific set of configuration properties are determined by connector configuration schema. Therefore the content of this page depends on the connector type that was selected in the previous page.

+ResourceWizard.help.nameStep=

This stage of the wizard configures basic properties of the resource. It can be used to configure resource name and description. Connector name is mandatory and must be unique. Connector that will be used to access the resource must also be configured. Connectors are deployed on connector hosts. If the connector host is left empty then connectors deployed directly in the system instance will be used.

See Resource Configuration wiki page for detailed explanation of resource configuration.

+ResourceWizard.help.schemaHandlingStep=

This step is used to provide configuration for handling of resource schema. The configuration displayed on this page tells system what to do with resource object classes and attributes. It contains the configuration of mappings between user properties and account attributes, configuration of account types, groups, provisioning dependencies, password mapping and so on.

The configuration is grouped into object types. Each object type defines the behavior for specific account type, entitlement type, OU, etc. The object type is uniquely identified by the combination of kind and intent. The kind defines what kind of the object it is\:

  • kind\=account means that the object is an account, i.e. that it represents a user.
  • kind\=entitlement is applied to groups, roles, privileges, ACIs and similar objects that can be associated with accounts and which give privileges or access rights to the account.
  • kind\=generic applies to other objects such as organizational units (OUs), domains, etc.
Intent is a plain string that can be used to distinguish several object types. E.g. it can be used to define several account types, e.g. "default user account", "administration account", "testing account" and so on. See Kind, Intent and ObjectClass wiki page for more details.

More details about schema handling configuration are provided on Resource Schema Handling wiki page. +ResourceWizard.help.schemaStep=

This page shows resource schema. The resource schema defines object classes that the connector can manage, e.g. accounts, groups, organizational units and so on. The schema defines a set of attributes for each object class. The schema is presented here in read-only form so you can inspect it and familiarize yourself with the data model that the resource provides.

The resource schema presented at this page is usually retrieved from the resource and automatically generated by system. Resource schema defines what the resource can do, i.e. what object classes it defines and what attributes are used in the object classes. Therefore the schema is read-only. It is not a configuration. It does not defines how system uses the object classes and attributes. That is configured in next steps of the wizard.

See Resource Schema wiki page for detailed explanation of resource schema concepts

+ResourceWizard.help.synchronizationStep=

The synchronization configuration defines how Identity Manager reacts when it discovers that resource object has changed. E.g. it defines how system reacts when it discovers new account, when it discovers that a group that should exist does not and so on. It is usually does not matter how system discovers the change the reaction is usually the same (although exceptions are possible by using channel specification). Therefore the policy that is configured here usually applies to live synchronization, reconciliation, import, discovery (consistency mechanism) and possible also other mechanisms that may come in the future.

See Synchronization Configuration wiki page for more details. +ResourceWizard.saveAndVisualize=Save and visualize +ResourceWizard.visualize=Visualize +runReportPopupContent.button.run=Run report +runReportPopupContent.param.class=Parameter type +runReportPopupContent.param.name.eventStage = Event Stage +runReportPopupContent.param.name.eventType = Event Type +runReportPopupContent.param.name.from = Date From +runReportPopupContent.param.name.initiatorName = Initiator Name +runReportPopupContent.param.name.outcome = Outcome +runReportPopupContent.param.name=Parameter name +runReportPopupContent.param.name.targetName = Target Name +runReportPopupContent.param.name.to = Date To +runReportPopupContent.param.value=Parameter value +runReportPopupContent.param.name.alsoClosedCampaigns=Also closed campaigns? (default is false) +runReportPopupContent.param.name.campaignName=Campaign name +runReportPopupContent.param.name.resource=Resource +runReportPopupContent.param.name.intent=Intent +runReportPopupContent.param.name.objectClass=Object name +runReportPopupContent.param.name.kind=Kind +runReportPopupContent.param.name.situation=Situation +runReportPopupContent.param.name.activation=Activation +runReportPopupContent.param.name.organization=Organization +runReportPopupContent.param.name.role=Role +runReportPopupContent.param.name.roleOids=角色 +runReportPopupContent.param.name.users=用户 +runReportPopupContent.param.name.stageNumber=Stage number (default is to take all stages) +RunReportPopupPanel.title=Report configuration before run +runUntilNodeDown.error1=Compatible data for 'Thread stop action' are\: Close, Suspend +runUntilNodeDown.error2=Compatible data for 'Thread stop action' are\: Restart, Reschedule +SchemaHandlingStep.activation.tooltip.fetchStrategy=How to fetch the attribute when it is needed. Implicit\: the attribute is returned by default, it does not need to be requested; Explicit\: the attribute is not returned by default, always request it explicitly. +SchemaHandlingStep.activation.tooltip.inbound=Inbound mappings map values from the resource (usually an account) to the Identity Manager (usually a user). +SchemaHandlingStep.activation.tooltip.outbound=Outbound mappings map values from Identity Manager (usually a user) to the resource (usually an account). +SchemaHandlingStep.association.label.associationName=Association name +SchemaHandlingStep.association.label.associationNamespace=Namespace +SchemaHandlingStep.association.tooltip.associationAttribute=Name of the attribute that "holds" the association. I.e. an attribute which contains the identifier of the associated object. This is usually an attribute such as "member", "groups", "roles", etc. In subject-to-object associations this is an attribute of a subject (e.g. account attribute "groups"). In object-to-subject associations this is an attribute of an object (e.g. group attribute "members"). +SchemaHandlingStep.association.tooltip.associationLocalPart=TODO\: SchemaHandlingStep.association.tooltip.associationLocalPart +SchemaHandlingStep.association.tooltip.associationNamespace=TODO\: SchemaHandlingStep.association.tooltip.associationNamespace +SchemaHandlingStep.association.tooltip.direction=Defines the direction of the association. Object-to-subject\: Object (e.g. group) has an attribute that contains identifier of the subject (e.g. account); Subject-to-object\: Subject (e.g. account) has an attribute that contains identifier of the object (e.g. group). +SchemaHandlingStep.association.tooltip.explicitRefIntegrity=Explicit referential integrity. If set to false then system assumes that the resource implements referential integrity. E.g. system assumes that the resource automatically updates the association identifiers if an account is renamed and system does not need to do anything. If set to true then system will do referential integrity explicitly. In this case system will explicitly update the association attributes if an account is renamed. +SchemaHandlingStep.association.tooltip.intent=Intent of the association target object type. Target kind and intent identify an object type which is association target, e.g. a group, privilege, role, etc. +SchemaHandlingStep.association.tooltip.kind=Kind of the association target object type. This is usually "entitlement". Target kind and intent identify an object type which is association target, e.g. a group, privilege, role, etc. +SchemaHandlingStep.association.tooltip.valueAttribute=Name of the attribute that is the source of a value for the association. The value of this attribute will be taken and stored into the association attribute to form an association. This is usually an attribute that contains an identifier or name such as "uid", "id", "name", etc. In subject-to-object associations this is an attribute of an object (e.g. group). In object-to-subject associations this is an attribute of a subject (e.g. account). +SchemaHandlingStep.attribute.label.attributeName=Attribute name +SchemaHandlingStep.attribute.label.attributeNamespace=Attribute namespace +SchemaHandlingStep.attribute.tooltip.allow=If checked allows to specify an attribute which is not in the original resource schema. This can be used to fix faulty connectors that do not provide a complete resource schema, which hides some attributes, etc. +SchemaHandlingStep.attribute.tooltip.attributeLocalPart=TODO\: SchemaHandlingStep.attribute.tooltip.attributeLocalPart +SchemaHandlingStep.attribute.tooltip.attributeNamespace=TODO\: SchemaHandlingStep.attribute.tooltip.attributeNamespace +SchemaHandlingStep.attribute.tooltip.exclusiveStrong=When set to false then both strong and normal mapping values are merged to produce the final set of values. When set to true only strong values are used if there is at least one strong mapping. Normal values are used if there is no strong mapping. +SchemaHandlingStep.attribute.tooltip.fetchStrategy=How to fetch the attribute when it is needed. Implicit\: the attribute is returned by default, it does not need to be requested; Explicit\: the attribute is not returned by default, always request it explicitly. +SchemaHandlingStep.attribute.tooltip.inbound=Inbound mappings map values from the resource (usually an account) to the system (usually a user). +SchemaHandlingStep.attribute.tooltip.intolerantVP=A value that matches this pattern will NOT be tolerated. I.e. it will be erased from the attribute value even if it is not a result of system processing (mappings). +SchemaHandlingStep.attribute.tooltip.limitations=Specify attribute limitations such as multiplicity, ability to read or write it, etc. +SchemaHandlingStep.attribute.tooltip.matchingRule=A rule that determines if two attribute values have the same meaning. E.g. setting this to 'stringIgnoreCase' will make this attribute efficiently case insensitive. +SchemaHandlingStep.attribute.tooltip.outbound=Outbound mappings map values from system (usually a user) to the resource (usually an account). +SchemaHandlingStep.attribute.tooltip.reference=Name of the attribute to configure. All the settings and mappings below apply to this attribute. +SchemaHandlingStep.attribute.tooltip.tolerant=Tolerant attributes tolerate values that are set outside of system. Non-tolerant attributes will only allow values that are defined in system (e.g. by resource or role mappings). +SchemaHandlingStep.attribute.tooltip.tolerantVP=A value that matches this pattern will be tolerated. I.e. it will remain as the attribute value even if it is not a result of system processing (mappings). +SchemaHandlingStep.button.add=Add object type +SchemaHandlingStep.credentials.tooltip.fetchStrategy=定义在必要时如何获取凭证内容。隐式:默认时返回凭证内容,不需要重新请求;显式:默认不返回凭证内容,需要显式的请求才能获取数据。 +SchemaHandlingStep.credentials.tooltip.inbound=Inbound mappings map values from the resource (usually an account) to the system (usually a user). +SchemaHandlingStep.credentials.tooltip.outbound=Outbound mappings map values from system (usually a user) to the resource (usually an account). +SchemaHandlingStep.credentials.tooltip.passwordPolicyRef=应用密码策略到该凭证。本项设置会覆盖其他设置,如系统默认提供的密码策略。如果此项不定义密码策略,则默认的密码策略起作用。 +SchemaHandlingStep.dependency.tooltip.intent=Intent of the object on which we depend. +SchemaHandlingStep.dependency.tooltip.kind=Kind of the object on which we depend. +SchemaHandlingStep.dependency.tooltip.order=Normally zero. Can specify an integer that determines the ordering of dependencies that form a cycle and could not be otherwise be resolved (a.k.a. high-order dependencies). +SchemaHandlingStep.dependency.tooltip.resourceRef=Resource on which we depend. +SchemaHandlingStep.dependency.tooltip.strictness=Specifies how strictly will be the dependency resolved. Lax\: if the dependency is not there continue as normal (only used to impose operation ordering); Relaxed\: refuse to do operation unless the dependency is tried first, but if that fails then continue anyway; Strict\: proceed only is the dependency is tried first and it succeeds. +SchemaHandlingStep.iteration.tooltip.maxIteration=Maximum number of iterations to try. The operation will end with a failure if the maximum number of iterations is tried without any success. +SchemaHandlingStep.iteration.tooltip.returnMultiplicity=TODO\: SchemaHandlingStep.iteration.tooltip.returnMultiplicity +SchemaHandlingStep.iteration.tooltip.variable=TODO\: SchemaHandlingStep.iteration.tooltip.variable +SchemaHandlingStep.label.activation=Activation +SchemaHandlingStep.label.assignmentPolicyRef=Assignment policy +SchemaHandlingStep.label.associations=Associations +SchemaHandlingStep.label.attributes=Attributes +SchemaHandlingStep.label.credentials=凭证 +SchemaHandlingStep.label.default=Default +SchemaHandlingStep.label.dependency=Dependencies +SchemaHandlingStep.label.description=Description +SchemaHandlingStep.label.displayName=Display name +SchemaHandlingStep.label.intent=Intent +SchemaHandlingStep.label.iteration=Iteration +SchemaHandlingStep.label.kind=Kind +SchemaHandlingStep.label.newObjectType=New object type +SchemaHandlingStep.label.objectClass=Object class +SchemaHandlingStep.label.objectTypes=Object types +SchemaHandlingStep.label.protected=Protected +SchemaHandlingStep.limitations.tooltip.ignore=Flag to ignore an attribute. System will pretend that the ignored attribute does not exist at all. It will not display it in the user interface, will not apply mappings, etc. +SchemaHandlingStep.limitations.tooltip.layers=System layers to which this limitation applies. Sometimes the limitation does not apply equally to all the layers. E.g. the attribute may be formally read-write but we want it to be only presented as read-only by the user interface and change it only through mappings. In such a case the read-only limitation applies only to "presentation" layer. +SchemaHandlingStep.limitations.tooltip.maxOccurs=Maximum number of occurrences of the attribute. A value of one means single-value attribute, value of "unbounded" means multi-value attribute. A value which is specified here overrides the value taken from resource schema. +SchemaHandlingStep.limitations.tooltip.minOccurs=Minimum number of occurrences of the attribute. A value of zero means optional attribute, value of one means mandatory attribute. A value which is specified here overrides the value taken from resource schema. +SchemaHandlingStep.limitations.tooltip.other=TODO\: REMOVE THIS TOOLTIP +SchemaHandlingStep.limitations.tooltip.propertyAccess=The type of access which is allowed or denied. +SchemaHandlingStep.mapping.tooltip.authoritative=Authoritative mappings both add and remove specified value. Non-authoritative mappings only add the value. E.g. if a role with an authoritative mapping is removed the value that the mapping implied is also removed. If a role with non-authoritative mapping is removed then the value remains. +SchemaHandlingStep.mapping.tooltip.channel=Limits application of this mapping only to specific channel. E.g. to changes coming from live sync, reconciliation or GUI. If the channel is listed then the mapping will be applied. If it is not then it will not be applied. If no channel is specified then no limitations apply and the mapping will be applied for all channels. +SchemaHandlingStep.mapping.tooltip.conditionLanguage=Programming language in which is the condition script written. +SchemaHandlingStep.mapping.tooltip.condition=The XML representation of mapping condition. This is the actual expression code that will be interpreted. Mapping sources are provided as input variables for the condition. If the condition returns true then the mapping will be applied. If it returns false then the mapping is ignored. Note that mappings that were true and that become false may result in removal of a value that was the result of the mapping while it was still true. +SchemaHandlingStep.mapping.tooltip.conditionType=Type of the expression that will be used for the mapping condition. +SchemaHandlingStep.mapping.tooltip.conditionValuePolicyRef=Reference to a value policy object. The specified value policy will be used as a template to generate a value. If no value policy reference is specified then a default policy is determined automatically. E.g. appropriate password policy applicable to the mapping target will be used. +SchemaHandlingStep.mapping.tooltip.exceptChannel=Limits application of this mapping to all channels except the specified channel. E.g. all the changes except those coming from live sync, reconciliation or GUI. If the channel is listed then the mapping will be not applied in this channel. If it is not then it will be applied. If no channel is specified then no limitations apply and the mapping will be applied for all channels. +SchemaHandlingStep.mapping.tooltip.exclusive=Exclusive mapping can be the only mapping that produces a value for a specific target. E.g. if another mapping produces a value for the same attribute then it ends up with an error. +SchemaHandlingStep.mapping.tooltip.expressionLanguage=Programming language in which is the expression script written. +SchemaHandlingStep.mapping.tooltip.expression=The XML representation of the expression. This is the actual expression code that will be interpreted. Mapping sources are provided as input variables for the expression. Expression return value is applied to mapping target. +SchemaHandlingStep.mapping.tooltip.expressionType=The type of expression used in this mapping. If no expression is specified the "asIs" expression will be used. +SchemaHandlingStep.mapping.tooltip.expressionValuePolicyRef=Reference to a value policy object. The specified value policy will be used as a template to generate a value. If no value policy reference is specified then a default policy is determined automatically. E.g. appropriate password policy applicable to the mapping target will be used. +SchemaHandlingStep.mapping.tooltip.source=Mapping source. Mapping will react to changes in its sources. The values of the sources are input parameters to the expression inside the mapping. +SchemaHandlingStep.mapping.tooltip.strength=The strength with which the mapping is applied. Weak mappings are only applied if there is no value in the target yet. Normal mappings are applied only if the source has been changed. Strong mappings are applied always. +SchemaHandlingStep.mapping.tooltip.target=Mapping target. The value that the mapping produces will be applied to the mapping target. +SchemaHandlingStep.message.errorLoadingObjectTypeList=Couldn't load object class list from resource. Error\: +SchemaHandlingStep.message.saveError=Couldn't save schema handling, {0} +SchemaHandlingStep.message.selectObjectClassAss=Please provide 'Object class' attribute before creating resource association. +SchemaHandlingStep.message.selectObjectClassAttr=Please provide 'Object class' attribute before creating resource attribute. +SchemaHandlingStep.message.validationError=Inserted objectClass value\: '{0}' is not valid. Please provide valid objectClass value. +SchemaHandlingStep.protected.tooltip.filter=TODO\: SchemaHandlingStep.protected.tooltip.filter +SchemaHandlingStep.protected.tooltip.name=TODO\: SchemaHandlingStep.protected.tooltip.name +SchemaHandlingStep.protected.tooltip.uid=TODO\: SchemaHandlingStep.protected.tooltip.uid +SchemaHandlingStep.title=Schema handling +SchemaHandlingStep.tooltip.activation=Definition how to map activation states (enabled/disabled/archived) and dates (validity from and to). +SchemaHandlingStep.tooltip.assignmentPolicyRef=Assignment policy specifies how strictly are the assignments enforced. None\: the assignments are not enforced at all; Positive\: assignments only add values (never substract); Relative\: only changes are propagated, existing values are left as they are; Full\: everything is strictly enforced (both changed and existing values). +SchemaHandlingStep.tooltip.associations=Definitions how entitlement associations are to be handled. +SchemaHandlingStep.tooltip.attributes=Definitions how individual attributes are to be handled. Each definition may contain inbound/outbound mappings, attribute limitations, etc. +SchemaHandlingStep.tooltip.credentials=定义如何处理凭证,比如密码。 +SchemaHandlingStep.tooltip.default=If set to true then this definition is the default for its kind. I.e. if no intent is explicitly specified then this definition will be used. +SchemaHandlingStep.tooltip.dependency=Dependencies are object types that has to be processed before this object types is processed. I.e. this object type depends on them. The object types on which this object type depends will be provisioned before this object type. Dependencies are used to impose ordering into provisioning operations. +SchemaHandlingStep.tooltip.filterClause=TODO\: SchemaHandlingStep.tooltip.filterClause +SchemaHandlingStep.tooltip.intent=Intent specifies what system should do with the object. Intent sorts objects of the same kind into several categories. Objects with different intents may be handled differently by system. +SchemaHandlingStep.tooltip.iteration=Iteratively find values for unique attributes such as identifiers. Identity Manager will try several times to find a unique value for such attributes. +SchemaHandlingStep.tooltip.kind=Kind specified what this object is, whether it is account, entitlement or something else. +SchemaHandlingStep.tooltip.objectClass=Object class from the schema that will be used to construct instances of this object type. +SchemaHandlingStep.tooltip.protected=Specification of protected instances of this object type. System can see protected instances but they cannot be touched. Any attempt to modify them will fail. This is used to protect emergency administration accounts such as "root" or "administrator". +SchemaHandlingStep.duplicateObjectTypeWarning=There are more definitions for kind/intent\: {0}. +SchemaHandlingStep.in=in\: {0} +SchemaHandlingStep.out=out +SchemaHandlingStep.dup=DUP {0} +SchemaListPanel.attributes=Attributes +SchemaListPanel.details.default=Default +SchemaListPanel.details.description=Description +SchemaListPanel.details=Details +SchemaListPanel.details.displayName=Display name +SchemaListPanel.details.intent=Intent +SchemaListPanel.details.kind=Kind +SchemaListPanel.details.nativeObjectClass=Native obj. class +SchemaListPanel.displayName=Display name +SchemaListPanel.displayOrder=Order +SchemaListPanel.message.couldntParseSchema=Couldn't parse resource schema +SchemaListPanel.minMax=Min/max occurs +SchemaListPanel.name=Name +SchemaListPanel.nativeAttributeName=Native attribute name +SchemaListPanel.objectClasses=Object classes +SchemaListPanel.objectClass=Object class +SchemaListPanel.returnedByDefault=Returned by default +SchemaStep.button.reload=Reload +SchemaStep.message.reload.fail=Schema for resource '{0}' was not reloaded. +SchemaStep.message.reload.ok=Schema for resource '{0}' was reloaded successfully. +SchemaStep.schema=Schema +SchemaStep.title=Schema +SchemaStep.tooltip.intent=Intent specifies what system should do with the object. Intent sorts objects of the same kind into several categories. Objects with different intents may be handled differently by system. +SchemaStep.tooltip.isDefault=If set to true then this definition is the default for its kind. I.e. if no intent is explicitly specified then this definition will be used. +SchemaStep.tooltip.kind=Kind specified what this object is, whether it is account, entitlement or something else. +SchemaStep.tooltip.nativeObjectClass=Object class name how it is natively known by the resource (or the connector). +SchemaStep.xml=XML +SearchFilterPanel.button.update=Update clause +SearchFilterPanel.label.description=Description +SearchFilterPanel.label.filterClause=Filter clause +SearchFilterPanel.message.cantSerialize=Could not parse filter clause. Please enter correct expression. Reason\: {0} +SearchFilterPanel.message.expressionSuccess=Filter clause has been updated successfully. +searchForm.filetype.null=File type +searchForm.reportType.null=Report type +searchForm.searchTextPlaceholder=Text +SearchType.AUTHOR=Author +SearchType.DESCRIPTION=Description +SearchType.FAMILY_NAME=Family name +SearchType.FULL_NAME=Full name +SearchType.GIVEN_NAME=Given name +SearchType.NAME=Name +simpleErrorPanel.label.showMore=Show more +simpleErrorPanel.message.error=Account on resource '{0}' not loaded. +SimpleRoleSelector.reset=Reset +MultipleAssignmentSelector.reset=Reset the list +situation.nullValid=Choose One +StandardLoggerType.CHANGE_EXECUTOR=Change executor (c.e.m.model.impl.lens.ChangeExecutor) +StandardLoggerType.CLOCKWORK=Clockwork (c.e.m.model.impl.lens.Clockwork) +StandardLoggerType.EXPRESSION=Expression (c.e.m.common.expression.Expression) +StandardLoggerType.MAPPING=Mapping (c.e.m.common.mapping.Mapping) +StandardLoggerType.PROJECTOR_DETAIL=Projector detailed (c.e.m.model.impl.lens.projector) +StandardLoggerType.PROJECTOR=Projector (c.e.m.model.impl.lens.projector.Projector) +StandardLoggerType.SCRIPT_EXPRESSION=Script expression (c.e.m.common.expression.script.ScriptExpression) +SubtasksPanel.label.category=Category +SubtasksPanel.label.detail=Detail +SubtasksPanel.label.executionState=Execution state +SubtasksPanel.label.name=Task name +SubtasksPanel.label.result=Result +SynchronizationActionEditorDialog.button.cancel=Cancel +SynchronizationActionEditorDialog.button.save=Save +SynchronizationActionEditorDialog.button.apply=Apply +SynchronizationActionEditorDialog.label.description=Description +SynchronizationActionEditorDialog.label=Edit Synchronization Action +SynchronizationActionEditorDialog.label.handlerUri=Action +SynchronizationActionEditorDialog.label.name=Name +SynchronizationActionEditorDialog.label.order=Order +SynchronizationExpressionEditor.label.condition=Edit synchronization condition +SynchronizationExpressionEditor.label.confirmation=Edit synchronization confirmation +SynchronizationInformationPanel.count=Count +SynchronizationInformationPanel.deleted=Deleted +SynchronizationInformationPanel.disputed=Disputed +SynchronizationInformationPanel.linked=Linked +SynchronizationInformationPanel.noSynchronizationPolicy=No sync policy +SynchronizationInformationPanel.notApplicableForTask=Not applicable for task +SynchronizationInformationPanel.protected=Protected +SynchronizationInformationPanel.state=State +SynchronizationInformationPanel.synchronizationDisabled=Sync disabled +SynchronizationInformationPanel.title=States of processed objects (before operation) +SynchronizationInformationPanel.titleAfter=States of processed objects (after operation) +SynchronizationInformationPanel.discoveryWarning=(The following numbers may include processing triggered by the discovery mechanism.) +SynchronizationInformationPanel.unlinked=Unlinked +SynchronizationInformationPanel.unmatched=Unmatched +ActionsExecutedInformationPanel.title=Actions executed +ActionsExecutedInformationPanel.showingResultingActionsOnly=Showing "resulting actions" only. E.g. user ADD and MODIFY in one synchronization operation is shown as ADD. +ActionsExecutedInformationPanel.showingAllActions=Showing all executed actions. +ActionsExecutedInformationPanel.changeShowingActions=Change it. +ActionsExecutedInformationPanel.objectType=Object type +ActionsExecutedInformationPanel.operation=Operation +ActionsExecutedInformationPanel.channel=Channel +ActionsExecutedInformationPanel.successCount=Count (OK) +ActionsExecutedInformationPanel.lastSuccessObject=Last (OK) +ActionsExecutedInformationPanel.lastSuccessTimestamp=Time +ActionsExecutedInformationPanel.failureCount=Count (failure) +SynchronizationPolicyDecision.ADD=Add +SynchronizationPolicyDecision.DELETE=Delete +SynchronizationPolicyDecision.KEEP=No change +SynchronizationPolicyDecision.UNLINK=Unlink +SynchronizationReactionEditor.label.action=Action +SynchronizationReactionEditor.label.channel=Channel +SynchronizationReactionEditor.label.description=Description +SynchronizationReactionEditor.label.edit=Edit reaction +SynchronizationReactionEditor.label.name=Name +SynchronizationReactionEditor.label.new=Create new reaction +SynchronizationReactionEditor.label.objectTemplateRef=Object template ref. +SynchronizationReactionEditor.label.reconcile=Reconcile +SynchronizationReactionEditor.label.situation=Situation +SynchronizationReactionEditor.label.synchronize=Synchronize +SynchronizationStep.action.tooltip.handlerUri=The explicit action to execute. Please note that most actions are designed to work with the default Identity Manager's synchronization algorithm and that this algorithm will be executed unless it was explicitly disabled (and then the result may be an error). Also note that even if no explicit action is selected system will still do the default synchronization algorithm if the "synchronize" option was selected. +SynchronizationStep.action.tooltip.order=Whether the explicit action is executed before Identity Manager's default synchronization algorithms or after them. Most built-in actions are designed to be executed before system synchronization as they only set up the model context and then they let system to do the real work. However some custom action may need to be executed after the synchronization, e.g. to deliver notifications, clean up, etc. +SynchronizationStep.button.add=Add synchronization object +SynchronizationStep.label.condition=Condition +SynchronizationStep.label.confirmation=Confirmation +SynchronizationStep.label.correlation=Correlation +SynchronizationStep.label.description=Description +SynchronizationStep.label.editSyncObject=Edit '{0}' +SynchronizationStep.label.enabled=Enabled +SynchronizationStep.label.focus=主对象 +SynchronizationStep.label.intent=Intent +SynchronizationStep.label.kind=Kind +SynchronizationStep.label.name=Name +SynchronizationStep.label.newObjectType=New sync. object type +SynchronizationStep.label.notSpecified=(name not specified) +SynchronizationStep.label.objectClass=Object class +SynchronizationStep.label.objectTemplate=Object template +SynchronizationStep.label.opportunistic=Opportunistic +SynchronizationStep.label.reaction=Reaction +SynchronizationStep.label.reconcile=Reconcile +SynchronizationStep.label.syncObjectHeader=Synchronization objects +SynchronizationStep.message.cantSave=Couldn't save resource synchronization. +SynchronizationStep.message.errorLoadingObjectSyncList=Couldn't load object synchronization list from resource. Error\: +SynchronizationStep.message.errorLoadingObjectTemplates=Couldn't load object templates from repository. +SynchronizationStep.message.unsupportedActionFormat=You are using deprecated attribute 'ref' to define reaction action. Use element 'handlerUri' instead. Actions with 'ref' attribute will not be shown in this wizard. +SynchronizationStep.reaction.tooltip.action=Explicit action. This setting defines what system has to do as a reaction to the synchronization event. +SynchronizationStep.reaction.tooltip.channel=Channel limitation. If the synchronization event originated from the specified channel (e.g. live sync, reconciliation or import) then this reaction will be processed. It will be ignored otherwise. +SynchronizationStep.reaction.tooltip.objectTemplateRef=Object template that will be used to process this specific synchronization event. If no object template is specified here then the usual default will be used. +SynchronizationStep.reaction.tooltip.reconcile=If set to true then the reconciliation step will be forced for this synchronization event. The attributes will be explicitly fetched if they are not present. If set to false then the reconciliation will be automatic. In that case the reconciliation happens only if the attributes are already present in the synchronization event. If the attributes are not present they will not be explicitly fetched and the reconciliation will be skipped. +SynchronizationStep.reaction.tooltip.situation=Synchronization situation. If the situation of the event matches the situation specified here then the reaction will be applied. It will be ignored otherwise. +SynchronizationStep.reaction.tooltip.synchronize=If set to true then the usual synchronization algorithms will be applied (a.k.a. clockwork and projector) in addition to explicit action specified below. This is the usual case. If set to false then the synchronization algorithms will be skipped and only the explicit action will be executed. +SynchronizationStep.title=Synchronization +SynchronizationStep.tooltip.condition=The synchronization setting will be applied only if this condition returns true. The condition is used mostly to sort the object of the same kind into intents. E.g. the condition may decide whether the username starts with "T". If is does then it can sort out accounts to intent "test" and if it does not then the account will have default intent. +SynchronizationStep.tooltip.confirmation=Confirmation expression. Each result of the correlation expression will be passed to confirmation expression. If the confirmation expression returns true then the objects will be linked. If no confirmation expression is specified then all the objects returned from the correlation query are accepted by default. Confirmation expression may be reasonable resource-intensive because it will be executed only for objects that are returned from the correlation query. +SynchronizationStep.tooltip.correlation=Correlation expression. The correlation expression is used to link focal objects (e.g. User) and shadows (e.g. account) that belong together. The correlation expression results in a search filter that is executed over the focal objects (usually users). The query returns candidate objects for linking. Correlation expression must be very efficient otherwise the synchronization performance will suffer. +SynchronizationStep.tooltip.enabled=Set to true if this synchronization setting is enabled. This is the default. This setting can be used to temporarily disable the synchronization setting. +SynchronizationStep.tooltip.focus=The type of focal object that corresponds to the resource object. For account objects this is usually a user object (UserType). This can be set to RoleType or OrgType for entitlement objects and so on. +SynchronizationStep.tooltip.intent=Object intent for which this definition applies. If the object (shadow) already has a kind and intent when it is processed by the synchronization code then this kind/intent definition will be used to select the synchronization settings to apply to this object. If the object does not have kind/intent then object class and conditions will be used to select the settings. In such a case the object (shadow) will be marked by the intent specified in this field. +SynchronizationStep.tooltip.kind=Object kind for which this definition applies. If the object (shadow) already has a kind and intent when it is processed by the synchronization code then this kind/intent definition will be used to select the synchronization settings to apply to this object. If the object does not have kind/intent then object class and conditions will be used to select the settings. In such a case the object (shadow) will be marked by the kind specified in this field. +SynchronizationStep.tooltip.objectClass=Object class for which this definition applies. This will be used to select the synchronization settings in case the object (shadow) does not have kind/intent definition yet. +SynchronizationStep.tooltip.objectTemplate=Object template that will be used to process this specific synchronization event. If no object template is specified here then the usual default will be used. +SynchronizationStep.tooltip.opportunistic=If set to true then opportunistic synchronization (a.k.a. discovery) will be enabled during the processing of this event. +SynchronizationStep.tooltip.reaction=Specifies how system reacts to this synchronization event. Several reactions can be specified. The reaction appropriate for the synchronization situation of the event will be selected. +SynchronizationStep.tooltip.reconcile=If set to true then the reconciliation step will be forced for this synchronization event. The attributes will be explicitly fetched if they are not present. If set to false then the reconciliation will be automatic. In that case the reconciliation happens only if the attributes are already present in the synchronization event. If the attributes are not present they will not be explicitly fetched and the reconciliation will be skipped. +SystemConfigPanel.assignmentPolicyEnforcement=Assignment policy enforcement +SystemConfigPanel.cleanupPolicy.auditRecords=Audit records cleanup interval +SystemConfigPanel.cleanupPolicy=Cleanup Policy +SystemConfigPanel.cleanupPolicy.closedTasks=Closed tasks cleanup interval +SystemConfigPanel.cleanupPolicy.placeholder=Insert interval +SystemConfigPanel.deprecated.objectPolicy=This part of configuration is deprecated. It is kept here for compatibility purposes. Please, use the component below to define object policies. +SystemConfigPanel.mail.config.placeholder=New Configuration +SystemConfigPanel.mail.debug=Debug +SystemConfigPanel.mail.defaultFrom=Default from +SystemConfigPanel.mail.host=Host +SystemConfigPanel.mail.password=Password +SystemConfigPanel.mail.password.placeholder.empty=Set password +SystemConfigPanel.mail.password.placeholder.set=Password is set +SystemConfigPanel.mail.port=Port +SystemConfigPanel.mail.server=Mail Server +SystemConfigPanel.mail.server.remove.warn=Could not delete selected mail server configuration. Changes made to selected configuration prevent the removal. Please re-select the configuration you wish to remove. +SystemConfigPanel.mail.server.tooltip=Select the mail server to configure it. To add new configuration, press '+' button. To remove selected configuration, press '-' button. +SystemConfigPanel.mail.transportSecurity=Transport security +SystemConfigPanel.mail.username=Username +SystemConfigPanel.misc.enableExperimentalCode=Enable experimental code +SystemConfigPanel.notification.redirectToFile.placeholder=Filename +SystemConfigPanel.notification.redirectToFile=Redirect to file +SystemConfigPanel.title.accountSynchronization=Global account synchronization settings +SystemConfigPanel.title.basic=Basic +SystemConfigPanel.title.connectorFramework=Connector frameworks configuration +SystemConfigPanel.title.misc=Miscellaneous +SystemConfigPanel.title.modelHooks=Model hooks +SystemConfigPanel.title.notification=Notifications +SystemConfigPanel.title.passwordPolicy=Global password policy +SystemConfigPanel.title.securityPolicy=Global security policy +SystemConfigPanel.title.userTemplate=Default user template +SystemConfigPanel.tooltip.duration=Format\: P[n][p], n-number, p-period (d - days, m - months, ...), P3M - cleanup every 3 months +SystemInfoPanel.cpuUsage=CPU Usage +SystemInfoPanel.heapMemory=Heap memory (used/committed/max) +SystemInfoPanel.nonHeapMemory=Non heap memory (used/committed/max) +SystemInfoPanel.threads=Threads (live/peak/total) +TaskDtoExecutionStatus.CLOSED=Closed +TaskDtoExecutionStatus.CLOSED.withTimestamp=Closed at ${} +TaskDtoExecutionStatusFilter.ALL=All execution states +TaskDtoExecutionStatusFilter.CLOSED=Closed +TaskDtoExecutionStatusFilter.NOT_CLOSED=Not closed +TaskDtoExecutionStatusFilter.RUNNING_OR_RUNNABLE=Runnable or running +TaskDtoExecutionStatusFilter.SUSPENDED_OR_SUSPENDING=Suspended or suspending +TaskDtoExecutionStatusFilter.WAITING=Waiting +TaskDtoExecutionStatus.RUNNABLE=Runnable +TaskDtoExecutionStatus.RUNNING_OR_RUNNABLE=Running/Runnable +TaskDtoExecutionStatus.RUNNING=Running +TaskDtoExecutionStatus.SUSPENDED=Suspended +TaskDtoExecutionStatus.SUSPENDING=Suspending +TaskDtoExecutionStatus.WAITING=Waiting +TaskExecutionStatus.CLOSED=Closed +TaskExecutionStatus.RUNNABLE=Runnable +TaskExecutionStatus.SUSPENDED=Suspended +TaskExecutionStatus.WAITING=Waiting +TaskListType.ACTIVATED=Activated +TaskListType.ALL=All +TaskListType.DEACTIVATED=Deactivated +TaskListType.EXECUTING=Executing +TaskStatePanel.countersSource=Statistical and state information source\: +TaskStatePanel.currentObjectProcessed=Current object being processed +TaskStatePanel.executionStatus=Execution status +TaskStatePanel.executionTime=Execution time +TaskStatePanel.lastError=Last error when processing object +TaskStatePanel.lastObjectProcessedFailure=Last object failed to be processed +TaskStatePanel.lastObjectProcessedSuccess=Last object successfully processed +TaskStatePanel.message.countersSourceMemory=task in memory (fetched {0}) +TaskStatePanel.message.countersSourceRepository=repository (statistics updated on {0}) +TaskStatePanel.message.executionTime.finished={0} - {1} ({2}) +TaskStatePanel.message.executionTime.notFinished=Started {0} ({1} ago) +TaskStatePanel.message.lastObjectProcessed={0} +TaskStatePanel.message.node= - at node {0} +TaskStatePanel.message.objectsProcessed={0} +TaskStatePanel.message.objectsProcessedTime=(average time {1} ms, total processing time {0} seconds) +TaskStatePanel.message.objectsTotal={0} (wall clock average\: {1} ms) +TaskStatePanel.message.timeInfoWithAgo={0} ({1} ago) +TaskStatePanel.message.timeInfoWithDuration={0} (in {1} ms) +TaskStatePanel.message.timeInfoWithDurationAndAgo={0} ({1} ago - in {2} ms) +TaskStatePanel.message.timeInfoWithIn={0} (in {1}) +TaskStatePanel.message.ago=({0} ago) +TaskStatePanel.message.duration=(in {0} ms) +TaskStatePanel.message.durationAndAgo=({0} ago - in {1} ms) +TaskStatePanel.message.in=(in {0}) +TaskStatePanel.objectsProcessedFailure=Objects failed to be processed +TaskStatePanel.objectsProcessedSuccess=Objects successfully processed +TaskStatePanel.objectsTotal=Total objects processed +TaskStatePanel.opResult=Operation result +TaskStatePanel.progress=Progress +TaskStatePanel.statistics=Environmental performance statistics +TaskStatePanel.subtaskName=Name +TaskStatePanel.subtaskObjectsProcessed=Objects processed +TaskStatePanel.subtaskState=State +TaskStatePanel.updated=Updated\: +TaskStatePanel.workerThreads=Lightweight subtasks (worker threads) +tempMessagePanel.cause=Cause\: +tempMessagePanel.context=Context\: +tempMessagePanel.count=Count\: +tempMessagePanel.message.debug=Debug +tempMessagePanel.message.error=Error +tempMessagePanel.message.expectedError=Expected error +tempMessagePanel.message.fatalError=Fatal error +tempMessagePanel.message.inProgress=In progress +tempMessagePanel.message.notApplicable=Not applicable +tempMessagePanel.message.partialError=Partial error +tempMessagePanel.message.success=Success +tempMessagePanel.message.undefined=Undefined +tempMessagePanel.message.unknown=Unknown +tempMessagePanel.message.warn=Warning +tempMessagePanel.param=Param\: +tempMessagePanel.times=times +TextDetailsPanel.title=Association Details +TextField.universal.placeholder=Insert value +ThreeStateBooleanPanel.false=False +ThreeStateBooleanPanel.true=True +ThreeStateBooleanPanel.undef=Undef. +timeouts=Timeouts +Title.CurrentStatus=Last status message +Title.MappingsStatistics=Mappings evaluation information +Title.NotificationsStatistics=Notifications information +Title.ProvisioningStatistics=Provisioning operations information +Title.Source=Source\: +TreeTablePanel.childOrg=Children org. units +TreeTablePanel.collapseAll=Collapse all +TreeTablePanel.deleteRoot=Delete root +TreeTablePanel.dialog.title.confirmDelete=Confirm delete +TreeTablePanel.editRoot=Edit root +TreeTablePanel.expandAll=Expand all +TreeTablePanel.hierarchy=Org. hierarchy +TreeTablePanel.managers=Managers +TreeTablePanel.members=Members +TreeTablePanel.menu.addManager=Add manager +TreeTablePanel.menu.addMember=Add member +TreeTablePanel.menu.deleteMember=Delete member +TreeTablePanel.menu.deleteAllMembers=删除所有成员(主对象) +TreeTablePanel.menu.addOrgUnit=Add org. unit +TreeTablePanel.menu.addToHierarchy=Add to org. unit +TreeTablePanel.menu.delete=Delete +TreeTablePanel.menu.disable=Disable +TreeTablePanel.menu.enable=Enable +TreeTablePanel.menu.move=Move +TreeTablePanel.menu.recompute=Recompute +TreeTablePanel.menu.removeFromHierarchy=Remove from org. unit +TreeTablePanel.message.warn.deleteTreeObjectConfirm=Warning\! {0} has members. Do you really want to delete this org. unit? +TreeTablePanel.message.deleteTreeObjectConfirm=Do you really want to delete org. unit "{0}"? +TreeTablePanel.message.deleteObjectConfirm=Do you really want to delete selected {0} object(s)? +TreeTablePanel.message.deleteRootConfirm=Do you really want to delete {0} ({1})? +TreeTablePanel.message.nothingSelected=No object has been selected. +TreeTablePanel.message.recomputeError=Can't recompute Org. unit +TreeTablePanel.moveRoot=Move root +TreeTablePanel.recomputeRoot=Recompute root +TreeTablePanel.recomputeTask=Recompute users in organization {0} +TreeTablePanel.search.scope.one=One level +TreeTablePanel.search.scope.subtree=Subtree +TreeTablePanel.fullName.displayName=Fullname/Display name +TreeTablePanel.identifier.description=Identifier/Description +TreeTablePanel.warning.childrenExist=Organization which is going to be deleted has members. Do you really want to delete it? +Type.AUDIT=Audit +type.nullValid=Choose One +Type.RECONCILIATION=Reconciliation +typeSelect.null=All roles +Type.USERS=User +UploadPanel.delete.tooltip=Remove file +UploadPanel.message.help=Choose file for import. +UploadPanel.message.removeError=File was not removed. +UploadPanel.message.removeSuccess=File was removed. +UploadPanel.message.uploadError=File upload failed. Try again please. +UploadPanel.message.uploadSuccess=File upload was successful. Continue with editing and press 'Save' when done. +UploadPanel.upload.tooltip=Upload file +UploadPanel.download.tooltip=Download file +userBrowserDialog.button.cancelButton=Cancel +userBrowserDialog.button.addButton=Add +userBrowserDialog.button.selectButton=Select +userBrowserDialog.button.searchButton=Search +userBrowserDialog.email=Email +userBrowserDialog.familyName=Family name +userBrowserDialog.fullName=Full name +userBrowserDialog.givenName=Given name +userBrowserDialog.message.queryError=Error occurred during translation search query to filter. +userBrowserDialog.name=Name +userBrowserDialog.title=Choose user +userBrowserDialog.type=Type +User.disabled=Disabled +UserMenuPanel.editPasswordQuestions=Security Questions +UserMenuPanel.editProfile=编辑配置 +UserMenuPanel.logout=Log out +UserMenuPanel.resetPasswords=Reset password +UserOrgReferenceChoosePanel.type.org=Org. Unit +UserOrgReferenceChoosePanel.type=Owner Type +UserOrgReferenceChoosePanel.type.user=User +UserReportConfigPanel.dateFrom=From +UserReportConfigPanel.dateTo=To +UserReportConfigPanel.exportFileType=Export Type +UserReportConfigPanel.title.basic=Basic User Report Configuration +user.enduser=End user +user.noAssignments=No assignments +user.superuser=Superuser +user.orgManager=Manager +user.orgMember=Member +user.noOrgs=No organizations +validFromFetchStrategy.nullValid=Choose One +validToFetchStrategy.nullValid=Choose One +valueAttribute.nullValid=Choose One +WebModelUtils.couldntLoadObject=Couldn't load object. +WebModelUtils.couldntSaveObject=Couldn't save object. +WebModelUtils.couldntSearchObjects=Couldn't search objects. +WebModelUtils.couldntDeleteObject=Couldn't delete object. +WebModelUtils.couldntCountObjects=Couldn't count objects. +web.security.provider.access.denied=Access denied. You don't have permission to access, please contact Identity Manager's administrators. +web.security.provider.denied=Permission denied. +web.security.provider.disabled=User is disabled. +web.security.provider.invalid=Invalid username and/or password. +web.security.provider.invalid.link=Invalid link +web.security.provider.locked=User is locked, please wait. +web.security.provider.password.bad=User doesn't have defined password. +web.security.provider.password.encoding=Couldn't authenticate user, reason\: couldn't encode password. +web.security.provider.unavailable=Currently we are unable to process your request. Kindly try again later. +web.security.ldap.access.denied=Access denied. You don't have permission to access, please contact Identity Manager's administrators. +web.security.ldap.denied=Permission denied. +web.security.ldap.disabled=User is disabled. +web.security.ldap.invalid=Invalid username and/or password. +web.security.ldap.invalid.link=Invalid link +web.security.ldap.locked=User is locked, please wait. +web.security.ldap.password.bad=User doesn't have defined password. +web.security.ldap.password.encoding=Couldn't authenticate user, reason\: couldn't encode password. +web.security.ldap.unavailable=Currently we are unable to process your request. Kindly try again later. +WfDeltasPanel.label.deltaIn=Process input\: delta(s) to be approved +WfDeltasPanel.label.deltaOutListEmpty=(none) +WfDeltasPanel.label.deltaOut=Process output\: delta(s) resulting from the approval +WfHistoryPanel.label.event=Event +WfHistoryPanel.label.timestamp=Time +WizardHelpDialog.button.ok=Ok, Got It\! +WizardHelpDialog.label=Get Help With Resource Wizard\! +Wizard.message.cancel=Resource editing was canceled +Wizard.correctErrorsFirst=Please correct the errors before saving. +Wizard.Issues=Issues +Wizard.Notes=Notes +WizardStep.title= +WorkItemsPanel.actors=Actor(s) +WorkItemsPanel.object=Object +WorkItemsPanel.target=Target +WorkItemsPanel.name=Name +WorkItemsPanel.stage=Stage +WorkItemsPanel.started=Process started +WorkItemsPanel.created=Created +WorkItemsPanel.deadline=Deadline +WorkItemsPanel.escalationLevel=Esc. level +PageAdmin.menu.dashboard=仪表盘 +PageAdmin.menu.selfDashboard=仪表盘 +PageAdmin.menu.selfService=SELF SERVICE +PageAdmin.menu.mainNavigation=ADMINISTRATION +PageAdmin.menu.additional=ADDITIONAL +PageAdmin.menu.profile=配置管理 +PageAdmin.menu.assignments=Assignments +PageAdmin.menu.credentials=凭证管理 +PageAdmin.menu.request=Request a role +PageTemplate.version=版本: +PageTemplate.copy=Copyright © 2010-2017 Evolveum® and partners.  +PageTemplate.toggleNavigation=切换导航 +PageTemplate.user=用户 +PageTemplate.couldntNavigateBreadcrumb=无法使用路径导航,原因:{0} +SystemInfoPanel.starttime=Start time +SystemInfoPanel.uptime=Uptime +CountToolbar.label.unknownCount=Displaying {0,number,integer} to {1,number,integer}, unknown number of matching results. +TableConfigurationPanel.pageSize=Page size +TableConfigurationPanel.tableColumns=Table columnsCountToolbar.label.unknownCount\=Displaying {0,number,integer} to {1,number,integer}, unknown number of matching results. +MyRequestsPanel.started = Started +MyRequestsPanel.rejected = Rejected +MyRequestsPanel.approved = Approved +MyRequestsPanel.inProgress = In progress +MyRequestsPanel.name = Name +PageSelfProfile.title=配置管理 +PageSelfDashboard.title=仪表盘 +PageSelfDashboard.workItems=My work items +PageSelfDashboard.myRequests=My requests +PageAdmin.menu.top.serverTasks.edit=Edit task +PageAdmin.menu.top.configuration.repositoryObjectView=Edit object +PageAdmin.menu.top.reports.configure=Configure report +PageAdmin.menu.top.users.edit=Edit user +PageAdmin.menu.top.roles.edit=Edit role +PageAdmin.menu.top.users.org.edit=Edit organization +PageSelfCredentials.tabs.password=Password +PageSelfCredentials.title=凭证 +PageSelfCredentials.oldPasswordLabel=Old password +PageSelfCredentials.passwordLabel1=New password +PageSelfCredentials.passwordLabel2=Confirm password +PageSelfCredentials.accountMidpoint=Identity Manager +PageSelfCredentials.resourceMidpoint=Identity Repository +PageSelfCredentials.noAccountSelected=Password not changed. No account was selected. +PageSelfCredentials.emptyPasswordFiled=New password fields values are to be specified. +PageSelfCredentials.incorrectOldPassword=Password not changed. Old password is incorrect. +PageSelfCredentials.specifyOldPasswordMessage=Please, specify old password value +ChangePasswordPanel.accountsTable.header=Password propagation +ChangePasswordPanel.name=Name +ChangePasswordPanel.resourceName=Resource +ChangePasswordPanel.enabled=Enabled +ChangePasswordPanel.legendMessage.selected= - Password will be changed +ChangePasswordPanel.legendMessage.propagated= - Automatic password propagation (based on policies defined in resources definitions) +ChangePasswordPanel.legendMessage.deselected= - Password will not be changed +ChangePasswordPanel.helpInfo=

凭据对话框中的设置影响密码变更将如何传播到每个单独的系统。第一行定义在身份管理系统中是否会更改密码。下面的行表示可以更改每个对端系统的密码。可用的密码传播选项\:

  • class\="fa fa-check-square-o"/> 密码将被更改。此系统的密码将改为密码对话框中指定的值。
  • class\="fa fa-sign-out"/> 自动密码传播。密码可能会被更改,密码是否更改取决于身份管理员设置的策略。这通常意味着如果对当前的情况和设置有起作用, 密码将被更改。这是合理的默认选择。
  • class\="fa fa-square-o"/> 密码不会为此系统更改。

您可以通过单击图标来调整密码传播设置, 从而微调如何将密码更改传播到每个单独的系统。

+ChangePasswordPanel.helpPopupTitle=Password propagation help +PageBase.button.tooltip.clearSearch=Clear +mainForm.uploadTooLarge = Upload must be less than ${maxSize}. +mainForm.uploadFailed = File failed to upload\: ${exception.localizedMessage}PageSelfCredentials.couldntResolve\=Couldn't resolve resource. +PageSelfCredentials.couldntResolve=Couldn't resolve resource. +roleMemberPanel.type=Type\: +roleMemberPanel.tenant=Tenant\: +roleMemberPanel.project=Org/Project\: +roleMemberPanel.indirectMembers=Include indirect members +roleMemberPanel.allRelations=Show all relations +roleMemberPanel.menu.createOwner=Create owner +roleMemberPanel.menu.assignOwners=Assign owners +roleMemberPanel.menu.createApprover=Create approver +roleMemberPanel.menu.assignApprovers=Assign approvers +roleMemberPanel.relation=Relation +SearchPanel.more=More... +SearchPanel.add=Add +SearchPanel.close=Close +SearchPanel.properties=Properties +SearchPanel.fullText=Full text +SearchPanel.fullTextSearch=Full text search +SearchItemPanel.all=All +SearchItemPanel.update=Update +SearchItemPanel.close=Close +SearchItemPanel.add=Add +SearchItemPanel.remove=Remove +SearchItemPanel.browse=Browse +SearchItemPanel.or=or +operation.com.evolveum.midpoint.schema.constants.ConnectorTestOperation.connectorSchema=Connector schema +FeedbackAlertMessageDetails.operation=Operation +FeedbackAlertMessageDetails.message=Message +FeedbackAlertMessageDetails.params=Parameters +FeedbackAlertMessageDetails.contexts=Context +FeedbackAlertMessageDetails.count=Count +FeedbackAlertMessageDetails.error=Error +operation.com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInbound=Process inbound (Model) +operation.com.evolveum.midpoint.model.impl.lens.projector.Projector.project=Project (Model) +operation.com.evolveum.midpoint.model.impl.lens.projector.AssignmentProcessor.processAssignmentsProjections=Process assignments (Model) +operation.com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails.save=Save (GUI) +operation.com.evolveum.midpoint.repo.api.RepositoryService.getVersion=Get version (Repository) +operation.com.evolveum.midpoint.task.quartzimpl.execution.ExecutionManager.scheduleRunnableTaskNow=Schedule runnable task now (Task) +operation.com.evolveum.midpoint.web.page.admin.server.PageTaskAdd.runNowTask=Run now (Task) +operation.com.evolveum.midpoint.task.api.TaskManager.scheduleTasksNow=Schedule tasks now (Task) +operation.com.evolveum.midpoint.model.impl.importer.ObjectImporter.resolveReference=Resolve reference (Model) +operation.com.evolveum.midpoint.model.impl.importer.ObjectImporter.encryptValues=Encrypt values (Model) +operation.com.evolveum.midpoint.model.impl.importer.ObjectImporter.importObjectToRepository=Import object to repository (Model) +operation.com.evolveum.midpoint.model.api.ModelService.executeChange=Execute changes (Model) +operation.com.evolveum.midpoint.model.impl.lens.projector.AssignmentProcessor.evaluateAssignment=Evaluate assignment (Model) +operation.com.evolveum.midpoint.wf.impl.WfHook.invoke=Invoke (Workflow) +operation.com.evolveum.midpoint.model.impl.lens.ChangeExecutor.execute=Execute (Model) +operation.com.evolveum.midpoint.model.impl.lens.ChangeExecutor.execute.focus.UserType=Execute - user (Model) +operation.com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta=Execute delta (Model) +operation.com.evolveum.midpoint.task.api.Task.listSubtasksDeeply=List subtasks deeply (Task) +operation.com.evolveum.midpoint.task.api.Task.listSubtasksRaw=List subtasks raw (Task) +operation.com.evolveum.midpoint.web.page.self.PageSelfCredentials.savePassword=Change password (GUI) +operation.com.evolveum.midpoint.web.page.self.PageRequestRole.save=Changes were successfully saved +operation.com.evolveum.midpoint.web.page.self.PageRequestRole.taskCreated=The process of assigning a role is waiting for the approval. +PageError.button.home=主页 +PageResource.tab.connector=Connector +PageResource.tab.connector.connectorLabel=Connector +PageResource.tab.connector.connectorPoolLabel=Connector pool +PageResource.tab.content.account=Accounts +PageResource.tab.content.entitlement=Entitlements +PageResource.tab.content.generic=Generics +PageResource.tab.content.others=Uncategorized +PageResource.tab.content.tasks=Defined Tasks +ResourceContentTabPanel.searchType.repository=Repository +ResourceContentTabPanel.searchType.resource=Resource +ResourceContentTabPanel.searchType=Search In\: +PagePreviewChanges.primaryChangesOne=Primary changes\: {0} object +PagePreviewChanges.primaryChangesMore=Primary changes\: {0} objects +PagePreviewChanges.secondaryChangesOne=Secondary changes\: {0} object +PagePreviewChanges.secondaryChangesMore=Secondary changes\: {0} objects +PagePreviewChanges.button.continueEditing=Continue editing +PagePreviewChanges.button.save=Save +ScenePanel.object={0} object +ScenePanel.objects={0} objects +ScenePanel.item=Item +ScenePanel.oldValue=Old value +ScenePanel.newValue=New value +ScenePanel.value=Value +SceneItemLinePanel.removedValue=Removed value +SceneItemLinePanel.addedValue=Added value +SceneItemLinePanel.unchangedValue=Unchanged value +operation.com.evolveum.midpoint.web.page.admin.resources.ResourceContentTabPanel.changeOwner=Change owner (GUI) +TaskSummaryPanel.progressWithTotalKnown=Progress\: {0} out of {1} +TaskSummaryPanel.progressWithTotalUnknown=Progress\: {0} +TaskSummaryPanel.progressIfSuspended=(suspended) +TaskSummaryPanel.progressIfWaiting=(waiting) +TaskSummaryPanel.progressIfClosed=(closed) +TaskSummaryPanel.progressIfStalled=(stalled since {0}) +TaskSummaryPanel.lastProcessed=Last object processed\: {0} +ResourceContentResourcePanel.showExisting=Show existing +ResourceContentResourcePanel.newTask=Create new +SearchPanel.advanced=Advanced +SearchPanel.basic=Basic +SearchPanel.search=Search +SearchPanel.debug=Debug +ResourceContentResourcePanel.realSearch=(In fact) Searching by\: +typedAssignablePanel.selectedOrgs=Orgs\: +typedAssignablePanel.selectedResources=Resources\: +typedAssignablePanel.selectedRoles=Roles\: +typedAssignablePanel.selectedServices=Services\: +SearchPanel.insertFilterXml=Insert filter xml (SearchFilterType) +autoRefreshPanel.refreshNow=Refresh now +autoRefreshPanel.resumeRefreshing=Resume refreshing +autoRefreshPanel.pauseRefreshing=Pause refreshing +autoRefreshPanel.refreshingEach=Refreshing each {0} sec +autoRefreshPanel.noRefreshing=(no refreshing) +PageAdmin.menu.top.services=Services +PageAdmin.menu.top.services.list=List services +PageAdmin.menu.top.services.new=New service +PageAdmin.menu.top.services.edit=Edit service +taskShowAdvancedFeaturesPanel.label=Show advanced features +taskWfParentPanel.changesNotRequiringApproval=Changes not requiring approval +taskOtherChangesPanel.label.state=State\: +taskOtherChangesPanel.state.FINAL=Changes have been applied (successfully or not) +taskOtherChangesPanel.state.PRIMARY=Changes are waiting to be applied +taskOtherChangesPanel.state.SECONDARY=Changes are waiting to be applied +taskWfChildPanel.showParent=Show request in a context of the whole operation. +TaskSummaryPanel.requestedBy=Requested by\: {0} +TaskSummaryPanel.requestedByWithFullName=Requested by\: {0} ({1}) +TaskSummaryPanel.requestedOn=Requested on\: {0} +TaskSummaryPanel.requestedByAndOn=Requested by {0} on {1} +TaskSummaryPanel.stage=Stage\: {0} +TaskSummaryPanel.rejected=Rejected +TaskSummaryPanel.approved=Approved +operation.com.evolveum.midpoint.web.page.admin.resources.PageResource.refreshSchema=Refresh schema (GUI) +TaskDto.changesApplied=Changes applied (successfully or not) +TaskDto.changesBeingApplied=Changes being applied +TaskDto.changesWaitingToBeApplied=Changes waiting to be applied +TaskDto.changesWaitingToBeApproved=Changes waiting to be approved +TaskDto.changesRejected=Changes rejected +TaskDto.changesCanceled=Changes canceled +PageServices.title=Service List +PageServices.message.deleteServicesConfirm=Do you really want to delete selected {0} service(s)? +PageServices.message.confirmationMessageForMultipleObject=Do you really want to {0} selected {1} service(s)? +PageServices.message.confirmationMessageForSingleObject=Do you really want to {0} service '{1}'? +PageServices.message.nothingSelected=No service has been selected. +PageServices.message.buttonDelete=Delete +LiveSyncHandlerPanel.deleteToken=Delete token +ScannerHandlerPanel.lastScanTimestamp=Last scan timestamp +ScriptExecutionHandlerPanel.script=Script +QueryBasedHandlerPanel.objectType=Object type +QueryBasedHandlerPanel.query=Query +DeleteHandlerPanel.executeInRawMode=Execute in raw mode +ExecuteChangesHandlerPanel.change=Change +ExecuteChangesHandlerPanel.options=Options +ReportCreateHandlerPanel.downloadCreatedReport=Download created report +ReportCreateHandlerPanel.reportParameters=Report parameters +OperationResultPanel.showTask=(show task) +PageResources.inlineMenuItem.test=Test connection +PageRequestRole.title=Request a role +MainObjectListPanel.refresh=Refresh +MainObjectListPanel.newObject=New +MainObjectListPanel.import=Import +MainObjectListPanel.export=Export +MainObjectListPanel.exportFileName=export +TreeTablePanel.menu.createMember=Create member +TreeTablePanel.menu.createManager=Create manager +TreeTablePanel.menu.addMembers=Assign members +TreeTablePanel.menu.addManagers=Assign managers +TreeTablePanel.menu.unassignMembersSelected=Unassign selected members +TreeTablePanel.menu.unassignMembersAll=Unassign all members +TreeTablePanel.menu.removeManagersAll=Unassign all managers +TreeTablePanel.menu.recomputeMembersSelected=Recompute selected members +TreeTablePanel.menu.recomputeMembersAll=Recompute all members +TreeTablePanel.menu.recomputeMembersAllDirect=Recompute direct members +TreeTablePanel.menu.recomputeManagersAll=Recompute all managers +TreeTablePanel.menu.deleteManagersAll=Delete all managers +TreeTablePanel.menu.deleteManager.confirm=Are you sure you want to delete selected manager from system? This change is permanent. +TreeTablePanel.menu.deleteManagersAll.confirm=All defined managers will be permanently removed from system. Are you sure to perform this action? +TreeTablePanel.move=Move +TreeTablePanel.makeRoot=Make root +TreeTablePanel.delete=Delete +TreeTablePanel.recompute=Recompute +TreeTablePanel.edit=Edit +TreeTablePanel.createChild=Create child +WorkItemSummaryPanel.allocated=Allocated +WorkItemSummaryPanel.notAllocated=Not allocated +WorkItemPanel.showRequest=Show the approval request. +DefinitionStagesPanel.confirmDelete=Confirm delete +DefinitionStagesPanel.confirmDeleteText=Do you really want to delete stage '{0}'? +PageCertDefinition.outcomeStrategyHelpLabel=Please see also +PageCertDefinition.outcomeStrategyHelpLink=this document +PageCertDefinition.outcomeStrategyHelp=How is the overall outcome for a case determined, based on outcomes in individual stages? Note\: 'Stop review on\:' field shows outcomes that prevent a case from being advanced to the next stage. Usually you need not change the default value. If necessary, you could do that through the XML configuration. +PageCertDefinition.campaignLastStartedHelp=When was last campaign created according to this definition started? +PageCertDefinition.campaignLastClosedHelp=When was last campaign created according to this definition closed - either after successfully going through all stages, or closed at any time. However, if a campaign is deleted without being closed first, it is not shown here. +PageCertDefinition.scopeObjectTypeHelp=Determines which objects will be considered to be in the scope of the certification campaigns. Features of these objects (e.g. whether to certify their assignments or their inducements or both, etc) are selected below. +PageCertDefinition.scopeSearchFilterHelp=If only a subset of objects of given type is to be considered for certification, you can specify the corresponding filter here. For example, you can specify that only users from a certain organization should be certified. Or that only employees with a specific employee type should be considered. +PageCertDefinition.scopeAssignmentsInducementsHelp=Select what features (assignments, inducements or both) of the objects described above are to be certified. +PageCertDefinition.scopeIncludeTargetTypesHelp=When certifying assignments or inducements, you can specify what target types are taken into account. For example, you can say that you want to certify only assignments of roles (to, for example, users). +PageCertDefinition.scopeIncludeByStatusHelp=Whether to certify only assignments/inducements that have administrative status set to ENABLED (or not set at all). Note that what is relevant is the administrative status of the assignment, not the administrative status of the assigned object. +StageDefinitionPanel.stageDurationHelp=Duration of this stage, used to determine stage end time. The end time is computed as the moment of stage opening plus the duration, rounded up to 23\:59\:59 of the last day. Duration is specified in ISO 8601 format, like P14D for 14 days, P3W for 3 weeks, P2M for 2 months, etc. +StageDefinitionPanel.notifyBeforeDeadlineHelp=How long before the stage end the reminding notifications (to reviewers and campaign owner) will be sent. It is possible to specify more values; separate them by commas. Time interval is specified in ISO 8601 format, like PT12H for 12 hours, P2D for 2 days, P1W for 1 week, etc. An example\: PT48H, PT12H says that the first notification will be sent 48 hours before stage end, and the second one 12 hours before the end. +StageDefinitionPanel.notifyWhenNoDecisionHelp=If checked, a 'stage end approaching' notification is sent to a reviewer only if he/she has some cases waiting for his/her decision. If not checked, reviewers always get their notifications - regardless of whether they have provided a decision or not. (Note that notifications to the campaign owner about approaching stage end are always sent, regardless of this setting.) +StageDefinitionPanel.reviewerSpecificationTargetHelp=Selection of reviewers based on assignment/inducement target owner/approver. E.g. you can specify that the role owner is used to certify all assignments of 'his' role (to any users). +StageDefinitionPanel.reviewerSpecificationObjectHelp=Selection of reviewers based on object that has something assigned (or induced) to. E.g. you can specify that the role owner is used to certify all inducements made to 'his' role. +StageDefinitionPanel.reviewerUseObjectManagerHelp=Selection of reviewers based on managers of object (typically a user) that has something assigned/induced to. E.g. you can specify that a manager is used to certify all assignments made to users in 'his' organization. +StageDefinitionPanel.reviewerUseObjectManagerOrgTypeHelp=Influences determination of a manager of a user\: First, we take all managers of all organizations the user belongs to. We exclude the user himself, if he is a manager of such organization (and if 'allow managers to approve their own assignments' below is unchecked). If the value in this field is filled-in, we use it to select only organizations with given organization type value - for example, 'functional' (if you have e.g. both functional-type and project-type organizations). If this field is empty, we take into account all organizations. If we find no suitable manager, we continue with all parent organizations (again, of the given type, if specified). +StageDefinitionPanel.reviewerUseObjectManagerAllowSelfHelp=If a user is a manager in his organization, could he be selected as a reviewer for his own assignments? If unchecked (the default), a higher-level manager is searched for - see description for the above field. +StageDefinitionPanel.defaultReviewerRefHelp=This reviewer (or reviewers) will be used if the above condition would lead to no reviewer. +StageDefinitionPanel.additionalReviewerRefHelp=This reviewer (or reviewers) will be used in addition to any reviewers selected by the above conditions. +StageDefinitionPanel.outcomeStrategyHelp=If there is more than one reviewer selected, we need a strategy for combining their responses into stage-level outcome. For example, is it sufficient if any of them accepts the certification case? Or should all of them accept? Select the strategy using this field. +StageDefinitionPanel.outcomeIfNoReviewersHelp=What should be the outcome if there are no reviewers assigned, e.g. if the reviewer is defined as the target role owner, but a particular role has no owner? This does NOT apply in situations when there are reviewers assigned, but they provide no response. +StageDefinitionPanel.stopReviewOnHelp=What outcomes will prevent a case from being advanced to the next stage? Usually you need not change the default value. If necessary, you could do that through the XML configuration. +StageDefinitionPanel.configurationHelpLabel=For more information about configuring certification campaign stages, please see also +StageDefinitionPanel.configurationHelpLink=this document +NameStep.configurationWillBeLost=The selected connector configuration schema is different from the current one. Configuration properties will be lost if you will proceed. +resultsHandlerConfiguration=Results handlers +enableFilteredResultsHandler=Enable additional filtering of results +enableFilteredResultsHandlerHelp=This handler filters results retrieved from the resource by the connector, at the level of connector framework. It is used by connector implementations that do not provide complete filtering by themselves. Enabling this handler has some drawbacks e.g. in the area of paging. So it is to be used only if really necessary. If not sure, it is advisable to use filtering in validation mode. Default value for current version of ConnId\: enabled. +filteredResultsHandlerInValidationMode=Perform filtering in validation mode only +filteredResultsHandlerInValidationModeHelp=Switches the result filtering into validation mode\: all data produced by the connector are checked by the connector framework to see if they are properly filtered. In case of improper filtering, an exception is raised. This mode is to be used for connectors that are expected to provide complete filtering, but their functionality in this area has to be verified. Default value for current version of ConnId\: disabled. +enableCaseInsensitiveFilter=Make filtering case insensitive +enableCaseInsensitiveFilterHelp=This option makes filtering case insensitive, for all attributes on the resource. Used for case-insensitive resources. Default value for current version of ConnId\: disabled. +enableNormalizingResultsHandler=Enable handler that normalizes returned data +enableNormalizingResultsHandlerHelp=This handler normalizes each attribute that is passed from resource to the system. Usually recommended to be turned off. Default value for current version of ConnId\: enabled. +enableAttributesToGetSearchResultsHandler=Enable 'attributes to get' results handler +enableAttributesToGetSearchResultsHandlerHelp=This handler is used to implement 'attributes to get' option. It is advisable to keep the default setting of 'enabled' (in current version of ConnId). +PageResourceWizard.autoSaveWarning=The resource is automatically saved on each transition between wizard steps. +PageResourceWizard.readOnlyNote=Resource is in read-only mode. +PageResourceWizard.readOnlySwitch=Click here to enable editing. +operation.com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.recompute=Recompute (GUI) +Button.ok=OK +Button.assign=Assign +Note=Note +Warning=Warning +ProfilingConfigPanel.profilingMustBeEnabled=In order to use profiling, the 'profilingEnabled' system configuration parameter (in config.xml file) must be set to 'true'. +OperationResultPanel.result=Result +ResourceTasksPanel.definedTasks=Defined tasks +ResourceTasksPanel.noTasksSelected=No tasks were selected. +ObjectBrowserPanel.chooseObject=Choose object +TypedAssignablePanel.selectObjects=Select object(s) +OrgTreeAssignablePanel.selectOrg=Select organization(s) +ChooseFocusTypeDialogPanel.chooseType=Choose type +TestConnectionResultPanel.testConnection.result=Test connection result(s) +TestConnectionResultPanel.message=Test is running, please, wait for results. +operation.com.evolveum.midpoint.web.page.admin.configuration.PageSystemConfiguration.updateSystemConfiguration=Update system configuration (GUI) +peration.com.evolveum.midpoint.web.page.admin.server.PageTaskEdit.saveTask=Save task (GUI) +operation.com.evolveum.midpoint.notifications.impl.notifiers.GeneralNotifier.processEvent=Process event (Notification) +operation.com.evolveum.midpoint.model.impl.lens.ChangeExecutor.execute.focus.OrgType=Execute OrgType (Model) +TreeTablePanel.menu.deleteMember.confirm=All selected members (users, organizations, services, roles) will be permanently deleted from system. Are you sure to perform this action? +TreeTablePanel.menu.deleteAllMembers.confirm=所有的主对象类成员(包括用户、组织机构、服务和角色)将从系统中删除,确定要进行操作吗? +PageTasksCertScheduling.title=Certification scheduling +PageResourceVisualization.title=Visualization of mappings for {0} +PageResourceVisualization.dotMessage=Rendering of DOT graph could not be carried out. Please check the error message below, and make sure that\: +PageResourceVisualization.dot1=DOT rendering software is installed at your server. The recommended one is Graphviz +PageResourceVisualization.dot2=The path to DOT rendering executable is correctly set in you config.xml file. +PageResourceVisualization.moreInformation=For more information, please see +PageResourceVisualization.moreInformationLink=this article +PageResourceVisualization.errorMessage=Error message\: +PageResourceVisualization.seeOnline=You can also try to use an online DOT renderer, for example +PageResourceVisualization.seeOnlineLink=webgraphviz.com +PageResourceVisualization.copyInstruction=Simply paste the following DOT code into it. +OrgMemberPanel.editUserTitle=Edit manager +OrgMemberPanel.unlinkTitle=Unlink manager +OrgMemberPanel.deleteTitle=Delete manager +PagePreviewChanges.title=Preview changes +operation.com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails.previewChanges=Preview changes +operation.com.evolveum.midpoint.task.api.Task.run=Run task +operation.com.evolveum.midpoint.web.util.TaskOperationUtils.runNowTask=Run task +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertDefinition.saveDefinition=Save definition +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertCampaign.advanceLifecycle=Campaign state +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertCampaign.openNextStage=Open next stage +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertCampaign.closeStage=Close stage +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertCampaign.closeCampaign=Close campaign +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertCampaign.startRemediation=Start remediation + +operation.com.evolveum.midpoint.certification.api.CertificationManager.openNextStage=Open next stage +operation.com.evolveum.midpoint.certification.api.CertificationManager.closeCampaign=Close campaign +operation.com.evolveum.midpoint.certification.api.CertificationManager.createCampaign=Create campaign +operation.com.evolveum.midpoint.certification.api.CertificationManager.closeCurrentStage=Close current stage +operation.com.evolveum.midpoint.certification.api.CertificationManager.recordDecision=Record decision +operation.com.evolveum.midpoint.certification.api.CertificationManager.searchDecisionsToReview=Search decisions to review +operation.com.evolveum.midpoint.certification.api.CertificationManager.getCampaignStatistics=Get campaign statistics + +operation.com.evolveum.midpoint.repo.api.RepositoryService.searchContainers=Search for containers +operation.com.evolveum.midpoint.repo.api.RepositoryService.searchObjectsIterative=Search for objects (iterative) + +operation.PageCertCampaigns.startCampaign=Start campaign +operation.PageCertCampaigns.closeStage=Close stage +operation.PageCertCampaigns.openNextStage=Open next stage +operation.PageCertCampaigns.startRemediation=Start remediation +operation.PageCertCampaigns.closeCampaign=Close campaign + +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertDecisions.recordAction=Record action +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertDecisions.recordActionSelected=Record selected actions + +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertDefinition.loadDefinition=Load definition + +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertDefinitions.createCampaign=Create campaign +operation.com.evolveum.midpoint.web.page.admin.certification.PageCertDefinitions.deleteDefinition=Delete definition + +SceneDto.unnamed=(unnamed) +LockoutStatusPanel.undoButtonLabel=Undo +LockoutStatusPanel.unlockButtonLabel=Set to "Normal" +LockoutStatusPanel.changesSaving=(will be applied after Save button click) +operation.com.evolveum.midpoint.web.page.admin.server.PageTaskEdit.saveTask=Save task (GUI) +operation.com.evolveum.midpoint.web.page.admin.users.PageUsers.unlockUsers=Unlock user +operation.com.evolveum.midpoint.web.page.admin.workflow.PageProcessInstances.stopProcessInstance=Stop process instance + +#values for icon title on Users list page. The name of the property key +#is generated in the following way: +# ColumnUtils.getUserIconColumn.createTitleModel. + GuiStyleConstants.CLASS_ICON_STYLE_NORMAL = ColumnUtils.getUserIconColumn.createTitleModel.normal +ColumnUtils.getUserIconColumn.createTitleModel.normal=normal +ColumnUtils.getUserIconColumn.createTitleModel.disabled=disabled +ColumnUtils.getUserIconColumn.createTitleModel.archived=archived +ColumnUtils.getUserIconColumn.createTitleModel.privileged=privileged +ColumnUtils.getUserIconColumn.createTitleModel.end-user=end-user +ColumnUtils.getUserIconColumn.createTitleModel.manager=manager +ColumnUtils.getUserIconColumn.createTitleModel.broken=broken +ColumnUtils.getUserIconColumn.createTitleModel.up=up +ColumnUtils.getUserIconColumn.createTitleModel.down=down +FocusListInlineMenuHelper.menu.delete=Delete +FocusListInlineMenuHelper.menu.disable=Disable +FocusListInlineMenuHelper.menu.enable=Enable +FocusListInlineMenuHelper.menu.reconcile=Reconcile +FocusListInlineMenuHelper.message.deleteObjectConfirm=Do you really want to delete selected {0} object(s)? +FocusListInlineMenuHelper.message.deleteObjectConfirmSingle=Do you really want to delete object '{0}'? +FocusListInlineMenuHelper.message.nothingSelected=No object has been selected. +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.enableObjects=Enable roles (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.enableObject=Enable role (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.disableObjects=Disable roles (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.disableObject=Disable role (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.reconcileObjects=Reconcile roles (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.reconcileObject=Reconcile role (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.deleteObjects=Delete roles (GUI) +operation.com.evolveum.midpoint.web.page.admin.roles.PageRoles.deleteObject=Delete role (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.enableObjects=Enable services (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.enableObject=Enable service (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.disableObjects=Disable services (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.disableObject=Disable service (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.reconcileObjects=Reconcile services (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.reconcileObject=Reconcile service (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.deleteObjects=Delete services (GUI) +operation.com.evolveum.midpoint.web.page.admin.services.PageServices.deleteObject=Delete service (GUI) +operation.com.evolveum.midpoint.web.page.admin.resources.ResourceContentTabPanel.importObject=Import object (GUI) +PageConnectorHosts.title=Connector hosts +operation.com.evolveum.midpoint.web.page.admin.configuration.PageRepositoryQuery.checkQuery=Check query (GUI) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageRepositoryQuery.translateQuery=Translate query (GUI) +operation.com.evolveum.midpoint.web.page.admin.configuration.PageRepositoryQuery.executeQuery=Execute query (GUI) +operation.com.evolveum.midpoint.model.api.ModelDiagnosticService.executeRepositoryQuery=Execute repository query (Model diagnostic service) +operation.com.evolveum.midpoint.repo.api.RepositoryService.executeQueryDiagnostics=Execute query diagnostics (Repository) +PageEvaluateMapping.title=Evaluate mapping +PageEvaluateMapping.button.evaluateMapping=Evaluate mapping +PageEvaluateMapping.message.emptyString=Please provide a mapping to execute. +PageEvaluateMapping.result=Result +PageEvaluateMapping.mapping=Mapping +PageEvaluateMapping.request=Request +PageEvaluateMapping.chooseSample=Or use a sample\: +PageEvaluateMapping.sample.FullName_NoDelta=Full name mapping (no change) +PageEvaluateMapping.sample.FullName_Delta=Full name mapping (change in givenName) +PageEvaluateMapping.sample.FullName_Delta_Ref=Full name mapping (change in givenName); source from repository +PageEvaluateMapping.sample.FullName_Delta_Cond=Full name mapping with condition (change in givenName) +PageEvaluateMapping.sample.OrgName=Deriving attribute from parent org's name +PageAssignmentShoppingKart.title=Assignment request +PageAssignmentShoppingKart.roleCatalogIsNotConfigured=Role catalog is not configured in the system configuration xml +AssignmentConflictPanel.existingAssignmentLabelMessage=(which user already has) +AssignmentConflictPanel.addedAssignmentLabelMessage=(which is added to shopping cart) +AssignmentConflictPanel.conflictMessage=conflicts with +AssignmentConflictPanel.removeButton=Remove +AssignmentConflictPanel.unselectButton=Unselect +AssignmentConflictPanel.undoAction=Undo +PageAssignmentConflicts.title=Assignments conflicts +PageAssignmentConflicts.back=Back +PageAssignmentConflicts.submit=Submit +AssignmentCatalogPanel.selectTargetUser=Select target user +AssignmentCatalogPanel.selectAssignmentsUserOwner=Select assignments user owner +AssignmentCatalogPanel.requestForMe=Target user\: me +AssignmentCatalogPanel.requestFor=Target user\: +AssignmentCatalogPanel.requestForMultiple={0} users selected +AssignmentCatalogPanel.assignmentsOwner={0}'s assignments +MultiButtonPanel.plusIconTitle=Add item to shopping cart +MultiButtonPanel.assignmentDetailsPopupTitle=Assignment details +MultiButtonPanel.detailsLink=Properties +MultiButtonPanel.addToCartLink=Add to cart +MultiButtonPanel.alreadyAssignedIconTitle=Already assigned +PageAssignmentDetails.title=Assignment details +PageAssignmentDetails.backButton=Back +PageAssignmentDetails.addToCartButton=Add to cart +PageAssignmentsList.submitButton=Submit +PageAssignmentsList.resolveConflicts=Resolve conflicts +PageAssignmentsList.commentHere=Comment here... +PageAssignmentsList.requestComment=Request comment (optional) +AssignmentShoppingCartPanel.treeTitle=Role catalog +AssignmentViewType.ROLE_CATALOG_VIEW=Role catalog view +AssignmentViewType.ROLE_TYPE=All roles view +AssignmentViewType.ORG_TYPE=All organizations view +AssignmentViewType.SERVICE_TYPE=All services view +AssignmentViewType.USER_TYPE=User's assignments +PageAssignmentsList.requestButton = Request +operation.com.evolveum.midpoint.web.page.self.PageAssignmentsList.requestAssignments=Request assignment +com.evolveum.midpoint.web.page.self.PageAssignmentsList.requestAssignments=Request assignments +PageAssignmentsList.title=New assignments list +PageAuditLogViewer.title=Audit Log Viewer +PageAuditLogViewer.menuName=Audit Log Viewer +PageAuditLogViewer.timeLabel=Time +PageAuditLogViewer.fromLabel=From +PageAuditLogViewer.toLabel=To +PageAuditLogViewer.initiatorNameLabel=Initiator +PageAuditLogViewer.channelLabel=Channel +PageAuditLogViewer.hostIdentifierLabel=Host Identifier +PageAuditLogViewer.targetNameLabel=Target +PageAuditLogViewer.targetTypeLabel=Target Type +PageAuditLogViewer.targetOwnerNameLabel=Target Owner +PageAuditLogViewer.eventTypeLabel=Event Type +PageAuditLogViewer.eventTypeShortLabel=Type +PageAuditLogViewer.eventStageLabel=Event Stage +PageAuditLogViewer.eventStageShortLabel=Stage +PageAuditLogViewer.outcomeLabel=Outcome +PageAuditLogViewer.changedItem=Item changed +PageAuditLogViewer.valueRefTargetNamesLabel=Reference Target +AuditLogViewerPanel.dateValidatorMessage=From date must be before To date. +AuditEventRecordType.timestamp=Time +AuditEventRecordType.initiatorRef=Initiator +AuditEventRecordType.taskIdentifier=Task Identifier +AuditEventRecordType.channel=Channel +AuditEventRecordType.delta=Delta +AuditEventRecordType.targetRef=Target +AuditEventRecordType.targetOwnerRef=Target owner +PageAuditLogDetails.title=Audit Log Details +PageAuditLogDetails.eventTimestamp=Timestamp +PageAuditLogDetails.eventIdentifier=Event Identifier +PageAuditLogDetails.eventType=Event Type +PageAuditLogDetails.eventStage=Event Stage +PageAuditLogDetails.eventInitiatorRef=Initiator +PageAuditLogDetails.eventTargetRef=Target ref. +PageAuditLogDetails.eventTargetOwnerRef= Target Owner ref. +PageAuditLogDetails.eventResult=Result +PageAuditLogDetails.eventOutcome=Outcome +PageAuditLogDetails.sessionIdentifier=Session Identifier +PageAuditLogDetails.taskIdentifier=Task Identifier +PageAuditLogDetails.taskOID=Task oid +PageAuditLogDetails.hostIdentifier=Host Indentifier +PageAuditLogDetails.channel=Channel +PageAuditLogDetails.parameter=Parameter +PageAuditLogDetails.message=Message +PageAuditLogDetails.deltaKey=Delta List +ObjectDeltaOperationType.resourceName=Resource name +ObjectDeltaOperationType.objectName=Object name +ObjectDeltaOperationType.executionResult=Execution result +PageMergeObjects.noMergeResultObjectWarning=Merge preview object wasn't found +PageMergeObjects.title=Merge objects +PageMergeObjects.tabTitle=Merge preview +PageMergeObjects.switchDirectionButton=Switch direction +PageMergeObjects.mergeButton=Merge +PageMergeObjects.mergeDeltaPreviewButton=Merge delta preview +PageMergeObjects.backButton=Back +PageMergeObjects.mergeType=Merge type +MergeObjectsPanel.switchDirection=Switch direction +MergeType.DEFAULT=default +MergeType.EXPRESSION=expression +MergeType.ALL_RIGHT=allRight +MergeType.ALL_LEFT=allLeft +MergeType.EMPTY=empty +PageMergeObjects.warningMessage=Two objects' oids should be specified +PageSelfRegistration.register=Register +PageSelfRegistration.registration.success=Registration was successful +PageSelfRegistration.registration.error=Registration failed \: {0} +PageSelfRegistration.registration.confirm.message=Congratulation\! \n\n\n You have been successfully registered. To activate your account check your email and confirm your registration. +PageRegistrationConfirmation.confirmation.error=Failed to confirm your registration. We are sorry, but probably you'll need to contact system administrator. +PageRegistrationConfirmation.continueToLogin=继续引导至登录页面 +PageRegistrationConfirmation.confirmation.successful=Confirmation successful +PageSelfRegistration.title=Registration +PageRegistrationConfirmation.title=Confirm registration +PageSelfRegistration.reload=Reload +PageSelfRegistration.captcha.validation.failed=CAPTCHA validation failed, try again +ObjectType.name=Name +ObjectType.lifecycleState=Lifecycle state +ObjectType.description=Description +PageUserHistory.title='{0}' historical data {1} +PageXmlDataReview.title=Historical data +PageXmlDataReview.aceEditorPanelTitle='{0}' historical xml data {1} +PageLogin.selfRegistration=Sign up +PageSelfRegistration.registration.failed.unsatisfied.registration.configuration=Registration process not allowed. Please contact system administrator. +ObjectHistoryTabPanel.viewHistoricalObjectDataTitle=View object data +ObjectHistoryTabPanel.viewHistoricalObjectXmlTitle=View object xml +PageRegistrationConfirmation.bad.credentials=Invalid username or password +PageSelfRegistration.invalid.registration.link=Registration link is not valid +PageSelfRegistration.welcome.message=Welcome to midPoint registration +PageSelfRegistration.additional.message= +PageSelfRegistration.password.policy= +PageResetPassword.reset.successful=New password was set successfully. Continue with login. +PageForgotPassword.form.submited.message=Confirmation link was sent to the email provided. To reset your password, click on the confirmation link and follow instructions. +pageForgetPassword.message.policy.not.found=Reset password not allowed +PageAbstractSelfCredentials.save.password.failed=Failed to change password\: {0} +PageResetPassword.title=Reset password +PageResetPasswordConfirmation=Reset password confirmation +PageResetPasswordConfirmation.confirmation.error=Reset password is not allowed. We are sorry, but probably you'll need to contact system administrator. +PageResetPasswordConfirmation.authnetication.failed=Incorrect username and/or password +ItemPathSegmentPanel.itemToSearch=Search for {0} +DecisionDto.automaticallyApproved=(automatically approved) +DecisionDto.automaticallyRejected=(automatically rejected) +DecisionDto.approvedDueToTimeout=(approved due to the timeout) +DecisionDto.rejectedDueToTimeout=(rejected due to the timeout) +DecisionDto.AUTO_APPROVAL_CONDITION=(auto-approval condition) +DecisionDto.AUTO_COMPLETION_CONDITION=(auto-completion condition) +DecisionDto.NO_ASSIGNEES_FOUND=(no approvers found) +wf.object=Object +wf.target=Target +wf.originalAssignee=Original assignee +wf.currentAssignee=Current assignee(s) +wf.stageNumber=Stage number +wf.stageCount=Stage count +wf.stageName=Stage name +wf.stageDisplayName=Stage display name +wf.escalationLevelNumber=Escalation level number +wf.escalationLevelName=Escalation level name +wf.escalationLevelDisplayName=Escalation level display name +wf.workItemId=Work item ID +wf.processInstanceId=Process instance ID +PageAccountActivation.account.activation.successful=Activation of accounts was successful +PageAccountActivation.account.activation.failed=Failed to activate accounts. Please, contact system administrator +PageAccountActivation.activated.shadows=Activated shadows\: +PageAccountActivation.button.activate=Activate +PageAccountActivation.activate.accounts.label=Account activation for user '{0}'. +PageAccountActivation.provide.password=Please, provide your password to activate accounts. +PageAccountActivation.title=Account activation +PageAccountActivation.nothing.to.activate=Unexpected problem occurs while trying to activate account. Please contact system administrator +PageAccountActivation.authentication.failed=Authentication failed diff --git a/gui/admin-gui/src/main/resources/localization/locale.properties b/gui/admin-gui/src/main/resources/localization/locale.properties index 48a2513d9b2..6b39b4ad5ac 100644 --- a/gui/admin-gui/src/main/resources/localization/locale.properties +++ b/gui/admin-gui/src/main/resources/localization/locale.properties @@ -51,3 +51,6 @@ sk.flag=sk tr.name=T\u00fcrk\u00e7e tr.flag=tr + +zh_CN.name=\u4E2D\u6587 +zh_CN.flag=cn diff --git a/infra/schema/src/main/resources/localization/schema_hu.properties b/infra/schema/src/main/resources/localization/schema_hu.properties index 89f72cff3f7..13464d78a8d 100644 --- a/infra/schema/src/main/resources/localization/schema_hu.properties +++ b/infra/schema/src/main/resources/localization/schema_hu.properties @@ -59,8 +59,8 @@ AssignmentType.project=Szerv. egység/Projekt AttributeFetchStrategyType.EXPLICIT=Explicit AttributeFetchStrategyType.IMPLICIT=Implicit AttributeFetchStrategyType.MINIMAL=Minimal -AuditEventStageType.EXECUTION=Execution -AuditEventStageType.REQUEST=Request +AuditEventStageType.EXECUTION=Végrehajtás +AuditEventStageType.REQUEST=Kérés AuditEventType.ADD_OBJECT=Add object AuditEventType.CREATE_SESSION=Create session AuditEventType.DELETE_OBJECT=Delete object @@ -85,14 +85,14 @@ AuditEventTypeType.WORKFLOW_PROCESS_INSTANCE=Workflow process instance AuditEventTypeType.WORK_ITEM=Work item AuditEventType.WORKFLOW_PROCESS_INSTANCE=Workflow process instance AuditEventType.WORK_ITEM=Work item -OperationResultStatusType.FATAL_ERROR=Fatal Error +OperationResultStatusType.FATAL_ERROR=Végzetes hiba OperationResultStatusType.HANDLED_ERROR=Handled Error -OperationResultStatusType.IN_PROGRESS=In Progress +OperationResultStatusType.IN_PROGRESS=Folyamatban OperationResultStatusType.NOT_APPLICABLE=Not Applicable OperationResultStatusType.PARTIAL_ERROR=Partial Error OperationResultStatusType.SUCCESS=Success OperationResultStatusType.UNKNOWN=Ismeretlen -OperationResultStatusType.WARNING=Warning +OperationResultStatusType.WARNING=Figyelmeztetés BeforeAfterType.AFTER=After BeforeAfterType.BEFORE=Before Boolean.FALSE=False @@ -226,8 +226,8 @@ PolicyConstraintEnforcementType.ENFORCE=Enforce PolicyConstraintEnforcementType.REMEDIATE=Remediate PolicyConstraintEnforcementType.REPORT=Report ReportType.export=Export -ReportType.orientation=Orientation -ReportType.parent=Parent +ReportType.orientation=Tájolás +ReportType.parent=Szülő ReportType.useHibernateSession=Use hibernate session ReportType.virtualizer=Jasper virtualizer ReportType.virtualizerKickOn=Virtualizer's pages kick-on @@ -237,19 +237,19 @@ ResourceObjectAssociationDirectionType.OBJECT_TO_SUBJECT=Object to subject ResourceObjectAssociationDirectionType.SUBJECT_TO_OBJECT=Subject to object ResourceObjectTypeDependencyStrictnessType.LAX=Lax ResourceObjectTypeDependencyStrictnessType.RELAXED=Relaxed -ResourceObjectTypeDependencyStrictnessType.STRICT=Strict -ShadowType.dead=Dead +ResourceObjectTypeDependencyStrictnessType.STRICT=Szigorú +ShadowType.dead=Halott ShadowType.kind=Kind ShadowType.failedOperationType=Failed operation type -ShadowType.exists=Exists -ShadowType.intent=Intent +ShadowType.exists=Létezik +ShadowType.intent=Szándék ShadowType.objectClass=Object Class ShadowType.synchronizationSituation=Situation ShadowKindType.ACCOUNT=Account ShadowKindType.ENTITLEMENT=Entitlement ShadowKindType.GENERIC=Generic -SynchronizationSituationType.DELETED=Deleted -SynchronizationSituationType.DISPUTED=Disputed +SynchronizationSituationType.DELETED=Törölt +SynchronizationSituationType.DISPUTED=Vitatott SynchronizationSituationType.LINKED=Linked SynchronizationSituationType.null=Choose One SynchronizationSituationType.UNLINKED=Unlinked @@ -289,7 +289,7 @@ ObjectTypes.ABSTRACT_ROLE=Abstract role ObjectTypes.FOCUS_TYPE=Focus type ObjectTypes.REPORT=Report ObjectTypes.REPORT_OUTPUT=Report output -ObjectTypes.SECURITY_POLICY=Security policy +ObjectTypes.SECURITY_POLICY=Biztonsági házirend ObjectTypes.LOOKUP_TABLE=Lookup table ObjectTypes.ACCESS_CERTIFICATION_DEFINITION=Certification definition ObjectTypes.ACCESS_CERTIFICATION_CAMPAIGN=Certification campaign @@ -301,7 +301,7 @@ ObjectType.extension=Extension FocusType.assignmentKey=Assignment FocusType.jpegPhoto=Jpeg photo UserType.additionalName=Additional Name -UserType.nickname=Nickname +UserType.nickname=Becenév UserType.honorificPrefix=Honorific Prefix UserType.honorificSuffix=Honorific Suffix UserType.title=Title @@ -312,7 +312,7 @@ UserType.EmailAddress=Email cím UserType.telephoneNumber=Telefonszám UserType.employeeNumber=Alkalmazott száma UserType.employeeType=Alkalmazott típusa -UserType.costCenter=Cost Center +UserType.costCenter=Költséghely UserType.organization=Szervezet UserType.organizationalUnit=Szervezeti egység UserType.locality=Locality @@ -324,7 +324,7 @@ AssignmentType.target=Target AssignmentType.construction=Construction AssignmentType.tenantReference=Tenant reference AssignmentType.orgReference=Org reference -ActivationType.activation=Activation +ActivationType.activation=Aktiválás ActivationType.validityStatus=Validity Status ActivationType.lockOutStatus=Lock-out Status ActivationType.lockOutExpiration=Lock-out Expiration @@ -333,14 +333,14 @@ ShadowType.activation=Activation AbstractRoleType.inducement=Inducement AbstractRoleType.requestable=Requestable AbstractRoleType.riskLevel=Risk Level -AbstractRoleType.owner=Owner -AbstractRoleType.approver=Approver -RoleType.roleType=Role Type -OrgType.type=Type +AbstractRoleType.owner=Tulajdonos +AbstractRoleType.approver=Jóváhagyó +RoleType.roleType=Szerep típus +OrgType.type=Típus OrgType.isTenant=Is Tenant -OrgType.CostCenter=Cost Center +OrgType.CostCenter=Költséghely OrgType.displayOrder=Display Order -OrgType.passwordPolicy=Password Policy +OrgType.passwordPolicy=Jelszó házirend ServiceType.type=Type ServiceType.locality=Locality ServiceType.displayOrder=Display Order diff --git a/infra/schema/src/main/resources/localization/schema_zh_CN.properties b/infra/schema/src/main/resources/localization/schema_zh_CN.properties new file mode 100644 index 00000000000..2f3c98e1247 --- /dev/null +++ b/infra/schema/src/main/resources/localization/schema_zh_CN.properties @@ -0,0 +1,390 @@ +# Copyright (c) 2010-2016 Evolveum +# +# 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. +# +# +# This file contains localization keys that describe elements of the data +# model: object types, properties, container types, etc. +# It may also contain keys for concepts that are common to the whole midPoint +# +AbstractRoleType.identifier=Identifier +AbstractRoleType.policyConstraints=Policy constraints +AccessCertificationCampaignStateType.CLOSED=Closed +AccessCertificationCampaignStateType.CREATED=Created +AccessCertificationCampaignStateType.IN_REMEDIATION=In remediation +AccessCertificationCampaignStateType.IN_REVIEW_STAGE_FULL=In review stage {0} ({1}) +AccessCertificationCampaignStateType.IN_REVIEW_STAGE=In review stage +AccessCertificationCampaignStateType.REVIEW_STAGE_DONE_FULL=Done review stage {0} ({1}) +AccessCertificationCampaignStateType.REVIEW_STAGE_DONE=Review stage done +AccessCertificationResponseType.ACCEPT=Accept +AccessCertificationResponseType.REVOKE=Revoke +AccessCertificationResponseType.REDUCE=Reduce +AccessCertificationResponseType.NOT_DECIDED=Not decided +AccessCertificationResponseType.DELEGATE=Delegate +AccessCertificationResponseType.NO_RESPONSE=No response +ActivationStatusType.ARCHIVED=Archived +ActivationStatusType.DISABLED=Disabled +ActivationStatusType.ENABLED=Enabled +ActivationStatusType.null=Undefined +ActivationType.administrativeStatus=Administrative status +ActivationType.effectiveStatus=Effective status +ActivationType.enabled=Enabled +ActivationType.properties=Properties +ActivationType.title=Activation +ActivationType.validFrom=Valid from +ActivationType.validTo=Valid to +ActivityType.FOCUS_OPERATION=Operation on focus object (repository) +ActivityType.NOTIFICATIONS=Sending notifications +ActivityType.PROJECTOR=Computing projections of the focus object +ActivityType.RESOURCE_OBJECT_OPERATION=Operation on resource object +ActivityType.WORKFLOWS=Considering or starting approval workflows +AssignmentPolicyEnforcementType.FULL=Full +AssignmentPolicyEnforcementType.LEGALIZE=Legalize +AssignmentPolicyEnforcementType.MARK=Mark +AssignmentPolicyEnforcementType.NONE=None +AssignmentPolicyEnforcementType.POSITIVE=Positive +AssignmentPolicyEnforcementType.RELATIVE=Relative +AssignmentType.tenant=Tenant +AssignmentType.project=Org. unit/Project +AttributeFetchStrategyType.EXPLICIT=Explicit +AttributeFetchStrategyType.IMPLICIT=Implicit +AttributeFetchStrategyType.MINIMAL=Minimal +AuditEventStageType.EXECUTION=Execution +AuditEventStageType.REQUEST=Request +AuditEventType.ADD_OBJECT=Add object +AuditEventType.CREATE_SESSION=Create session +AuditEventType.DELETE_OBJECT=Delete object +AuditEventType.EXECUTE_CHANGES_RAW=Execute changes raw +AuditEventType.GET_OBJECT=Get object +AuditEventType.MODIFY_OBJECT=Modify object +AuditEventType.null=All +AuditEventType.RECONCILIATION=Reconciliation +AuditEventType.SYNCHRONIZATION=Synchronization +AuditEventType.TERMINATE_SESSION=Terminate session +AuditEventTypeType.ADD_OBJECT=Add object +AuditEventTypeType.CREATE_SESSION=Create session +AuditEventTypeType.DELETE_OBJECT=Delete object +AuditEventTypeType.EXECUTE_CHANGES_RAW=Execute changes raw +AuditEventTypeType.GET_OBJECT=Get object +AuditEventTypeType.MODIFY_OBJECT=Modify object +AuditEventTypeType.null=All +AuditEventTypeType.RECONCILIATION=Reconciliation +AuditEventTypeType.SYNCHRONIZATION=Synchronization +AuditEventTypeType.TERMINATE_SESSION=Terminate session +AuditEventTypeType.WORKFLOW_PROCESS_INSTANCE=Workflow process instance +AuditEventTypeType.WORK_ITEM=Work item +AuditEventType.WORKFLOW_PROCESS_INSTANCE=Workflow process instance +AuditEventType.WORK_ITEM=Work item +OperationResultStatusType.FATAL_ERROR=Fatal Error +OperationResultStatusType.HANDLED_ERROR=Handled Error +OperationResultStatusType.IN_PROGRESS=In Progress +OperationResultStatusType.NOT_APPLICABLE=Not Applicable +OperationResultStatusType.PARTIAL_ERROR=Partial Error +OperationResultStatusType.SUCCESS=Success +OperationResultStatusType.UNKNOWN=Unknown +OperationResultStatusType.WARNING=Warning +BeforeAfterType.AFTER=After +BeforeAfterType.BEFORE=Before +Boolean.FALSE=False +Boolean.NULL=Undefined +Boolean.TRUE=True +CapabilitiesType.activation=Activation +CapabilitiesType.activationStatus=Activation Status +CapabilitiesType.activationLockoutStatus=Activation Lockout +CapabilitiesType.activationValidity=Activation Validity +CapabilitiesType.credentials=Credentials +CapabilitiesType.password=Password +CapabilitiesType.liveSync=Live sync +CapabilitiesType.testConnection=Test Connection +CapabilitiesType.schema=Schema +CapabilitiesType.create=Create +CapabilitiesType.update=Update +CapabilitiesType.addRemoveAttributeValues=Add/Remove Values +CapabilitiesType.countObjects=Count Objects +CapabilitiesType.delete=Delete +CapabilitiesType.read=Read +CapabilitiesType.auxiliaryObjectClasses=Auxiliary Object Classes +CapabilitiesType.pagedSearch=Paged Search +CapabilitiesType.script=Script +ChangeType.ADD=Add +ChangeType.DELETE=Delete +ChangeType.MODIFY=Modify +ConnectorOperationalStatus.connectorClassName=Connector class name +ConnectorOperationalStatus.poolConfigMinSize=Minimum pool size +ConnectorOperationalStatus.poolConfigMaxSize=Maximum pool size +ConnectorOperationalStatus.poolConfigMinIdle=Minimum idle connectors +ConnectorOperationalStatus.poolConfigMaxIdle=Maximum idle connectors +ConnectorOperationalStatus.poolConfigWaitTimeout=Wait timeout +ConnectorOperationalStatus.poolConfigMinEvictableIdleTime=Minimum evictable idle time +ConnectorOperationalStatus.poolStatusNumIdle=Number of idle connectors +ConnectorOperationalStatus.poolStatusNumActive=Number of active connectors +FocusType.activation=Activation +FocusType.assignment=Assignments +FocusType.inducement=Inducements +FocusType.delegations=Delegations +FocusType.delegatedToMe=Delegated to me +FocusType.displayName=Display Name +LockoutStatusType.LOCKED=Locked +LockoutStatusType.NORMAL=Normal +LockoutStatusType.UNDEFINED=Undefined +LoggingComponentType.ALL=All +LoggingComponentType.GUI=GUI logger +LoggingComponentType.WEB=Web logger +LoggingComponentType.MODEL=Model logger +LoggingComponentType.NOTIFICATIONS = Notification logger +LoggingComponentType.PROVISIONING=Provisioning logger +LoggingComponentType.REPOSITORY=Repository logger +LoggingComponentType.RESOURCEOBJECTCHANGELISTENER=Resource object change listener logger +LoggingComponentType.TASKMANAGER=Task manager logger +LoggingComponentType.WORKFLOWS = Workflow logger +LoggingComponentType.ACCESS_CERTIFICATION = Access certification logger +LoggingLevelType.ALL=All +LoggingLevelType.DEBUG=Debug +LoggingLevelType.ERROR=Error +LoggingLevelType.INFO=Info +LoggingLevelType.OFF=Off +LoggingLevelType.TRACE=Trace +LoggingLevelType.WARN=Warn +MailTransportSecurityType.NONE=None +MailTransportSecurityType.SSL=SSL +MailTransportSecurityType.STARTTLS_ENABLED=StartTLS enabled +MailTransportSecurityType.STARTTLS_REQUIRED=StartTLS required +MappingStrengthType.NORMAL=Normal +MappingStrengthType.STRONG=Strong +MappingStrengthType.WEAK=Weak +MisfireActionType.EXECUTE_IMMEDIATELY=Execute immediately +MisfireActionType.RESCHEDULE=Reschedule +NodeExecutionStatusType.COMMUNICATION_ERROR=Unreachable +NodeExecutionStatusType.DOWN=Turned off +NodeExecutionStatusType.ERROR=Error +NodeExecutionStatusType.PAUSED=Stopped +NodeExecutionStatusType.RUNNING=Running +ObjectType.description=Description +ObjectType.AbstractRoleType=Abstract role +ObjectType.AccessCertificationCampaignType=Access certification campaign +ObjectType.AccessCertificationDefinitionType=Access certification definition +ObjectType.AccountType=Account +ObjectType.ConnectorType=Connector +ObjectType.ConnectorHostType=Connector host +ObjectType.FocusType=Focus +ObjectType.GenericObjectType=Generic object +ObjectType.LookupTableType=Lookup table +ObjectType.NodeType=Node +ObjectType.ObjectType=Object +ObjectType.ObjectTemplateType=Object template +ObjectType.OrgManagerType=Org. manager +ObjectType.OrgType=Organization +ObjectType.ReportOutputType=Report output +ObjectType.ReportType=Report +ObjectType.ResourceType=Resource +ObjectType.RoleType=Role +ObjectType.SecurityPolicyType=Security policy +ObjectType.SequenceType=Sequence +ObjectType.ShadowType=Shadow +ObjectType.SystemConfigurationType=System configuration +ObjectType.TaskType=Task +ObjectType.UserType=User +ObjectType.ServiceType=Service +ObjectType.ValuePolicyType=Value policy +ObjectType.name=Name +ObjectType.parentOrgRef=Parent org. units +OrgType.costCenter=Cost center +OrgType.displayName=Display name +OrgType.identifier=Identifier +OrgType.locality=Locality +OrgType.mailDomain=Mail Domain +OrgType.orgType=Org. type +OrgType.requestable=Requestable +OrgType.tenant=Tenant +OriginType.ACTIVATIONS=Activations +OriginType.ASSIGNMENTS=Assignments +OriginType.CREDENTIALS=Credentials +OriginType.INBOUND=Inbound +OriginType.null=- +OriginType.OUTBOUND=Outbound +OriginType.RECONCILIATION=Reconciliation +OriginType.SYNC_ACTION=Sync action +OriginType.USER_ACTION=User action +OriginType.USER_POLICY=User policy +AccessCertificationCaseOutcomeStrategyType.ONE_ACCEPT_ACCEPTS = Any 'accept' accepts +AccessCertificationCaseOutcomeStrategyType.ONE_DENY_DENIES = Any 'deny' denies +AccessCertificationCaseOutcomeStrategyType.ACCEPTED_IF_NOT_DENIED = Accepted if no one denies +AccessCertificationCaseOutcomeStrategyType.ALL_MUST_ACCEPT = Accepted only if all reviewers accept +AccessCertificationRemediationStyleType.AUTOMATED=Automated reconciliation (non-conformant items are automatically removed) +AccessCertificationRemediationStyleType.REPORT_ONLY=Manual reconciliation (non-conformant items are reported) +PolicyConstraintEnforcementType.ENFORCE=Enforce +PolicyConstraintEnforcementType.REMEDIATE=Remediate +PolicyConstraintEnforcementType.REPORT=Report +ReportType.export=Export +ReportType.orientation=Orientation +ReportType.parent=Parent +ReportType.useHibernateSession=Use hibernate session +ReportType.virtualizer=Jasper virtualizer +ReportType.virtualizerKickOn=Virtualizer's pages kick-on +ReportType.maxPages=Maximum number of pages +ReportType.timeout=Execution timeout [ms] +ResourceObjectAssociationDirectionType.OBJECT_TO_SUBJECT=Object to subject +ResourceObjectAssociationDirectionType.SUBJECT_TO_OBJECT=Subject to object +ResourceObjectTypeDependencyStrictnessType.LAX=Lax +ResourceObjectTypeDependencyStrictnessType.RELAXED=Relaxed +ResourceObjectTypeDependencyStrictnessType.STRICT=Strict +ShadowType.dead=Dead +ShadowType.kind=Kind +ShadowType.failedOperationType=Failed operation type +ShadowType.exists=Exists +ShadowType.intent=Intent +ShadowType.objectClass=Object Class +ShadowType.synchronizationSituation=Situation +ShadowKindType.ACCOUNT=Account +ShadowKindType.ENTITLEMENT=Entitlement +ShadowKindType.GENERIC=Generic +SynchronizationSituationType.DELETED=Deleted +SynchronizationSituationType.DISPUTED=Disputed +SynchronizationSituationType.LINKED=Linked +SynchronizationSituationType.null=Choose One +SynchronizationSituationType.UNLINKED=Unlinked +SynchronizationSituationType.UNMATCHED=Unmatched +ThreadStopActionType.CLOSE=Close +ThreadStopActionType.RESCHEDULE=Reschedule +ThreadStopActionType.RESTART=Restart +ThreadStopActionType.SUSPEND=Suspend +UserType.emailAddress=Email +UserType.familyName=Family name +UserType.fullName=Full name +UserType.givenName=Given name +FailedOperationTypeType.ADD=Add +FailedOperationTypeType.GET=Get +FailedOperationTypeType.MODIFY=Modify +FailedOperationTypeType.DELETE=Delete +AbstractRoleType.description=Description +AbstractRoleType.displayName=Display Name +TaskType.kind=Kind +TaskType.intent=Intent +TaskType.objectClass=Object Class +TaskType.executionStatus=Status +ObjectTypes.CONNECTOR=Connector +ObjectTypes.CONNECTOR_HOST=Connector host +ObjectTypes.GENERIC_OBJECT=Generic object +ObjectTypes.RESOURCE=Resource +ObjectTypes.USER=User +ObjectTypes.OBJECT_TEMPLATE=Object template +ObjectTypes.SYSTEM_CONFIGURATION=System configuration +ObjectTypes.TASK=Task +ObjectTypes.SHADOW=Shadow +ObjectTypes.ROLE=Role +ObjectTypes.PASSWORD_POLICY=Password policy +ObjectTypes.NODE=Node +ObjectTypes.ORG=Org +ObjectTypes.ABSTRACT_ROLE=Abstract role +ObjectTypes.FOCUS_TYPE=Focus type +ObjectTypes.REPORT=Report +ObjectTypes.REPORT_OUTPUT=Report output +ObjectTypes.SECURITY_POLICY=Security policy +ObjectTypes.LOOKUP_TABLE=Lookup table +ObjectTypes.ACCESS_CERTIFICATION_DEFINITION=Certification definition +ObjectTypes.ACCESS_CERTIFICATION_CAMPAIGN=Certification campaign +ObjectTypes.SEQUENCE=Sequence +ObjectTypes.SERVICE=Service +ObjectTypes.OBJECT=Object +OrgType.parentOrganization=Parent Organization +ObjectType.extension=Extension +FocusType.assignmentKey=Assignment +FocusType.jpegPhoto=Jpeg photo +UserType.additionalName=Additional Name +UserType.nickname=Nickname +UserType.honorificPrefix=Honorific Prefix +UserType.honorificSuffix=Honorific Suffix +UserType.title=Title +UserType.preferredLanguage=Preferred Language +UserType.locale=Locale +UserType.timezone=Timezone +UserType.EmailAddress=Email Address +UserType.telephoneNumber=Telephone Number +UserType.employeeNumber=Employee Number +UserType.employeeType=Employee Type +UserType.costCenter=Cost Center +UserType.organization=Organization +UserType.organizationalUnit=Organizational Unit +UserType.locality=Locality +UserType.credentials=Credentials +CredentialsType.password=Password +CredentialsType.securityQuestions=Security Questions +AssignmentType.assignment=Assignment +AssignmentType.target=Target +AssignmentType.construction=Construction +AssignmentType.tenantReference=Tenant reference +AssignmentType.orgReference=Org reference +ActivationType.activation=Activation +ActivationType.validityStatus=Validity Status +ActivationType.lockOutStatus=Lock-out Status +ActivationType.lockOutExpiration=Lock-out Expiration +ConnectorType.displayName=Display Name +ShadowType.activation=Activation +AbstractRoleType.inducement=Inducement +AbstractRoleType.requestable=Requestable +AbstractRoleType.riskLevel=Risk Level +AbstractRoleType.owner=Owner +AbstractRoleType.approver=Approver +RoleType.roleType=Role Type +OrgType.type=Type +OrgType.isTenant=Is Tenant +OrgType.CostCenter=Cost Center +OrgType.displayOrder=Display Order +OrgType.passwordPolicy=Password Policy +ServiceType.type=Type +ServiceType.locality=Locality +ServiceType.displayOrder=Display Order +ServiceType.URL=URL +ResourceAttribute.connIdName=ConnId Name +ResourceAttribute.connIdUID=ConnId UID +ResourceValidator.noSchema=Resource schema is not available\: {0} +ResourceValidator.multipleSynchronizationDefinitions=There are multiple synchronization definitions for kind/intent\: {0}. +ResourceValidator.multipleSchemaHandlingDefinitions=There are multiple schema handling definitions for kind/intent\: {0}. +ResourceValidator.multipleSchemaHandlingDefaultDefinitions=There are multiple schema handling definitions for kind ''{0}'' marked as default. +ResourceValidator.noDefaultAccountSchemaHandlingDefinition=There is no ''account'' schema handling definition marked as default. Unqualified assignments of this resource will not work. +ResourceValidator.missingObjectClass=Missing object class for schema handling definition\: ''{0}''. +ResourceValidator.unknownObjectClass=Unknown object class ''{1}'' for schema handling definition\: ''{0}''. +ResourceValidator.noSynchronizationDefinition=No synchronization definition for ''{0}''. +ResourceValidator.noSchemaHandlingDefinition=No schema handling definition for ''{0}''. +ResourceValidator.noAttributeName=Unnamed attribute in schema handling for ''{0}''. +ResourceValidator.unknownAttributeName=There is no attribute named ''{1}'' in object class ''{2}'' (defined in schema handling for ''{0}''). +ResourceValidator.noAssociationName=Unnamed association in schema handling for ''{0}''. +ResourceValidator.collidingAssociationName=Association ''{1}'' collides with existing attribute in schema handling for ''{0}''. +ResourceValidator.wrongItemName=Illegal reference to attribute or association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.noItemNamespace=No namespace in reference to attribute or association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.missingAssociationTargetKind=Missing ''target kind'' property for association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.missingAssociationTargetIntent=Missing ''target intent'' property for association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.missingAssociationDirection=Missing ''direction'' property for association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.missingAssociationAssociationAttribute=Missing ''association attribute'' property for association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.missingAssociationValueAttribute=Missing ''value attribute'' property for association ''{1}'' in schema handling for ''{0}''. +ResourceValidator.wrongMatchingRule=Wrong matching rule for attribute ''{1}'' in schema handling for ''{0}''\: {2} +ResourceValidator.multipleItems=There are multiple definitions for attribute or association ''{1}'' in ''{0}''. +ResourceValidator.dependentObjectTypeDoesNotExist=Dependent kind/intent ''{1}'' does not exist in a dependency of ''{0}''. +ResourceValidator.targetObjectTypeDoesNotExist=Target kind/intent ''{1}'' for association ''{2}'' does not exist in schema handling for ''{0}''. +ResourceValidator.suspiciousMappingSource=Suspicious source for {1} for ''{2}'' in schema handling for ''{0}''\: {3} +ResourceValidator.invalidMappingSource=Invalid source for {1} for ''{2}'' in schema handling for ''{0}''\: {3} +ResourceValidator.missingMappingSource=Missing source for {1} for ''{2}'' in schema handling for ''{0}'' +ResourceValidator.suspiciousMappingTarget=Suspicious target for {1} for ''{2}'' in schema handling for ''{0}''\: {3} +ResourceValidator.invalidMappingTarget=Invalid target for {1} for ''{2}'' in schema handling for ''{0}''\: {3} +ResourceValidator.missingMappingTarget=Missing target for {1} for ''{2}'' in schema handling for ''{0}'' +ResourceValidator.superfluousMappingTarget=Superfluous target for {1} for ''{2}'' in schema handling for ''{0}''\: {3} +ResourceValidator.unknownObjectClassInSynchronization=Unknown object class ''{1}'' for synchronization definition\: ''{0}''. +ResourceValidator.noReaction=No reaction defined in ''{0}'' for situation(s)\: {1} +ResourceValidator.duplicateReactions=Duplicate reactions defined in ''{0}'' for situation(s)\: {1} +ResourceValidator.noSituation=Missing synchronization situation name in a reaction defined in ''{0}'' +ResourceValidator.noCorrelationRule=No correlation rule for synchronization of ''{0}'' +ResourceValidator.outboundMapping=outbound mapping +ResourceValidator.inboundMapping=inbound mapping number {0} +AdminGuiConfigurationType.adminGuiConfiguration=Admin GUI Configuration +midPointVersion=${pom.version} +midPointRevision=${git.describe} From eec78e65ac28692f2335d74fc0c96db42d29fb22 Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Wed, 17 May 2017 14:17:15 +0200 Subject: [PATCH 2/7] roleRelation authorization almost done --- .../schema/constants/SchemaConstants.java | 1 + .../xml/ns/public/common/common-core-3.xsd | 3 + .../midpoint/model/impl/lens/Clockwork.java | 6 +- .../midpoint/model/impl/lens/LensContext.java | 2 + .../intest/security/AbstractSecurityTest.java | 10 + .../intest/security/TestSecurityAdvanced.java | 242 +++++++++++++++++- .../intest/security/TestSecurityBasic.java | 106 -------- .../security/role-approver-unassign-roles.xml | 4 +- .../security/role-read-basic-items.xml | 27 ++ .../resources/security/role-uninteresting.xml | 22 ++ .../midpoint/security/api/Authorization.java | 11 +- .../security/impl/SecurityEnforcerImpl.java | 125 +++++++-- 12 files changed, 413 insertions(+), 146 deletions(-) create mode 100644 model/model-intest/src/test/resources/security/role-read-basic-items.xml create mode 100644 model/model-intest/src/test/resources/security/role-uninteresting.xml diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java index ce9e47c69ea..434559c10eb 100644 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java @@ -233,6 +233,7 @@ public abstract class SchemaConstants { UserType.F_CREDENTIALS, CredentialsType.F_SECURITY_QUESTIONS, PasswordType.F_FAILED_LOGINS); public static final ItemPath PATH_LINK_REF = new ItemPath(FocusType.F_LINK_REF); public static final ItemPath PATH_LIFECYCLE_STATE = new ItemPath(ObjectType.F_LIFECYCLE_STATE); + public static final Object PATH_ROLE_MEMBERSHIP_REF = new ItemPath(FocusType.F_ROLE_MEMBERSHIP_REF); public static final String NS_PROVISIONING = NS_MIDPOINT_PUBLIC + "/provisioning"; public static final String NS_PROVISIONING_LIVE_SYNC = NS_PROVISIONING + "/liveSync-3"; diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd index 301d682f6fb..2c60156303e 100644 --- a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd +++ b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd @@ -8864,6 +8864,9 @@

Definition of object with respect to subject relation to a role. Used to specify authorizations for role approvers, owners and so on. +

+

+ EXPERIMENTAL. Use at your own risk.

diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java index 8b0ed3cb7fb..2a3806c4b62 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java @@ -1159,9 +1159,9 @@ private ObjectSecurityConstraints a // If there is no delta then there is no request to authorize if (primaryDelta != null) { primaryDelta = primaryDelta.clone(); - PrismObject object = elementContext.getObjectNew(); - if (primaryDelta.isDelete()) { - object = elementContext.getObjectCurrent(); + PrismObject object = elementContext.getObjectCurrent(); + if (primaryDelta.isAdd()) { + object = elementContext.getObjectNew(); } String operationUrl = ModelUtils.getOperationUrlFromDelta(primaryDelta); ObjectSecurityConstraints securityConstraints = securityEnforcer.compileSecurityConstraints(object, ownerResolver); diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java index c6f51e6ec13..a76dd6c1001 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java @@ -805,6 +805,7 @@ protected void copyValues(LensContext clone) { clone.executionPhaseOnly = this.executionPhaseOnly; clone.focusClass = this.focusClass; clone.isFresh = this.isFresh; + clone.isRequestAuthorized = this.isRequestAuthorized; clone.prismContext = this.prismContext; clone.resourceCache = cloneResourceCache(); // User template is de-facto immutable, OK to just pass reference here. @@ -880,6 +881,7 @@ public String debugDump(int indent, boolean showTriples) { } sb.append(" changes, "); sb.append("fresh=").append(isFresh); + sb.append(", reqAutz=").append(isRequestAuthorized); if (systemConfiguration == null) { sb.append(" null-system-configuration"); } diff --git a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/AbstractSecurityTest.java b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/AbstractSecurityTest.java index 7f92b515d96..87e99b944d1 100644 --- a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/AbstractSecurityTest.java +++ b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/AbstractSecurityTest.java @@ -146,6 +146,9 @@ public abstract class AbstractSecurityTest extends AbstractInitializedModelInteg protected static final File ROLE_READONLY_DEEP_EXEC_FILE = new File(TEST_DIR, "role-readonly-deep-exec.xml"); protected static final String ROLE_READONLY_DEEP_EXEC_OID = "00000000-0000-0000-0000-00000000ae02"; + protected static final File ROLE_READ_BASIC_ITEMS_FILE = new File(TEST_DIR, "role-read-basic-items.xml"); + protected static final String ROLE_READ_BASIC_ITEMS_OID = "519e8bf4-3af3-11e7-bc89-cbcee62d4088"; + protected static final File ROLE_SELF_FILE = new File(TEST_DIR, "role-self.xml"); protected static final String ROLE_SELF_OID = "00000000-0000-0000-0000-00000000aa03"; @@ -277,6 +280,9 @@ public abstract class AbstractSecurityTest extends AbstractInitializedModelInteg protected static final File ROLE_ORDINARY_FILE = new File(TEST_DIR, "role-ordinary.xml"); protected static final String ROLE_ORDINARY_OID = "7a7ad698-3a37-11e7-9af7-6fd138dd9572"; + protected static final File ROLE_UNINTERESTING_FILE = new File(TEST_DIR, "role-uninteresting.xml"); + protected static final String ROLE_UNINTERESTING_OID = "2264afee-3ae4-11e7-a63c-8b53efadd642"; + protected static final File ORG_REQUESTABLE_FILE = new File(TEST_DIR,"org-requestable.xml"); protected static final String ORG_REQUESTABLE_OID = "8f2bd344-a46c-4c0b-aa34-db08b7d7f7f2"; @@ -306,6 +312,8 @@ public abstract class AbstractSecurityTest extends AbstractInitializedModelInteg protected static final XMLGregorianCalendar JACK_VALID_FROM_LONG_AGO = XmlTypeConverter.createXMLGregorianCalendar(10000L); protected static final int NUMBER_OF_ALL_USERS = 11; + protected static final int NUMBER_OF_ALL_ROLES = 70; + protected static final int NUMBER_OF_ALL_ORGS = 10; protected String userRumRogersOid; protected String userCobbOid; @@ -322,6 +330,7 @@ public void initSystem(Task initTask, OperationResult initResult) throws Excepti repoAddObjectFromFile(ROLE_READONLY_REQ_EXEC_FILE, initResult); repoAddObjectFromFile(ROLE_READONLY_DEEP_FILE, initResult); repoAddObjectFromFile(ROLE_READONLY_DEEP_EXEC_FILE, initResult); + repoAddObjectFromFile(ROLE_READ_BASIC_ITEMS_FILE, initResult); repoAddObjectFromFile(ROLE_SELF_FILE, initResult); repoAddObjectFromFile(ROLE_OBJECT_FILTER_MODIFY_CARIBBEAN_FILE, initResult); repoAddObjectFromFile(ROLE_PROP_READ_ALL_MODIFY_SOME_FILE, initResult); @@ -372,6 +381,7 @@ public void initSystem(Task initTask, OperationResult initResult) throws Excepti repoAddObjectFromFile(ROLE_PERSONA_ADMIN_FILE, initResult); repoAddObjectFromFile(ROLE_APPROVER_UNASSIGN_ROLES_FILE, initResult); repoAddObjectFromFile(ROLE_ORDINARY_FILE, initResult); + repoAddObjectFromFile(ROLE_UNINTERESTING_FILE, initResult); repoAddObjectFromFile(ORG_REQUESTABLE_FILE, initResult); diff --git a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java index 5d3e100d1bf..93ddaf410f5 100644 --- a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java +++ b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java @@ -15,21 +15,38 @@ */ package com.evolveum.midpoint.model.intest.security; +import static com.evolveum.midpoint.test.IntegrationTestTools.display; import static org.testng.AssertJUnit.assertEquals; +import java.io.IOException; + import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.ClassMode; import org.springframework.test.context.ContextConfiguration; import org.testng.annotations.Test; import com.evolveum.midpoint.prism.PrismObject; +import com.evolveum.midpoint.prism.query.ObjectQuery; +import com.evolveum.midpoint.prism.query.builder.QueryBuilder; +import com.evolveum.midpoint.prism.util.PrismTestUtil; import com.evolveum.midpoint.schema.constants.SchemaConstants; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.task.api.Task; +import com.evolveum.midpoint.test.IntegrationTestTools; import com.evolveum.midpoint.test.util.TestUtil; +import com.evolveum.midpoint.util.exception.CommunicationException; +import com.evolveum.midpoint.util.exception.ConfigurationException; +import com.evolveum.midpoint.util.exception.ExpressionEvaluationException; +import com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException; +import com.evolveum.midpoint.util.exception.ObjectNotFoundException; +import com.evolveum.midpoint.util.exception.PolicyViolationException; +import com.evolveum.midpoint.util.exception.SchemaException; +import com.evolveum.midpoint.util.exception.SecurityViolationException; +import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentPolicyEnforcementType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType; import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType; +import com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType; import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; /** @@ -45,7 +62,9 @@ public void initSystem(Task initTask, OperationResult initResult) throws Excepti super.initSystem(initTask, initResult); assignRole(userRumRogersOid, ROLE_ORDINARY_OID, initTask, initResult); + assignRole(userRumRogersOid, ROLE_UNINTERESTING_OID, initTask, initResult); assignRole(userCobbOid, ROLE_ORDINARY_OID, initTask, initResult); + assignRole(userCobbOid, ROLE_UNINTERESTING_OID, initTask, initResult); } @@ -160,7 +179,113 @@ public void test110AutzJackPersonaAdmin() throws Exception { assertGlobalStateUntouched(); } - @Test(enabled=false) + @Test + public void test120AutzJackDelagator() throws Exception { + final String TEST_NAME = "test350AutzJackDelagator"; + TestUtil.displayTestTile(this, TEST_NAME); + // GIVEN + cleanupAutzTest(USER_JACK_OID); + assignRole(USER_JACK_OID, ROLE_DELEGATOR_OID); + + assumeAssignmentPolicy(AssignmentPolicyEnforcementType.RELATIVE); + + login(USER_JACK_USERNAME); + + // WHEN + TestUtil.displayWhen(TEST_NAME); + + assertReadAllow(NUMBER_OF_ALL_USERS); + assertAddDeny(); + assertModifyDeny(); + assertDeleteDeny(); + + PrismObject userJack = getUser(USER_JACK_OID); + assertAssignments(userJack, 1); + assertAssignedRole(userJack, ROLE_DELEGATOR_OID); + + PrismObject userBarbossa = getUser(USER_BARBOSSA_OID); + assertNoAssignments(userBarbossa); + + assertDeny("assign business role to jack", + (task, result) -> { + assignRole(USER_JACK_OID, ROLE_BUSINESS_1_OID, task, result); + }); + + userJack = getUser(USER_JACK_OID); + assertAssignments(userJack, 1); + + // Wrong direction. It should NOT work. + assertDeny("delegate from Barbossa to Jack", + (task, result) -> { + assignDeputy(USER_JACK_OID, USER_BARBOSSA_OID, task, result); + }); + + + // Good direction + assertAllow("delegate to Barbossa", + (task, result) -> { + assignDeputy(USER_BARBOSSA_OID, USER_JACK_OID, task, result); + }); + + userJack = getUser(USER_JACK_OID); + assertAssignments(userJack, 1); + + userBarbossa = getUser(USER_BARBOSSA_OID); + assertAssignments(userBarbossa, 1); + assertAssignedDeputy(userBarbossa, USER_JACK_OID); + + login(USER_BARBOSSA_USERNAME); + // WHEN + TestUtil.displayWhen(TEST_NAME); + display("Logged in as Barbossa"); + + assertReadAllow(NUMBER_OF_ALL_USERS); + assertAddDeny(); + assertModifyDeny(); + assertDeleteDeny(); + + login(USER_JACK_USERNAME); + // WHEN + TestUtil.displayWhen(TEST_NAME); + display("Logged in as Jack"); + + assertAllow("undelegate from Barbossa", + (task, result) -> { + unassignDeputy(USER_BARBOSSA_OID, USER_JACK_OID, task, result); + }); + + userJack = getUser(USER_JACK_OID); + assertAssignments(userJack, 1); + + userBarbossa = getUser(USER_BARBOSSA_OID); + assertNoAssignments(userBarbossa); + + assertGlobalStateUntouched(); + + login(USER_BARBOSSA_USERNAME); + // WHEN + TestUtil.displayWhen(TEST_NAME); + display("Logged in as Barbossa"); + + assertReadDeny(); + assertAddDeny(); + assertModifyDeny(); + assertDeleteDeny(); + + assertDeny("delegate to Jack", + (task, result) -> { + assignDeputy(USER_JACK_OID, USER_BARBOSSA_OID, task, result); + }); + + assertDeny("delegate from Jack to Barbossa", + (task, result) -> { + assignDeputy(USER_BARBOSSA_OID, USER_JACK_OID, task, result); + }); + + assertGlobalStateUntouched(); + } + + @Test public void test150AutzJackApproverUnassignRoles() throws Exception { final String TEST_NAME = "test150AutzJackApproverUnassignRoles"; TestUtil.displayTestTile(this, TEST_NAME); @@ -169,6 +294,10 @@ public void test150AutzJackApproverUnassignRoles() throws Exception { assignRole(USER_JACK_OID, ROLE_APPROVER_UNASSIGN_ROLES_OID); assignRole(USER_JACK_OID, ROLE_ORDINARY_OID, SchemaConstants.ORG_APPROVER); + PrismObject userCobbBefore = getUser(userCobbOid); + IntegrationTestTools.display("User cobb before", userCobbBefore); + assertRoleMembershipRef(userCobbBefore, ROLE_ORDINARY_OID, ROLE_UNINTERESTING_OID, ORG_SCUMM_BAR_OID); + login(USER_JACK_USERNAME); // WHEN @@ -180,22 +309,119 @@ public void test150AutzJackApproverUnassignRoles() throws Exception { assertGetAllow(UserType.class, userRumRogersOid); // member of ROLE_ORDINARY_OID assertGetAllow(UserType.class, userCobbOid); // member of ROLE_ORDINARY_OID - assertGetDeny(UserType.class, USER_GUYBRUSH_OID); - assertGetDeny(UserType.class, USER_LECHUCK_OID); + assertGetDeny(UserType.class, USER_JACK_OID); // assignment exists, but wrong relation + assertGetDeny(UserType.class, USER_GUYBRUSH_OID); // no assignment to ROLE_ORDINARY_OID + assertGetDeny(UserType.class, USER_LECHUCK_OID); // no assignment to ROLE_ORDINARY_OID - assertSearch(UserType.class, null, NUMBER_OF_ALL_USERS); - assertSearch(RoleType.class, null, 1); assertSearch(OrgType.class, null, 0); + + // The appr-read-roles authorization is maySkipOnSearch and there is no other authorization that would + // allow read, so no role are returned + assertSearch(RoleType.class, null, 0); - // TODO: assign role + // The appr-read-users authorization is maySkipOnSearch and there is no other authorization that would + // allow read, so no users are returned + assertSearch(UserType.class, null, 0); + + assertSearch(UserType.class, + QueryBuilder.queryFor(UserType.class, prismContext).item(UserType.F_ROLE_MEMBERSHIP_REF).ref(ROLE_APPROVER_UNASSIGN_ROLES_OID).build(), + 0); + + assert15xCommon(); + } + + @Test + public void test152AutzJackApproverUnassignRolesAndRead() throws Exception { + final String TEST_NAME = "test152AutzJackApproverUnassignRolesAndRead"; + TestUtil.displayTestTile(this, TEST_NAME); + // GIVEN + cleanupAutzTest(USER_JACK_OID); + assignRole(USER_JACK_OID, ROLE_APPROVER_UNASSIGN_ROLES_OID); + assignRole(USER_JACK_OID, ROLE_READ_BASIC_ITEMS_OID); + assignRole(USER_JACK_OID, ROLE_ORDINARY_OID, SchemaConstants.ORG_APPROVER); + + login(USER_JACK_USERNAME); - // TODO: list role members + // WHEN + TestUtil.displayWhen(TEST_NAME); - // TODO: unassign role + assertGetAllow(RoleType.class, ROLE_ORDINARY_OID); + assertGetAllow(RoleType.class, ROLE_PERSONA_ADMIN_OID); // no assignment + assertGetAllow(RoleType.class, ROLE_APPROVER_UNASSIGN_ROLES_OID); // assignment exists, but wrong relation + assertGetAllow(UserType.class, userRumRogersOid); // member of ROLE_ORDINARY_OID + assertGetAllow(UserType.class, userCobbOid); // member of ROLE_ORDINARY_OID + assertGetAllow(UserType.class, USER_JACK_OID); // assignment exists, but wrong relation + assertGetAllow(UserType.class, USER_GUYBRUSH_OID); // no assignment to ROLE_ORDINARY_OID + assertGetAllow(UserType.class, USER_LECHUCK_OID); // no assignment to ROLE_ORDINARY_OID + + assertSearch(OrgType.class, null, NUMBER_OF_ALL_ORGS); + + // The appr-read-roles authorization is maySkipOnSearch and the readonly role allows read. + assertSearch(RoleType.class, null, NUMBER_OF_ALL_ROLES); + + // The appr-read-users authorization is maySkipOnSearch and the readonly role allows read. + assertSearch(UserType.class, null, NUMBER_OF_ALL_USERS); + + + assert15xCommon(); + } + + private void assert15xCommon() throws Exception { + + // list ordinary role members, this is allowed + assertSearch(UserType.class, + QueryBuilder.queryFor(UserType.class, prismContext).item(UserType.F_ROLE_MEMBERSHIP_REF).ref(ROLE_ORDINARY_OID).build(), + 2); + + // MID-3916 + // list approver role members, this is not allowed +// assertSearch(UserType.class, +// QueryBuilder.queryFor(UserType.class, prismContext).item(UserType.F_ROLE_MEMBERSHIP_REF).ref(ROLE_APPROVER_UNASSIGN_ROLES_OID).build(), +// 0); + + assertAllow("unassign ordinary role from cobb", + (task,result) -> unassignRole(userCobbOid, ROLE_ORDINARY_OID, task, result)); + + assertSearch(UserType.class, + QueryBuilder.queryFor(UserType.class, prismContext).item(UserType.F_ROLE_MEMBERSHIP_REF).ref(ROLE_ORDINARY_OID).build(), + 1); + + // Jack is not approver of uninteresting role, so this should be denied + assertDeny("unassign uninteresting role from cobb", + (task,result) -> unassignRole(userCobbOid, ROLE_UNINTERESTING_OID, task, result)); + + // Jack is not approver of uninteresting role, so this should be denied + // - even though Rum Rogers is a member of a role that jack is an approver of + assertDeny("unassign uninteresting role from rum", + (task,result) -> unassignRole(userRumRogersOid, ROLE_UNINTERESTING_OID, task, result)); + + assertDeny("unassign approver role from jack", + (task,result) -> unassignRole(USER_JACK_OID, ROLE_APPROVER_UNASSIGN_ROLES_OID, task, result)); + + // Lechuck is not a member of ordinary role + assertDeny("unassign ordinary role from lechuck", + (task,result) -> unassignRole(USER_LECHUCK_OID, ROLE_ORDINARY_OID, task, result)); + assertAddDeny(); assertModifyDeny(); assertDeleteDeny(); assertGlobalStateUntouched(); } + + // TODO: combine ROLE_APPROVER_UNASSIGN_ROLES_OID with a role that allows basic read of users and roles + + @Override + protected void cleanupAutzTest(String userOid) throws ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, ObjectAlreadyExistsException, PolicyViolationException, SecurityViolationException, IOException { + super.cleanupAutzTest(userOid); + + Task task = taskManager.createTaskInstance(TestSecurityAdvanced.class.getName() + ".cleanupAutzTest"); + OperationResult result = task.getResult(); + + assignRole(userRumRogersOid, ROLE_ORDINARY_OID, task, result); + assignRole(userRumRogersOid, ROLE_UNINTERESTING_OID, task, result); + assignRole(userCobbOid, ROLE_ORDINARY_OID, task, result); + assignRole(userCobbOid, ROLE_UNINTERESTING_OID, task, result); + + } } diff --git a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityBasic.java b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityBasic.java index 46be1d44ed7..1131f8766be 100644 --- a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityBasic.java +++ b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityBasic.java @@ -2522,112 +2522,6 @@ public void test313AutzAnonymousPrivilegedRestore() throws Exception { assertGlobalStateUntouched(); } - @Test - public void test350AutzJackDelagator() throws Exception { - final String TEST_NAME = "test350AutzJackDelagator"; - TestUtil.displayTestTile(this, TEST_NAME); - // GIVEN - cleanupAutzTest(USER_JACK_OID); - assignRole(USER_JACK_OID, ROLE_DELEGATOR_OID); - - assumeAssignmentPolicy(AssignmentPolicyEnforcementType.RELATIVE); - - login(USER_JACK_USERNAME); - - // WHEN - TestUtil.displayWhen(TEST_NAME); - - assertReadAllow(NUMBER_OF_ALL_USERS + 1); - assertAddDeny(); - assertModifyDeny(); - assertDeleteDeny(); - - PrismObject userJack = getUser(USER_JACK_OID); - assertAssignments(userJack, 2); - assertAssignedRole(userJack, ROLE_DELEGATOR_OID); - - PrismObject userBarbossa = getUser(USER_BARBOSSA_OID); - assertNoAssignments(userBarbossa); - - assertDeny("assign business role to jack", - (task, result) -> { - assignRole(USER_JACK_OID, ROLE_BUSINESS_1_OID, task, result); - }); - - userJack = getUser(USER_JACK_OID); - assertAssignments(userJack, 2); - - // Wrong direction. It should NOT work. - assertDeny("delegate from Barbossa to Jack", - (task, result) -> { - assignDeputy(USER_JACK_OID, USER_BARBOSSA_OID, task, result); - }); - - - // Good direction - assertAllow("delegate to Barbossa", - (task, result) -> { - assignDeputy(USER_BARBOSSA_OID, USER_JACK_OID, task, result); - }); - - userJack = getUser(USER_JACK_OID); - assertAssignments(userJack, 2); - - userBarbossa = getUser(USER_BARBOSSA_OID); - assertAssignments(userBarbossa, 1); - assertAssignedDeputy(userBarbossa, USER_JACK_OID); - - login(USER_BARBOSSA_USERNAME); - // WHEN - TestUtil.displayWhen(TEST_NAME); - display("Logged in as Barbossa"); - - assertReadAllow(NUMBER_OF_ALL_USERS + 1); - assertAddDeny(); - assertModifyDeny(); - assertDeleteDeny(); - - login(USER_JACK_USERNAME); - // WHEN - TestUtil.displayWhen(TEST_NAME); - display("Logged in as Jack"); - - assertAllow("undelegate from Barbossa", - (task, result) -> { - unassignDeputy(USER_BARBOSSA_OID, USER_JACK_OID, task, result); - }); - - userJack = getUser(USER_JACK_OID); - assertAssignments(userJack, 2); - - userBarbossa = getUser(USER_BARBOSSA_OID); - assertNoAssignments(userBarbossa); - - assertGlobalStateUntouched(); - - login(USER_BARBOSSA_USERNAME); - // WHEN - TestUtil.displayWhen(TEST_NAME); - display("Logged in as Barbossa"); - - assertReadDeny(); - assertAddDeny(); - assertModifyDeny(); - assertDeleteDeny(); - - assertDeny("delegate to Jack", - (task, result) -> { - assignDeputy(USER_JACK_OID, USER_BARBOSSA_OID, task, result); - }); - - assertDeny("delegate from Jack to Barbossa", - (task, result) -> { - assignDeputy(USER_BARBOSSA_OID, USER_JACK_OID, task, result); - }); - - assertGlobalStateUntouched(); - } - @Test public void test360AutzJackAuditorRole() throws Exception { final String TEST_NAME = "test360AutzJackAuditorRole"; diff --git a/model/model-intest/src/test/resources/security/role-approver-unassign-roles.xml b/model/model-intest/src/test/resources/security/role-approver-unassign-roles.xml index 0ec891aadb4..6fde7b91672 100644 --- a/model/model-intest/src/test/resources/security/role-approver-unassign-roles.xml +++ b/model/model-intest/src/test/resources/security/role-approver-unassign-roles.xml @@ -23,6 +23,7 @@ appr-read-roles http://midpoint.evolveum.com/xml/ns/public/security/authorization-model-3#read + maySkipOnSearch RoleType @@ -45,8 +46,7 @@ - appr-assign - http://midpoint.evolveum.com/xml/ns/public/security/authorization-model-3#assign + appr-unassign http://midpoint.evolveum.com/xml/ns/public/security/authorization-model-3#unassign request diff --git a/model/model-intest/src/test/resources/security/role-read-basic-items.xml b/model/model-intest/src/test/resources/security/role-read-basic-items.xml new file mode 100644 index 00000000000..a460e5149f9 --- /dev/null +++ b/model/model-intest/src/test/resources/security/role-read-basic-items.xml @@ -0,0 +1,27 @@ + + + Read Basic Items + + autz-read-basic + http://midpoint.evolveum.com/xml/ns/public/security/authorization-model-3#read + name + description + + diff --git a/model/model-intest/src/test/resources/security/role-uninteresting.xml b/model/model-intest/src/test/resources/security/role-uninteresting.xml new file mode 100644 index 00000000000..a0e28887375 --- /dev/null +++ b/model/model-intest/src/test/resources/security/role-uninteresting.xml @@ -0,0 +1,22 @@ + + + Uninteresting + Absolutely uninteresting role. It does nothing. Used only to check that its assignment/unassignment is properly denied. + diff --git a/repo/security-api/src/main/java/com/evolveum/midpoint/security/api/Authorization.java b/repo/security-api/src/main/java/com/evolveum/midpoint/security/api/Authorization.java index 81c19d7b019..75791e791fb 100644 --- a/repo/security-api/src/main/java/com/evolveum/midpoint/security/api/Authorization.java +++ b/repo/security-api/src/main/java/com/evolveum/midpoint/security/api/Authorization.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2015 Evolveum + * Copyright (c) 2010-2017 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import com.evolveum.midpoint.util.DebugDumpable; import com.evolveum.midpoint.util.DebugUtil; import com.evolveum.midpoint.xml.ns._public.common.common_3.AuthorizationDecisionType; +import com.evolveum.midpoint.xml.ns._public.common.common_3.AuthorizationEnforcementStrategyType; import com.evolveum.midpoint.xml.ns._public.common.common_3.AuthorizationPhaseType; import com.evolveum.midpoint.xml.ns._public.common.common_3.AuthorizationType; import com.evolveum.midpoint.xml.ns._public.common.common_3.OwnedObjectSelectorType; @@ -79,6 +80,14 @@ public List getAction() { public AuthorizationPhaseType getPhase() { return authorizationType.getPhase(); } + + public AuthorizationEnforcementStrategyType getEnforcementStrategy() { + return authorizationType.getEnforcementStrategy(); + } + + public boolean maySkipOnSearch() { + return getEnforcementStrategy() == AuthorizationEnforcementStrategyType.MAY_SKIP_ON_SEARCH; + } public List getObject() { return authorizationType.getObject(); diff --git a/repo/security-impl/src/main/java/com/evolveum/midpoint/security/impl/SecurityEnforcerImpl.java b/repo/security-impl/src/main/java/com/evolveum/midpoint/security/impl/SecurityEnforcerImpl.java index 8204134300f..57c508af1d7 100644 --- a/repo/security-impl/src/main/java/com/evolveum/midpoint/security/impl/SecurityEnforcerImpl.java +++ b/repo/security-impl/src/main/java/com/evolveum/midpoint/security/impl/SecurityEnforcerImpl.java @@ -27,6 +27,7 @@ import com.evolveum.midpoint.prism.query.builder.S_AtomicFilterExit; import com.evolveum.midpoint.prism.query.builder.S_FilterEntryOrEmpty; import com.evolveum.midpoint.repo.api.RepositoryService; +import com.evolveum.midpoint.schema.constants.SchemaConstants; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.schema.util.MiscSchemaUtil; import com.evolveum.midpoint.schema.util.ObjectQueryUtil; @@ -278,29 +279,7 @@ private boolean processAuthorizationContainerDelta(Con }); return itemDecision.booleanValue(); } - - private Visitor createItemVisitor(final Collection allowedItems, final MutableBoolean itemDecision) { - return visitable -> { - if (visitable instanceof Item) { - - // TODO: problem with empty containers such as - // orderConstraint in assignment. Skip all - // empty items ... for now. - if (((Item)visitable).isEmpty()) { - return; - } - - ItemPath itemPath = ((Item)visitable).getPath(); - if (itemPath != null && !itemPath.isEmpty()) { - if (!isInList(itemPath, allowedItems)) { - LOGGER.trace(" DENY operation because item {} in the object is not allowed", itemPath); - itemDecision.setValue(false); - } - } - } - }; - } - + private boolean isContainerAllowed(PrismContainerValue cval, Collection allowedItems) { if (cval.isEmpty()) { // TODO: problem with empty containers such as @@ -561,7 +540,7 @@ private boolean matchesRoleRelation(PrismObject object if (BooleanUtils.isTrue(specRoleRelation.isIncludeReferenceRole()) && subjectRoleMembershipRef.getOid().equals(object.getOid())) { return true; } - if (BooleanUtils.isTrue(specRoleRelation.isIncludeMembers())) { + if (!BooleanUtils.isFalse(specRoleRelation.isIncludeMembers())) { if (!object.canRepresent(FocusType.class)) { return false; } @@ -944,6 +923,7 @@ private ObjectFilter preProcessObje SearchFilterType specFilterType = objectSpecType.getFilter(); ObjectReferenceType specOrgRef = objectSpecType.getOrgRef(); OrgRelationObjectSpecificationType specOrgRelation = objectSpecType.getOrgRelation(); + RoleRelationObjectSpecificationType specRoleRelation = objectSpecType.getRoleRelation(); QName specTypeQName = objectSpecType.getType(); PrismObjectDefinition objectDefinition = null; @@ -991,8 +971,8 @@ private ObjectFilter preProcessObje // Special List specSpecial = objectSpecType.getSpecial(); if (specSpecial != null && !specSpecial.isEmpty()) { - if (specFilterType != null || specOrgRef != null || specOrgRelation != null) { - throw new SchemaException("Both filter/org and special object specification specified in authorization"); + if (specFilterType != null || specOrgRef != null || specOrgRelation != null || specRoleRelation != null) { + throw new SchemaException("Both filter/org/role and special object specification specified in authorization"); } ObjectFilter specialFilter = null; for (SpecialObjectSpecificationType special: specSpecial) { @@ -1067,6 +1047,25 @@ private ObjectFilter preProcessObje LOGGER.trace(" orgRelation empty"); } + // roleRelation + if (specRoleRelation != null) { + ObjectFilter objSpecRoleRelationFilter = processRoleRelationFilter(principal, autz, specRoleRelation, origFilter); + if (objSpecRoleRelationFilter == null) { + if (autz.maySkipOnSearch()) { + LOGGER.trace(" not applying roleRelation filter because it is not efficient and maySkipOnSearch is set", objSpecRoleRelationFilter); + applicable = false; + } else { + objSpecRoleRelationFilter = NoneFilter.createNone(); + } + } + if (objSpecRoleRelationFilter != null) { + objSpecSecurityFilter = ObjectQueryUtil.filterAnd(objSpecSecurityFilter, objSpecRoleRelationFilter); + LOGGER.trace(" applying roleRelation filter {}", objSpecRoleRelationFilter); + } + } else { + LOGGER.trace(" roleRelation empty"); + } + if (objSpecTypeFilter != null) { objSpecTypeFilter.setFilter(objSpecSecurityFilter); objSpecSecurityFilter = objSpecTypeFilter; @@ -1075,6 +1074,9 @@ private ObjectFilter preProcessObje traceFilter("objSpecSecurityFilter", objectSpecType, objSpecSecurityFilter); autzObjSecurityFilter = ObjectQueryUtil.filterOr(autzObjSecurityFilter, objSpecSecurityFilter); } + + + } else { LOGGER.trace(" No object specification in authorization (authorization is universaly applicable)"); autzObjSecurityFilter = AllFilter.createAll(); @@ -1156,6 +1158,77 @@ private ObjectFilter preProcessObje } } + /** + * Very rudimentary and experimental implementation. + */ + private ObjectFilter processRoleRelationFilter(MidPointPrincipal principal, Authorization autz, + RoleRelationObjectSpecificationType specRoleRelation, ObjectFilter origFilter) { + ObjectFilter refRoleFilter = null; + if (BooleanUtils.isTrue(specRoleRelation.isIncludeReferenceRole())) { + // This could mean that we will need to add filters for all roles in + // subject's roleMembershipRef. There may be thousands of these. + if (!autz.maySkipOnSearch()) { + throw new UnsupportedOperationException("Inefficient roleRelation search (includeReferenceRole=true) is not supported yet"); + } + } + + ObjectFilter membersFilter = null; + if (!BooleanUtils.isFalse(specRoleRelation.isIncludeMembers())) { + List queryRoleRefs = getRoleOidsFromFilter(origFilter); + if (queryRoleRefs == null || queryRoleRefs.isEmpty()) { + // Cannot find specific role OID in original query. This could mean that we + // will need to add filters for all roles in subject's roleMembershipRef. + // There may be thousands of these. + if (!autz.maySkipOnSearch()) { + throw new UnsupportedOperationException("Inefficient roleRelation search (includeMembers=true without role in the original query) is not supported yet"); + } + } else { + QName subjectRelation = specRoleRelation.getSubjectRelation(); + boolean isRoleOidOk = false; + for (ObjectReferenceType subjectRoleMembershipRef: principal.getUser().getRoleMembershipRef()) { + if (!MiscSchemaUtil.compareRelation(subjectRelation, subjectRoleMembershipRef.getRelation())) { + continue; + } + if (!PrismReferenceValue.containsOid(queryRoleRefs, subjectRoleMembershipRef.getOid())) { + continue; + } + isRoleOidOk = true; + break; + } + if (isRoleOidOk) { + // There is already a good filter in the origFilter + // TODO: mind the objectRelation + membersFilter = AllFilter.createAll(); + } else { + membersFilter = NoneFilter.createNone(); + } + } + } + + return ObjectQueryUtil.filterOr(refRoleFilter, membersFilter); + } + + private List getRoleOidsFromFilter(ObjectFilter origFilter) { + if (origFilter == null) { + return null; + } + if (origFilter instanceof RefFilter) { + ItemPath path = ((RefFilter)origFilter).getPath(); + if (path.equals(SchemaConstants.PATH_ROLE_MEMBERSHIP_REF)) { + return ((RefFilter)origFilter).getValues(); + } + } + if (origFilter instanceof AndFilter) { + for (ObjectFilter condition: ((AndFilter)origFilter).getConditions()) { + List refs = getRoleOidsFromFilter(condition); + if (refs != null && !refs.isEmpty()) { + return refs; + } + } + } + return null; + } + private ObjectFilter applyOwnerFilterOwnerRef(ItemPath ownerRefPath, ObjectFilter objSpecSecurityFilter, MidPointPrincipal principal, PrismObjectDefinition objectDefinition) { PrismReferenceDefinition ownerRefDef = objectDefinition.findReferenceDefinition(ownerRefPath); S_AtomicFilterExit builder = QueryBuilder.queryFor(AbstractRoleType.class, prismContext) From ad555ff7d873af5f104f645e4585e5c1a468eab6 Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Wed, 17 May 2017 15:05:18 +0200 Subject: [PATCH 3/7] Delagator authorizations --- .../xml/ns/public/common/common-core-3.xsd | 13 +++++ .../intest/security/TestSecurityAdvanced.java | 13 +++-- .../src/test/resources/logback-test.xml | 4 +- .../resources/security/role-delegator.xml | 24 +++++++- .../security/impl/SecurityEnforcerImpl.java | 58 +++++++++++++++++++ 5 files changed, 104 insertions(+), 8 deletions(-) diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd index 2c60156303e..12465420e44 100644 --- a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd +++ b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd @@ -8909,6 +8909,19 @@ + + + + The object matches the specification if it has a delegator specified by this element. + The "delegator" means that the object has an active delegation assignment to delegator. + + LIMITATION: only "self" delegator is supported now. + + + 3.6 + + + diff --git a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java index 93ddaf410f5..c057a2efed3 100644 --- a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java +++ b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityAdvanced.java @@ -26,9 +26,7 @@ import org.testng.annotations.Test; import com.evolveum.midpoint.prism.PrismObject; -import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.prism.query.builder.QueryBuilder; -import com.evolveum.midpoint.prism.util.PrismTestUtil; import com.evolveum.midpoint.schema.constants.SchemaConstants; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.task.api.Task; @@ -46,7 +44,6 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType; import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType; -import com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType; import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; /** @@ -181,7 +178,7 @@ public void test110AutzJackPersonaAdmin() throws Exception { @Test public void test120AutzJackDelagator() throws Exception { - final String TEST_NAME = "test350AutzJackDelagator"; + final String TEST_NAME = "test120AutzJackDelagator"; TestUtil.displayTestTile(this, TEST_NAME); // GIVEN cleanupAutzTest(USER_JACK_OID); @@ -219,7 +216,6 @@ public void test120AutzJackDelagator() throws Exception { (task, result) -> { assignDeputy(USER_JACK_OID, USER_BARBOSSA_OID, task, result); }); - // Good direction assertAllow("delegate to Barbossa", @@ -228,12 +224,19 @@ public void test120AutzJackDelagator() throws Exception { }); userJack = getUser(USER_JACK_OID); + display("Jack delegator", userJack); assertAssignments(userJack, 1); userBarbossa = getUser(USER_BARBOSSA_OID); + display("Barbossa delegate", userBarbossa); assertAssignments(userBarbossa, 1); assertAssignedDeputy(userBarbossa, USER_JACK_OID); + // Non-delegate. We should be able to read just the name. Not the assignments. + PrismObject userRum = getUser(userRumRogersOid); + display("User Rum Rogers", userRum); + assertNoAssignments(userRum); + login(USER_BARBOSSA_USERNAME); // WHEN TestUtil.displayWhen(TEST_NAME); diff --git a/model/model-intest/src/test/resources/logback-test.xml b/model/model-intest/src/test/resources/logback-test.xml index 9ac4b7cf0f2..b2f75703ba5 100644 --- a/model/model-intest/src/test/resources/logback-test.xml +++ b/model/model-intest/src/test/resources/logback-test.xml @@ -89,8 +89,8 @@ - - + + diff --git a/model/model-intest/src/test/resources/security/role-delegator.xml b/model/model-intest/src/test/resources/security/role-delegator.xml index ac12c38f000..b6fdddb3d49 100644 --- a/model/model-intest/src/test/resources/security/role-delegator.xml +++ b/model/model-intest/src/test/resources/security/role-delegator.xml @@ -1,5 +1,5 @@ + + + syslog.example.com + LOCAL3 + [%X{subsystem}] [%thread] %level \(%logger\): %msg + + + + + + + + + + + + + From 6e713a78f49e970f77e966c46b345e62ebdf7d89 Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Thu, 18 May 2017 10:37:05 +0200 Subject: [PATCH 7/7] Fixing evaluation of authorizations in clocwork which also fixes TestModelServiceContract --- .../com/evolveum/midpoint/model/impl/lens/Clockwork.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java index 2a3806c4b62..123abfd660f 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java @@ -1147,7 +1147,7 @@ private void authorizeContextRequest(LensContext conte context.setRequestAuthorized(true); result.recordSuccess(); - } catch (SecurityViolationException | SchemaException e) { + } catch (SecurityViolationException | SchemaException | RuntimeException | Error e) { result.recordFatalError(e); throw e; } @@ -1160,7 +1160,10 @@ private ObjectSecurityConstraints a if (primaryDelta != null) { primaryDelta = primaryDelta.clone(); PrismObject object = elementContext.getObjectCurrent(); - if (primaryDelta.isAdd()) { + if (object == null) { + // This may happen when object is being added. + // But also in cases such as assignment of account and modification of + // the same account in one operation object = elementContext.getObjectNew(); } String operationUrl = ModelUtils.getOperationUrlFromDelta(primaryDelta);